ceil-ieee tests: More tests.
[gnulib.git] / ChangeLog
1 2012-02-26  Bruno Haible  <bruno@clisp.org>
2
3         ceil-ieee tests: More tests.
4         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
5         (main): Add tests for [MX] shaded specification in POSIX.
6         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7         (Depends-on): Add isnand-nolibm.
8
9         ceilf-ieee tests: More tests.
10         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
11         (main): Add tests for [MX] shaded specification in POSIX.
12         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
13         (Depends-on): Add isnanf-nolibm.
14
15         floorl-ieee tests: More tests.
16         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
17         (main): Add tests for [MX] shaded specification in POSIX.
18         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
19         (Depends-on): Add isnanl-nolibm.
20
21         floor-ieee tests: More tests.
22         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
23         (main): Add tests for [MX] shaded specification in POSIX.
24         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25         (Depends-on): Add isnand-nolibm.
26
27         floorf-ieee tests: More tests.
28         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
29         (main): Add tests for [MX] shaded specification in POSIX.
30         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
31         (Depends-on): Add isnanf-nolibm.
32
33 2012-02-26  Bruno Haible  <bruno@clisp.org>
34
35         fpieee: More comments.
36         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
37
38 2012-02-25  Bruno Haible  <bruno@clisp.org>
39
40         Tests for module 'log10l'.
41         * modules/log10l-tests: New file.
42         * tests/test-log10l.c: New file.
43         * tests/test-math-c++.cc: Check the declaration of log10l.
44
45         New module 'log10l'.
46         * lib/math.in.h (log10l): New declaration.
47         * lib/log10l.c: New file.
48         * m4/log10l.m4: New file.
49         * modules/log10l: New file.
50         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
51         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
52         HAVE_DECL_LOG10L.
53         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
54         HAVE_DECL_LOG10L.
55         * doc/posix-functions/log10l.texi: Mention the new module.
56
57 2012-02-25  Bruno Haible  <bruno@clisp.org>
58
59         fmodl, remainder*: Avoid wrong results due to rounding errors.
60         * lib/fmodl.c (fmodl): Correct the result if it is not within the
61         expected bounds.
62         * lib/remainderf.c (remainderf): Likewise.
63         * lib/remainder.c (remainder): Likewise.
64         * lib/remainderl.c (remainderl): Likewise.
65
66 2012-02-25  Bruno Haible  <bruno@clisp.org>
67
68         Tests for module 'remainderl'.
69         * modules/remainderl-tests: New file.
70         * tests/test-remainderl.c: New file.
71         * tests/test-math-c++.cc: Check the declaration of remainderl.
72
73         New module 'remainderl'.
74         * lib/math.in.h (remainderl): New declaration.
75         * lib/remainderl.c: New file.
76         * m4/remainderl.m4: New file.
77         * modules/remainderl: New file.
78         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
79         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
80         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
81         HAVE_REMAINDERL.
82         * doc/posix-functions/remainderl.texi: Mention the new module.
83
84 2012-02-25  Bruno Haible  <bruno@clisp.org>
85
86         Tests for module 'remainderf'.
87         * modules/remainderf-tests: New file.
88         * tests/test-remainderf.c: New file.
89         * tests/test-math-c++.cc: Check the declaration of remainderf.
90
91         New module 'remainderf'.
92         * lib/math.in.h (remainderf): New declaration.
93         * lib/remainderf.c: New file.
94         * m4/remainderf.m4: New file.
95         * modules/remainderf: New file.
96         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
97         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
98         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
99         HAVE_REMAINDERF.
100         * doc/posix-functions/remainderf.texi: Mention the new module.
101
102 2012-02-25  Bruno Haible  <bruno@clisp.org>
103
104         remainder: Support for MSVC.
105         * lib/math.in.h (remainder): New declaration.
106         * lib/remainder.c: New file.
107         * m4/remainder.m4: New file.
108         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
109         (Depends-on): Add math, round, fma.
110         (configure.ac): Use results of gl_FUNC_REMAINDER.
111         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
112         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
113         HAVE_DECL_REMAINDER.
114         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
115         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
116         * tests/test-math-c++.cc: Check the declaration of remainder.
117         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
118         problems are fixed.
119
120 2012-02-25  Bruno Haible  <bruno@clisp.org>
121
122         Tests for module 'fmodl'.
123         * modules/fmodl-tests: New file.
124         * tests/test-fmodl.c: New file.
125         * tests/test-math-c++.cc: Check the declaration of fmodl.
126
127         New module 'fmodl'.
128         * lib/math.in.h (fmodl): New declaration.
129         * lib/fmodl.c: New file.
130         * m4/fmodl.m4: New file.
131         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
132         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
133         REPLACE_FMODL.
134         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
135         REPLACE_FMODL.
136         * modules/fmodl: New file.
137         * doc/posix-functions/fmodl.texi: Mention the new module.
138
139 2012-02-25  Bruno Haible  <bruno@clisp.org>
140
141         Tests for module 'modfl'.
142         * modules/modfl-tests: New file.
143         * tests/test-modfl.c: New file.
144         * tests/test-math-c++.cc: Check the declaration of modfl.
145
146         New module 'modfl'.
147         * lib/math.in.h (modfl): New declaration.
148         * lib/modfl.c: New file.
149         * m4/modfl.m4: New file.
150         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
151         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
152         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
153         * modules/modfl: New file.
154         * doc/posix-functions/modfl.texi: Mention the new module.
155
156 2012-02-25  Bruno Haible  <bruno@clisp.org>
157
158         Tests for module 'fabsl'.
159         * modules/fabsl-tests: New file.
160         * tests/test-fabsl.c: New file.
161         * tests/test-math-c++.cc: Check the declaration of fabsl.
162
163         New module 'fabsl'.
164         * lib/math.in.h (fabsl): New declaration.
165         * lib/fabsl.c: New file.
166         * m4/fabsl.m4: New file.
167         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
168         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
169         REPLACE_FABSL.
170         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
171         REPLACE_FABSL.
172         * modules/fabsl: New file.
173         * doc/posix-functions/fabsl.texi: Mention the new module.
174
175 2012-02-25  Bruno Haible  <bruno@clisp.org>
176
177         fabs tests: More tests.
178         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
179         (zero): New variable.
180         (main): Add tests for signed zero.
181         * modules/fabs-tests (Files): Add tests/minus-zero.h.
182
183         fabsf tests: More tests.
184         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
185         (zero): New variable.
186         (main): Add tests for signed zero.
187         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
188
189 2012-02-24  Bruno Haible  <bruno@clisp.org>
190
191         atanl: Provide function definition on MSVC.
192         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
193         function pointer.
194         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
195
196 2012-02-24  Bruno Haible  <bruno@clisp.org>
197
198         acosl: Provide function definition on MSVC.
199         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
200         function pointer.
201         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
202
203 2012-02-24  Bruno Haible  <bruno@clisp.org>
204
205         asinl: Provide function definition on MSVC.
206         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
207         function pointer.
208         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
209
210 2012-02-24  Bruno Haible  <bruno@clisp.org>
211
212         tanl: Provide function definition on MSVC.
213         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
214         function pointer.
215         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
216
217 2012-02-24  Bruno Haible  <bruno@clisp.org>
218
219         cosl: Provide function definition on MSVC.
220         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
221         function pointer.
222         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
223
224 2012-02-24  Bruno Haible  <bruno@clisp.org>
225
226         sinl: Provide function definition on MSVC.
227         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
228         function pointer.
229         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
230
231 2012-02-24  Bruno Haible  <bruno@clisp.org>
232
233         logl: Provide function definition on MSVC.
234         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
235         function pointer.
236         * lib/math.in.h (logl): Undefine if it does not exist as a function.
237
238 2012-02-24  Bruno Haible  <bruno@clisp.org>
239
240         expl: Provide function definition on MSVC.
241         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
242         function pointer.
243         * lib/math.in.h (expl): Undefine if it does not exist as a function.
244
245 2012-02-24  Bruno Haible  <bruno@clisp.org>
246
247         sqrtl: Provide function definition on MSVC.
248         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
249         a function pointer.
250         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
251
252 2012-02-24  Bruno Haible  <bruno@clisp.org>
253
254         ceill: Provide function definition on MSVC.
255         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
256         used as a function pointer.
257         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
258
259 2012-02-24  Bruno Haible  <bruno@clisp.org>
260
261         floorl: Provide function definition on MSVC.
262         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
263         used as a function pointer.
264         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
265
266 2012-02-24  Bruno Haible  <bruno@clisp.org>
267
268         ceilf: Provide function definition on MSVC.
269         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
270         used as a function pointer.
271         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
272
273 2012-02-24  Bruno Haible  <bruno@clisp.org>
274
275         floorf: Provide function definition on MSVC.
276         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
277         used as a function pointer.
278         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
279
280 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
281
282         stdnoreturn: new module
283         This implements a replacement for C11's <stdnoreturn.h>.
284         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
285         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
286         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
287         * tests/test-stdnoreturn.c: New files.
288
289 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
290
291         regex: fix false multibyte matches in some regular expressions
292         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
293         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
294         * lib/regex_internal.c (re_string_skip_chars):
295         Fix miscomputation of remain_len that may cause incomplete
296         multi-byte character and false match.
297
298 2012-02-24  Jim Meyering  <meyering@redhat.com>
299
300         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
301         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
302         uses with "==" *before* the call, e.g., 0 == strcmp (...)
303         Remove now-unnecessary str''cmp obfuscation.
304         Suggested by Akim Demaille.
305
306 2012-02-24  Bruno Haible  <bruno@clisp.org>
307
308         streq: Rename macro.
309         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
310         * NEWS: Mention the change.
311         * lib/mbrtowc.c (mbrtowc): Update.
312         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
313         * lib/wcwidth.c (wcwidth): Update.
314         Suggested by Akim Demaille and Jim Meyering.
315
316 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
317
318         regex: fix typo in definition of MIN
319         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
320         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
321
322 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
323             Bruno Haible  <bruno@clisp.org>
324
325         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
326         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
327         entries into a stack-allocated buffer directly.
328         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
329
330 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
331             Bruno Haible  <bruno@clisp.org>
332
333         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
334
335          - There were several instances of this pattern:
336
337              for (;;) {
338                n = acl (f, GETACLCNT, 0, NULL);
339                [ allocate an array A of size N ]
340                if (acl (f, GETACL, n, a) == n)
341                  break;
342              }
343
344            This loop might never terminate if some other process is constantly
345            manipulating the file's ACL.  The loop should be rewritten to
346            terminate.
347
348          - The acl (... GETACLNT ...) call is merely an optimization; its value
349            is merely a hint as to how big to make the array.  A better
350            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
351            and just guess a reasonably-big size, growing the size and trying
352            again if it's not large enough.  This guarantees termination, and
353            saves a system call.
354
355         * lib/acl-internal.h: Include <limits.h>.
356         (MIN, SIZE_MAX): New macros.
357         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
358         a stack-allocated buffer, and use malloc if it does not fit. Don't
359         use GETACLCNT.
360         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
361
362 2012-02-19  Bruno Haible  <bruno@clisp.org>
363
364         acl: Fix endless loop on Solaris with vxfs.
365         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
366         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
367         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
368         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
369         * tests/test-sameacls.c (main)[Solaris]: Likewise.
370         Reported by Bill Jones in
371         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
372
373 2012-02-19  Bruno Haible  <bruno@clisp.org>
374
375         acl: Fix copy-acl test failure on Solaris 11 2011-11.
376         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
377         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
378         that this function returns 0 in some more cases.
379
380 2012-02-19  Bruno Haible  <bruno@clisp.org>
381
382         acl: Update doc references.
383         * doc/acl-resources.txt: Update links to Solaris documentation.
384
385 2012-02-19  Bruno Haible  <bruno@clisp.org>
386
387         Fix test failure in many locales on Solaris 11.
388         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
389         'tr' arguments.
390         * tests/test-pipe-filter-ii1.c (main): Likewise.
391         * build-aux/bootstrap (check_versions): Run 'tr' command with range
392         expressions in the C locale.
393         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
394         * m4/host-os.m4 (gl_HOST_OS): Likewise.
395
396 2012-02-19  Bruno Haible  <bruno@clisp.org>
397
398         gnulib-tool: Improve usage message.
399         * gnulib-tool (func_usage): Move doc of --help and --version to the
400         section "Operation modes".
401
402 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
403
404         README-release: make it easier to execute commands
405         * top/README-release: break commands out on to separate lines.
406
407 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
408
409         GNUmakefile: simplify detection of unconfigured trees
410         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
411         whether the tree make is being run from is already configured or
412         not.  Related simplifications.
413
414 2012-02-13  Simon Josefsson  <simon@josefsson.org>
415
416         * gnulib-tool (func_usage): Document --help and --version.
417
418 2012-02-11  Jim Meyering  <meyering@redhat.com>
419
420         bootstrap: don't exit 0 upon gnulib-tool failure
421         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
422         its exit status, not 0.
423
424 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
425
426         README-release: various improvements
427         * top/README-release: Give a command to push changes for the
428         release.  Add "distcheck" to list of other pre-release checks.
429         Fix instance of "make stable" which should be "make TYPE".
430
431 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
432
433         maint: replace FSF snail-mail addresses with URLs
434         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
435         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
436         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
437         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
438         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
439         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
440         * lib/check-version.c, lib/check-version.h, lib/config.charset:
441         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
442         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
443         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
444         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
445         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
446         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
447         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
448         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
449         * lib/glthread/thread.c, lib/glthread/thread.h:
450         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
451         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
452         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
453         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
454         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
455         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
456         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
457         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
458         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
459         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
460         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
461         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
462         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
463         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
464         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
465         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
466         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
467         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
468         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
469         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
470         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
471         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
472         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
473         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
474         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
475         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
476         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
477         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
478         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
479         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
480         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
481         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
482         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
483         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
484         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
485         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
486         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
487         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
488         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
489         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
490         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
491         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
492         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
493         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
494         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
495         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
496         * tests/test-poll.c, tests/test-quotearg-simple.c:
497         * tests/test-quotearg.c, tests/test-quotearg.h:
498         * tests/test-round-ieee.c, tests/test-round1.c:
499         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
500         * tests/test-roundl-ieee.c, tests/test-roundl.c:
501         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
502         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
503         * tests/test-strerror.c, tests/test-strerror_r.c:
504         * tests/test-strsignal.c, tests/test-strverscmp.c:
505         * tests/test-xmemdup0.c:
506         Replace FSF snail mail addresses with URLs, as per GNU coding
507         standards.  See glibc bug
508         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
509
510 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
511
512         README-release: capitalize a word and split a line
513         * top/README-release: Fix punctuation and spacing.
514
515 2012-02-08  Akim Demaille  <demaille@gostai.com>
516
517         fatal-signal: use C prototypes (with explicit void).
518         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
519         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
520
521 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
522
523         regex: spelling fix
524         * lib/regexec.c: spelling fix
525
526         regex: rely on stdint.h for SIZE_MAX
527         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
528
529 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
530
531         regex: merge glibc changes
532
533         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
534         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
535         (init_word_char): Work even if bitset words are not exactly 32 or
536         64 bits wide.  Don't assume there are no padding bits.
537         * lib/regex.c [_LIBC]: Do not include <config.h>.
538         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
539         and -Wtype-limits.
540         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
541         needless disagreement with glibc.  All uses changed.  Define it to
542         1 only if _GNU_SOURCE, to match glibc.
543         (_REG_RM_NAME): Remove; no longer needed, since the names in
544         question are now all protected by __USE_GNU.
545         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
546         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
547         * lib/regex_internal.h (MIN): New macro.
548
549         2012-01-03 Ulrich Drepper <drepper@gmail.com>
550         * lib/regcomp.c (init_word_char): Optimize regex a bit.
551
552         2011-12-30 Jakub Jelinek <jakub@redhat.com>
553         * lib/regex_internal.c (re_string_fetch_byte_case):
554         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
555         is miscompiled, and it turns out it is because of an incorrect
556         attribute on re_string_fetch_byte_case.  Unlike
557         re_string_peek_byte_case, this one is really not pure, it modifies
558         memory (increments pstr->cur_idx), and with the pure attribute GCC
559         assumed it doesn't and it cached the presumed value of
560         regexp->cur_idx in a variable across the
561          for (;; ++i)
562            {
563              if (i >= BRACKET_NAME_BUF_SIZE)
564                return REG_EBRACK;
565              if (token->type == OP_OPEN_CHAR_CLASS)
566                ch = re_string_fetch_byte_case (regexp);
567              else
568                ch = re_string_fetch_byte (regexp);
569              if (re_string_eoi(regexp))
570                return REG_EBRACK;
571              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
572                break;
573              elem->opr.name[i] = ch;
574            }
575
576         2011-11-29 Andreas Schwab <schwab@redhat.com>
577         * lib/regcomp.c (build_equiv_class):
578         Fix access after end of search string in regex matcher.
579
580         2011-11-12 Ulrich Drepper <drepper@redhat.com>
581         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
582
583         2011-10-12 Ulrich Drepper <drepper@redhat.com>
584         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
585
586         2011-10-11 Ulrich Drepper <drepper@redhat.com>
587         * lib/regcomp.c (parse_branch, parse_sub_exp):
588         More regex memory leak fixes and tests.
589         (parse_sub_exp, parse_bracket_exp):
590         Fix memory leak for some invalid regular expressions.
591
592         2011-05-28 Ulrich Drepper <drepper@gmail.com>
593         * lib/regex_internal.c, lib/regexec.c:
594         Fix unnecessary overallocation due to incomplete character.  When
595         incomplete characters are found at the end of a string the code
596         ran amok and allocated lots of memory.  Stricter limits are now in
597         place.
598
599         2011-05-20 Reuben Thomas <rrt@sc3d.org>
600         * lib/regex.h: Update documentation.
601
602         2011-05-16 Aharon Robbins <arnold@skeeve.com>
603         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
604
605         2010-05-05 Andreas Schwab <schwab@redhat.com>
606         * lib/regexec.c (find_collation_sequence_value):
607         Fix lookup of collation sequence value during regexp matching.
608
609         2010-01-22 Ulrich Drepper <drepper@redhat.com>
610         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
611
612         2008-01-16 Ulrich Drepper <drepper@redhat.com>
613         * lib/regex.h: Cleanup namespace.
614
615         2007-11-26 Ulrich Drepper <drepper@redhat.com>
616         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
617
618         2007-08-26 Ulrich Drepper <drepper@redhat.com>
619         * lib/regex_internal.h: Prevent some declarations and definitions
620         to be seen when used in tests.
621
622         2005-05-06 Ulrich Drepper <drepper@redhat.com>
623         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
624         __libc_lock_* macros if not _LIBC.
625         (struct re_dfa_t): Add lock.
626
627 2012-02-07  Eric Blake  <eblake@redhat.com>
628
629         maint.mk: also prohibit lower-case @var@
630         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
631         lower case, like @top_srcdir@.
632
633 2012-02-04  Eric Blake  <eblake@redhat.com>
634
635         canonicalize: avoid uninitialized memory use
636         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
637         random '/' left in dest.
638         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
639
640 2012-02-04  Bruno Haible  <bruno@clisp.org>
641
642         isatty: Fix test failure of ptsname_r on native Windows.
643         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
644         and don't set errno.
645         (isatty): Test first whether fd is valid. Set errno when returning 0.
646
647 2012-02-04  Bruno Haible  <bruno@clisp.org>
648
649         spawn-pipe tests: Fix a NULL program name in a diagnostic.
650         * tests/test-spawn-pipe-main.c: Include progname.h.
651         (main): Invoke set_program_name.
652         * modules/spawn-pipe-tests (Depends-on): Add progname.
653
654         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
655         * tests/test-nonblocking-socket-main.c: Include progname.h.
656         (main): Invoke set_program_name.
657         * modules/nonblocking-socket-tests (Depends-on): Add progname.
658
659         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
660         * tests/test-nonblocking-pipe-main.c: Include progname.h.
661         (main): Invoke set_program_name.
662         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
663
664 2012-02-04  Eric Blake  <eblake@redhat.com>
665
666         canonicalize-lgpl: fix // handling
667         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
668
669         canonicalize: fix // handling
670         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
671         /// to //, since only // is special.
672
673 2012-02-04  Bruno Haible  <bruno@clisp.org>
674
675         ioctl: Fix test failure on native Windows.
676         * lib/ioctl.c: Include msvc-nothrow.h.
677         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
678
679 2012-02-04  Bruno Haible  <bruno@clisp.org>
680
681         fsync: Avoid test failure on native Windows.
682         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
683         read-only.
684
685 2012-02-04  Bruno Haible  <bruno@clisp.org>
686
687         sys_select: Avoid syntax error on OpenBSD 5.0.
688         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
689         currently being included, just include the system's <sys/select.h>.
690
691 2012-02-04  Bruno Haible  <bruno@clisp.org>
692
693         sys_select: Avoid syntax error on OpenBSD 5.0.
694         * lib/sys_select.in.h: Include <signal.h> only after the include_next
695         <sys/select.h>, not before.
696         Reported by Jiri B <jirib@devio.us>.
697
698 2012-02-04  Bruno Haible  <bruno@clisp.org>
699
700         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
701         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
702         global variables.
703         * tests/test-get-rusage-data.c (main): Likewise.
704         Reported by Jim Meyering.
705
706 2012-02-04  Bruno Haible  <bruno@clisp.org>
707
708         stdioext: Fix last commit.
709         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
710
711 2012-02-03  Bruno Haible  <bruno@clisp.org>
712
713         stdioext: Add tentative support for Plan9.
714         * lib/stdio-impl.h: Include <errno.h>.
715         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
716         * lib/freadable.c (freadable): Likewise.
717         * lib/fwritable.c (fwritable): Likewise.
718         * lib/fbufmode.c (fbufmode): Likewise.
719         * lib/freading.c (freading): Likewise.
720         * lib/fwriting.c (fwriting): Likewise.
721         * lib/freadptr.c (freadptr): Likewise.
722         * lib/freadseek.c (freadptrinc): Likewise.
723         * lib/freadahead.c (freadahead): Likewise.
724         * lib/fpurge.c (fpurge): Likewise.
725         * lib/fseeko.c (rpl_fseeko): Likewise.
726         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
727         Reported by Jens Staal <staal1978@gmail.com>.
728
729 2012-02-02  Jim Meyering  <meyering@redhat.com>
730
731         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
732         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
733         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
734         not even to try to add the attribute.  Instead, add a pragma to suppress
735         the suggestion/warning.
736
737 2012-01-31  Karl Berry  <karl@gnu.org>
738
739         setstate doc: typo.
740         * doc/posix-functions/setstate.texi (setstate): { not (.
741
742 2012-01-31  Bruno Haible  <bruno@clisp.org>
743
744         popen: Make more robust on Windows.
745         * lib/popen.c: On native Windows, use the _popen based code even if
746         HAVE_POPEN is set.
747         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
748         environment variable on native Windows.
749
750 2012-01-30  Bruno Haible  <bruno@clisp.org>
751
752         pclose: Fix typo.
753         * lib/stdio.in.h (pclose): Fix typo in warning message.
754
755 2012-01-30  Bruno Haible  <bruno@clisp.org>
756
757         doc about getlogin_r, setstate.
758         * doc/posix-functions/getlogin_r.texi: List the incompatible
759         declaration problem under "not fixed by gnulib".
760         * doc/posix-functions/setstate.texi: Mention incompatible declaration
761         problem on Solaris 11 and other platforms.
762
763 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
764             Bruno Haible  <bruno@clisp.org>
765
766         poll tests: Make test more robust.
767         * tests/test-poll.c: Include macros.h.
768         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
769         return value of various I/O operations.
770         * modules/poll-tests (Files): Add tests/macros.h.
771
772 2012-01-30  Bruno Haible  <bruno@clisp.org>
773
774         sys_stat: Fix support for mingw64 and MSVC.
775         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
776         header files already do it.
777         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
778         stat itself.
779         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
780
781 2012-01-30  Bruno Haible  <bruno@clisp.org>
782
783         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
784         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
785         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
786
787 2012-01-29  Bruno Haible  <bruno@clisp.org>
788
789         quotearg: Fix test failure on MacOS X 10.5.
790         * tests/test-quotearg-simple.c: Include localcharset.h.
791         (main): If the locale encoding is not ASCII, bypass the tests of
792         locale_quoting_style and clocale_quoting_style.
793         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
794
795 2012-01-29  Jim Meyering  <meyering@redhat.com>
796
797         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
798         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
799         detect uses of canonicalize_file_name.
800
801 2012-01-28  Bruno Haible  <bruno@clisp.org>
802
803         test-framework-sh: Fix test failure with AIX 7.1 diff.
804         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
805         in column 1, like 'diff -c' does.
806         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
807         whether 'diff -u' is used. Instead, test whether the output contains
808         some '@' character.
809
810 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
811
812         strtoimax: eliminate need for stdint.h, inttypes.h checks
813         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
814         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
815         the prerequisites for a recently-introduced strtoimax test.
816         I guess this might cause strtoimax to be replaced when not
817         strictly necessary on older hosts, but this shouldn't introduce
818         any bugs and it should make Emacs 'configure' faster on typical
819         modern hosts.  Problem discovered when importing the latest gnulib
820         to an Emacs test version.
821         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
822
823 2012-01-28  Bruno Haible  <bruno@clisp.org>
824
825         sys_time: Override 'struct timeval' on some native Windows platforms.
826         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
827         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
828         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
829         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
830         needs to be overridden.
831         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
832         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
833         * tests/test-sys_select.c: Check that the tv_sec member has the same
834         size as a 'time_t'.
835         * tests/test-sys_time.c: Likewise.
836         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
837         is set, set also REPLACE_GETTIMEOFDAY.
838         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
839         convert the resulting 'struct timeval' before returning.
840         * lib/select.c: Include <sys/time.h>.
841         (select, timeval): Undefine at the right place.
842         * modules/select (Depends-on): Add sys_time.
843         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
844         some Windows platforms.
845         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
846
847 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
848
849         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
850         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
851         an integer.
852         * lib/fcntl.c (dupfd): Likewise.
853         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
854
855 2012-01-28  Bruno Haible  <bruno@clisp.org>
856
857         fcntl: Avoid compilation error on native Windows.
858         * modules/fcntl (Depends-on): Add 'close'.
859
860 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
861
862         select, poll, isatty: Avoid warnings on x86_64 mingw64.
863         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
864         pointer to an integer.
865         * lib/poll.c (IsConsoleHandle): Likewise.
866         * lib/isatty.c (IsConsoleHandle): Likewise.
867
868 2012-01-28  Jim Meyering  <meyering@redhat.com>
869
870         doc: clarify README-release
871         * top/README-release: Clarify: you should make a point to have
872         the latest stable versions of build tools in your PATH, and the
873         reference to buildreq is solely for its list of tool names, not
874         for its minimal-functional version numbers.
875         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
876
877         maint.mk: use more readable (yet functionally equivalent) quoting
878         It is common to quote a single quote in a single quoted string like
879         this:  '...'\''...'.  Unless you know the idiom, that looks like
880         gibberish, so prefer to double-quote the string when possible.
881         Then you can use a more readable, lone single quote: "...'..."
882         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
883         "don't" is more readable than the equivalent 'don'\''t'.
884         (sc_cast_of_x_alloc_return_value): Likewise.
885         (sc_cast_of_alloca_return_value): Likewise.
886         (sc_makefile_path_separator_check): Similar: use ":" in '...',
887         rather than '\'':'\''.
888
889 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
890
891         stdalign: relax _Alignof and tighten _Alignas test
892         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
893         as it was too strict: alignof must divide offsetof, but it need
894         not equal offsetof.  Inspired by Joseph S. Myers's comment
895         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
896         Conversely, tighten the _Alignas test a bit, as the resulting
897         alignment must be exactly 8.
898
899 2012-01-27  Bruno Haible  <bruno@clisp.org>
900
901         stdalign: Document the last change.
902         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
903
904 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
905
906         stdalign: check that alignof and offsetof are consistent
907         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
908         Problem reported for gnulib by Richard W.M. Jones in
909         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
910
911 2012-01-27  Jim Meyering  <meyering@redhat.com>
912
913         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
914         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
915         convert a sequence with gaps to the minimal containing range.
916         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
917         * tests/test-update-copyright.sh: Test for this.
918         The FSF confirmed it is ok to do this, assuming there is at
919         least one significant change per year in the affected range:
920         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
921
922 2012-01-26  Bruno Haible  <bruno@clisp.org>
923
924         pipe2: refine doc about thread-safety
925         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
926         multithread-safety problem.
927         * doc/glibc-functions/accept4.texi: Likewise.
928
929 2012-01-26  Bruno Haible  <bruno@clisp.org>
930
931         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
932         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
933         In the test program, include <fcntl.h>, for O_RDONLY.
934
935 2012-01-26  Eric Blake  <eblake@redhat.com>
936
937         pipe2: document lack of thread-safety in replacement
938         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
939         issue in replacement.
940         * doc/glibc-functions/accept4.texi (accept4): Likewise.
941         Based on a report by Eric Wong.
942
943 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
944             Bruno Haible  <bruno@clisp.org>
945
946         malloca: Avoid warnings on x86_64 mingw64.
947         * lib/malloca.c: Include <stdint.h>.
948         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
949         * modules/malloca (Depends-on): Add stdint.
950         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
951
952 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
953
954         obstack: remove __STDC__ conditionals
955         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
956         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
957         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
958         m4/include_next.m4 as the only gnulib-maintained places that still
959         refer to __STDC__.
960
961 2012-01-24  Bruno Haible  <bruno@clisp.org>
962
963         havelib: Modern quoting.
964         * build-aux/config.rpath: Quote 'like this', not `like this', as per
965         the recent change to the GNU coding standards.
966
967 2012-01-24  Bruno Haible  <bruno@clisp.org>
968
969         stdint: Improve support for Android.
970         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
971         Reported by Simon Josefsson <simon@josefsson.org>.
972
973 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
974
975         doc: omit trailing empty lines from INSTALL etc.
976         * doc/Makefile (INSTALL): Omit trailing empty lines.
977         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
978         omit trailing empty lines.  This simplifies the build procedure.
979
980 2012-01-23  Jim Meyering  <meyering@redhat.com>
981
982         tests: avoid spurious warnings about gl_sockets_startup
983         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
984         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
985         reporting a "statement with no effect".
986         * tests/test-accept.c (main): Mark as "(void)".
987         * tests/test-accept4.c (main): Likewise.
988         * tests/test-bind.c (main): Likewise.
989         * tests/test-connect.c (main): Likewise.
990         * tests/test-getpeername.c (main): Likewise.
991         * tests/test-getsockname.c (main): Likewise.
992         * tests/test-getsockopt.c (main): Likewise.
993         * tests/test-listen.c (main): Likewise.
994         * tests/test-recv.c (main): Likewise.
995         * tests/test-recvfrom.c (main): Likewise.
996         * tests/test-send.c (main): Likewise.
997         * tests/test-sendto.c (main): Likewise.
998         * tests/test-setsockopt.c (main): Likewise.
999         * tests/test-shutdown.c (main): Likewise.
1000
1001 2012-01-21  Bruno Haible  <bruno@clisp.org>
1002
1003         locale-fr.m4: Fix for Android.
1004         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
1005         failure of the test program on Bionic libc.
1006
1007 2012-01-21  Jim Meyering  <meyering@redhat.com>
1008
1009         bootstrap: fail when bootstrap_post_import_hook fails
1010         Otherwise, it's far too easy to miss diagnostics emitted
1011         between gnulib-tool's output and that of running configure.
1012         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
1013
1014 2012-01-17  Jim Meyering  <meyering@redhat.com>
1015
1016         maint: enable sc_trailing_blank
1017         * build-aux/pmccabe.css: Remove trailing blanks.
1018         * doc/acl-cygwin.txt: Likewise.
1019         * doc/gnu-oids.texi: Likewise
1020         * cfg.mk: Enable sc_trailing_blank.
1021         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
1022
1023 2012-01-17  Jim Meyering  <meyering@redhat.com>
1024
1025         maint: enable sc_prohibit_openat_without_use
1026         * cfg.mk: Enable sc_prohibit_openat_without_use.
1027         Exempt lib/selinux-at.c.
1028
1029 2012-01-17  Jim Meyering  <meyering@redhat.com>
1030
1031         maint: enable sc_prohibit_cloexec_without_use
1032         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
1033         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
1034
1035 2012-01-17  Jim Meyering  <meyering@redhat.com>
1036
1037         maint: enable sc_prohibit_intprops_without_use
1038         * cfg.mk: Enable sc_prohibit_intprops_without_use
1039         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
1040
1041 2012-01-17  Jim Meyering  <meyering@redhat.com>
1042
1043         maint: enable sc_prohibit_hash_pjw_without_use
1044         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
1045         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
1046         to match any use of \<hash_pjw\>, i.e., not necessarily with a
1047         following " (".
1048
1049 2012-01-17  Jim Meyering  <meyering@redhat.com>
1050
1051         maint: enable double-word-prohibiting rule
1052         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
1053         Exempt three files.
1054
1055 2012-01-17  Jim Meyering  <meyering@redhat.com>
1056
1057         maint: remove empty lines at EOF, but excluding modules/*
1058         Apply syntax rules at home as well as abroad.  Most changes
1059         were induced by running this:
1060           make srcdir=. _build-aux=build-aux -f top/maint.mk \
1061             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
1062             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
1063         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
1064         Exempt modules/* and two binary files.
1065         Also exempt doc/INSTALL*, per request from Bruno Haible.
1066         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
1067         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
1068         * doc/Copyright/request-assign.future: Likewise.
1069         * doc/Copyright/request-disclaim.changes: Likewise.
1070         * doc/INSTALL: Likewise.
1071         * doc/INSTALL.ISO: Likewise.
1072         * doc/INSTALL.UTF-8: Likewise.
1073         * doc/acl-cygwin.txt: Likewise.
1074         * doc/acl-resources.txt: Likewise.
1075         * doc/fdl-1.2.texi: Likewise.
1076         * doc/fdl-1.3.texi: Likewise.
1077         * doc/fdl.texi: Likewise.
1078         * lib/argp-pin.c: Likewise.
1079         * lib/round.c: Likewise.
1080         * lib/unicase/u16-totitle.c: Likewise.
1081         * lib/unictype/block_test.c: Likewise.
1082         * lib/uninorm/canonical-decomposition.c: Likewise.
1083         * m4/README: Likewise.
1084         * m4/relocatable-lib.m4: Likewise.
1085         * tests/test-isnand-nolibm.c: Likewise.
1086         * tests/test-isnand.c: Likewise.
1087         * tests/uninorm/NormalizationTest.txt: Likewise.
1088
1089 2012-01-17  Jim Meyering  <meyering@redhat.com>
1090
1091         maint: add framework to run syntax-check rules against gnulib sources
1092         * cfg.mk: New file, to disable all currently-failing tests.
1093         We'll enable them one by one, as they are made to pass.
1094         * Makefile (sc_maint): New rule.
1095
1096 2012-01-21  Bruno Haible  <bruno@clisp.org>
1097
1098         stdint: Add support for Android.
1099         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
1100         include the system's <stdint.h>.
1101         Reported by Simon Josefsson <simon@josefsson.org>.
1102
1103 2012-01-19  Jim Meyering  <meyering@redhat.com>
1104
1105         bootstrap: add bootstrap_post_import_hook
1106         Bison does still need something like the gnulib_mk_hook whose
1107         invocation I had to remove along with slurp in commit 767ccd40.
1108         Technically, we could get along without it, but doing so would
1109         have required living with a warning and a mandatory post-bootstrap
1110         automake rerun.
1111         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
1112         (bootstrap_post_import_hook): New function.
1113         Invoke it after gnulib-tool --import and before autoreconf.
1114
1115 2012-01-18  Jim Meyering  <meyering@redhat.com>
1116
1117         gitlog-to-changelog: don't use "no_"-prefixed variable name
1118         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
1119         to enable both --cluster and --no-cluster.  Change variable name,
1120         s/\$no_cluster/$cluster/, and reverse usage to match.
1121
1122         gitlog-to-changelog: use "||", not "or" in expressions
1123         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
1124         expressions.
1125
1126 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
1127
1128         gitlog-to-changelog: new option --no-cluster
1129         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
1130         clustering of adjacent commit messages.
1131
1132 2012-01-17  Jim Meyering  <meyering@redhat.com>
1133
1134         maint: spell file systems with two words, not one
1135         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
1136         two words, not one.
1137
1138 2012-01-16  Jim Meyering  <meyering@redhat.com>
1139
1140         bootstrap: add a FIXME comment to ensure we eventually remove the hack
1141         * build-aux/bootstrap (gnulib_tool_options): Add comment.
1142
1143 2012-01-16  Eric Blake  <eblake@redhat.com>
1144
1145         bootstrap: cater to autoconf 2.59
1146         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
1147         is not available.
1148
1149         bootstrap: properly check for libtool
1150         * build-aux/bootstrap (libtoolize): Also run libtool when older
1151         usage is detected.
1152
1153 2012-01-15  Bruno Haible  <bruno@clisp.org>
1154
1155         Improve support for MSVC 9.
1156         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
1157         clashes on MSVC.
1158         * lib/fcntl.in.h: Likewise.
1159         * lib/stdlib.in.h: Likewise.
1160         * lib/sys_stat.in.h: Likewise.
1161
1162 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
1163
1164         gnupload: we hold the master copy of this script now
1165         For motivation and more information, see:
1166         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
1167         * build-aux/gnupload: Make it clear in the heading comments that the
1168         master copy of this file is maintained by gnulib.  Since we are at
1169         it, bump its copyright year and ...
1170         ($scriptversion): ... the date in its version.
1171         ($usage): Patches and bug reports should be sent to the gnulib list,
1172         not the automake one.
1173         * config/srclist.txt: Don't try to sync 'gnupload' from automake
1174         anymore.
1175
1176 2012-01-15  Bruno Haible  <bruno@clisp.org>
1177
1178         Fix module 'random'.
1179         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
1180         initstate, setstate are declared.
1181
1182 2012-01-14  Bruno Haible  <bruno@clisp.org>
1183
1184         Tests for module 'random'.
1185         * modules/random-tests: New file.
1186         * tests/test-random.c: New file, based on tests/test-random_r.c.
1187
1188         New module 'random'.
1189         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
1190         declarations.
1191         * lib/random.c: New file, based on glibc/stdlib/random.c.
1192         * m4/random.m4: New file.
1193         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
1194         HAVE_RANDOM.
1195         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
1196         * modules/random: New file.
1197         * config/srclist.txt: Add an entry for random.c.
1198         * doc/posix-functions/random.texi: Mention the 'random' module.
1199         * doc/posix-functions/initstate.texi: Likewise.
1200         * doc/posix-functions/setstate.texi: Likewise.
1201         * doc/posix-functions/srandom.texi: Likewise.
1202
1203 2012-01-12  Bruno Haible  <bruno@clisp.org>
1204
1205         random_r: Use common idioms.
1206         * lib/random_r.c: Include <stdlib.h> first.
1207
1208         random_r: Override incompatible API on AIX, OSF/1.
1209         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
1210         Override the system function if REPLACE_RANDOM_R is 1.
1211         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
1212         and OSF/1, set REPLACE_RANDOM_R.
1213         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
1214         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
1215         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
1216         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
1217         * doc/glibc-functions/random_r.texi: Likewise.
1218         * doc/glibc-functions/setstate_r.texi: Likewise.
1219
1220         random_r: Support for MSVC 9.
1221         * lib/random_r.c: Include stdint.h, not inttypes.h.
1222
1223 2012-01-12  Eric Blake  <eblake@redhat.com>
1224
1225         inet_ntop: guard extra work by IF_LINT
1226         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
1227         better code generation when not checking for warnings.
1228         Suggested by Paul Eggert and Jim Meyering.
1229
1230         strptime: fix regression on mingw
1231         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
1232         Fix regression.  Reported by Bruno Haible.
1233
1234 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
1235             Bruno Haible  <bruno@clisp.org>
1236
1237         copy-file: add error-code-returning variant.
1238         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
1239         (qcopy_file_preserving): New declaration.
1240         * lib/copy-file.c (qcopy_file_preserving): Renamed from
1241         copy_file_preserving. Change return type to 'int'. Don't emit an error
1242         message here.
1243         (copy_file_preserving): New function.
1244         * tests/test-copy-file.c: Include <stdlib.h>.
1245         (main): Test qcopy_file_preserving if the environment variable
1246         NO_STDERR_OUTPUT is set.
1247         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
1248         with NO_STDERR_OUTPUT
1249         * tests/test-copy-file-2.sh: Likewise.
1250
1251 2012-01-10  Bruno Haible  <bruno@clisp.org>
1252
1253         copy-file: Use 'quote' module consistently.
1254         * lib/copy-file.c (copy_file_preserving): Use quote().
1255
1256         copy-file: Refactor.
1257         * lib/copy-file.c: Include quote.h.
1258         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
1259         message here.
1260         * modules/copy-file (Depends-on): Add quote.
1261
1262         acl: Export qcopy_acl.
1263         * lib/acl.h (qcopy_acl): New declaration.
1264         * lib/copy-acl.c (qcopy_acl): Make non-static.
1265
1266         acl: Rename a local variable.
1267         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
1268
1269         acl: Align return values of copy_acl and qcopy_acl.
1270         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
1271         maybe < -1.
1272
1273 2012-01-11  Eric Blake  <eblake@redhat.com>
1274
1275         strptime: silence gcc warnings
1276         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
1277         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
1278         Reported by Daniel P. Berrange.
1279
1280         inet_ntop: silence gcc warning
1281         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
1282         Reported by Daniel P. Berrange.
1283
1284 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
1285
1286         getloadavg test: skip the test on GNU/Linux without /proc mounted
1287         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
1288         file.  When /proc is not mounted, it always fails with ENOENT.
1289         * tests/test-getloadavg.c (main): Treat ENOENT return code from
1290         getloadavg(3) the same way as ENOSYS and ENOTSUP.
1291
1292 2012-01-10  Bruno Haible  <bruno@clisp.org>
1293
1294         regex: Avoid link error on MSVC 9.
1295         * modules/regex (Depends-on): Add wctype.
1296
1297 2012-01-10  Bruno Haible  <bruno@clisp.org>
1298
1299         doc: Mention --with-tests option.
1300         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
1301         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
1302         --with-tests.
1303         Reported by Reuben Thomas.
1304
1305 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
1306
1307         users.txt: order package names lexicographically.
1308         * users.txt: Order package names lexicographically.
1309
1310 2012-01-10  Jim Meyering  <meyering@redhat.com>
1311
1312         maint.mk: fix description in comment
1313         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
1314
1315         ignore-value: remove deprecated ignore_ptr function
1316         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
1317         * NEWS: Note this.
1318
1319 2012-01-09  Jim Meyering  <meyering@redhat.com>
1320
1321         test-init.sh: avoid a subshell
1322         * tests/test-init.sh: Remove protective subshell.
1323         Suggested by Bernhard Voelker.  While a subshell is normally
1324         required to protect against older shells (Solaris, FreeBSD) that
1325         warn about a missing program before performing redirection, the
1326         shell-selection tests performed by init.sh probably exclude any
1327         offending shell.
1328
1329 2012-01-08  Bruno Haible  <bruno@clisp.org>
1330
1331         setlocale tests: Avoid test failure on Solaris 11 2011-11.
1332         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
1333         variable.
1334
1335 2012-01-08  Bruno Haible  <bruno@clisp.org>
1336
1337         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
1338         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1339         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
1340         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
1341         macro.
1342         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
1343         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
1344         * lib/spawn_faction_addopen.c: Add workaround implementation if
1345         HAVE_WORKING_POSIX_SPAWN.
1346         * modules/spawn (Makefile): Substitute
1347         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
1348         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
1349         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
1350         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
1351         (Depends-on): Update conditions.
1352         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
1353         the Solaris 11 bug.
1354
1355 2012-01-08  Bruno Haible  <bruno@clisp.org>
1356
1357         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
1358         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1359         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
1360         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
1361         macro.
1362         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
1363         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
1364         * lib/spawn_faction_adddup2.c: Add workaround implementation if
1365         HAVE_WORKING_POSIX_SPAWN.
1366         * modules/spawn (Makefile): Substitute
1367         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
1368         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
1369         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
1370         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
1371         (Depends-on): Update conditions.
1372         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
1373         the Solaris 11 bug.
1374
1375 2012-01-08  Bruno Haible  <bruno@clisp.org>
1376
1377         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
1378         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1379         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
1380         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
1381         HAVE_WORKING_POSIX_SPAWN.
1382         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
1383         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
1384         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
1385         * lib/spawn_faction_addclose.c: Add workaround implementation if
1386         HAVE_WORKING_POSIX_SPAWN.
1387         * modules/spawn (Makefile): Substitute
1388         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
1389         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
1390         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
1391         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
1392         (Depends-on): Update conditions.
1393         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
1394         the Solaris 11 bug.
1395
1396 2012-01-08  Bruno Haible  <bruno@clisp.org>
1397
1398         doc: Update for Solaris 11 2011-11.
1399         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
1400         * m4/printf.m4: Update comments.
1401
1402 2012-01-08  Bruno Haible  <bruno@clisp.org>
1403
1404         mktime: Avoid compilation error on Solaris 11.
1405         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
1406
1407 2012-01-08  Bruno Haible  <bruno@clisp.org>
1408
1409         doc: Small fix.
1410         * doc/posix-headers/nl_types.texi: Correct platforms list.
1411
1412 2012-01-08  Simon Josefsson  <simon@josefsson.org>
1413
1414         Add lgpl-3.0 module.
1415         * MODULES.html.sh (Support for building documentation): Add
1416         lgpl-3.0.
1417         * modules/lgpl-3.0: New file.
1418
1419 2012-01-08  Jim Meyering  <meyering@redhat.com>
1420
1421         select.c: indent with spaces, not TABs
1422         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
1423
1424 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1425
1426         quotearg: do not use grave accent for left quote
1427         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
1428         locale_quoting_style.
1429         (quotearg_buffer_restyled): Fix example.
1430         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
1431
1432 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1433
1434         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
1435         Most programs do not have translation catalogs for English and much
1436         less separate catalogs for British and American English.  Drop the
1437         suggestion to translators about these two, and provide it
1438         automatically for Unicode locales.  Like most programs, even those
1439         using American English, we use single quotation marks.  This conflicts
1440         with the American typographic convention, but works better when you
1441         cite the entire error message within double quotes.  It also tries not
1442         to clash with established practice and with what non-gnulib programs
1443         will usually do.
1444         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
1445         using an UTF-8 or GB-18030 locale.  The list of other locales with
1446         quotes was provided by Bruno Haible.
1447         (quotearg_buffer_restyled): Adjust instructions to translators.
1448         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
1449         text, since this would be wrong when using Unicode.
1450         * modules/quotearg: Depend on c-strcaseeq.
1451
1452 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1453
1454         quotearg: fix Wikipedia link
1455         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
1456
1457 2012-01-07  Simon Josefsson  <simon@josefsson.org>
1458
1459         Fix for mingw with MSVC9.
1460         * m4/ld-version-script.m4: Check that compiler rejects version
1461         scripts with syntax errors.  Reported by Bruno Haible
1462         <bruno@clisp.org>.
1463
1464 2012-01-06  Bruno Haible  <bruno@clisp.org>
1465
1466         Talk about "native Windows API", not "Woe32".
1467         * lib/accept4.c: Update comments to mention native Windows.
1468         * lib/execute.c: Likewise.
1469         * lib/fatal-signal.c: Likewise.
1470         * lib/localcharset.c: Likewise.
1471         * lib/nanosleep.c: Likewise.
1472         * lib/nl_langinfo.c: Likewise.
1473         * lib/pclose.c: Likewise.
1474         * lib/pipe-filter-gi.c: Likewise.
1475         * lib/pipe-filter-ii.c: Likewise.
1476         * lib/pipe.c: Likewise.
1477         * lib/pipe2.c: Likewise.
1478         * lib/popen.c: Likewise.
1479         * lib/progreloc.c: Likewise.
1480         * lib/relocatable.c: Likewise.
1481         * lib/sigaction.c: Likewise.
1482         * lib/sigprocmask.c: Likewise.
1483         * lib/spawn-pipe.h: Likewise.
1484         * lib/spawn-pipe.c: Likewise.
1485         * lib/spawni.c: Likewise.
1486         * lib/stat-time.h: Likewise.
1487         * lib/w32spawn.h: Likewise.
1488         * tests/test-isatty.c: Likewise.
1489         * lib/config.charset: More comments.
1490         * doc/gnulib-intro.texi: Mention native Windows.
1491         * doc/posix-functions/_Exit_C99.texi: Likewise.
1492         * doc/posix-headers/fcntl.texi: Likewise.
1493
1494 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
1495
1496         argp: Avoid crash if translator uses % characters in a translation.
1497         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
1498         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
1499
1500 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
1501
1502         doc: C11 and C++11 are now official
1503         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
1504         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
1505         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
1506         * modules/stdalign:
1507         Replace references to draft C1X to C11, and to draft C++0X to C++11.
1508
1509 2012-01-06  Bruno Haible  <bruno@clisp.org>
1510
1511         uc-is-grapheme-break tests: Tweak.
1512         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
1513         message.
1514
1515 2012-01-06  Bruno Haible  <bruno@clisp.org>
1516
1517         test-init.sh: correct the test for diff -u
1518         * tests/test-init.sh: Also redirect stdout to /dev/null.
1519
1520 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1521
1522         Use ', not `, for quoting output.
1523         * build-aux/announce-gen (usage, sizes, print_news_deltas)
1524         (print_changelog_deltas, get_tool_versions, main program):
1525         * build-aux/git-version-gen:
1526         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
1527         * build-aux/move-if-change (help):
1528         * build-aux/useless-if-before-free (usage, main program):
1529         * check-module (parse_module_file, usage)
1530         (find_included_lib_files, check_module):
1531         * lib/argmatch.c (main) [TEST]:
1532         * lib/argp-help.c (_help):
1533         * lib/getopt1.c (main) [TEST]:
1534         * lib/git-merge-changelog.c (usage):
1535         * lib/xstrtol-error.c (xstrtol_error):
1536         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
1537         * m4/argz.m4 (gl_FUNC_ARGZ):
1538         * m4/bison.m4 (gl_BISON):
1539         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
1540         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
1541         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
1542         * m4/fpending.m4 (gl_PREREQ_FPENDING):
1543         * m4/gc-random.m4 (gl_GC_RANDOM):
1544         * m4/intl.m4 (gt_CHECK_DECL):
1545         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
1546         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
1547         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
1548         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
1549         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
1550         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
1551         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
1552         * tests/test-dirname.c (main):
1553         * tests/test-getpass.c (main):
1554         * tests/test-iconvme.c (main):
1555         * tests/test-parse-datetime.c (LOG):
1556         * tests/test-xstrtoimax.sh:
1557         * tests/test-xstrtol.sh:
1558         * tests/test-xstrtoll.sh:
1559         * tests/test-xstrtoumax.sh:
1560         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
1561         * top/GNUmakefile (abort-due-to-no-makefile):
1562         Quote 'like this', not `like this', as per the recent change to
1563         the GNU coding standards.
1564
1565 2012-01-05  Bruno Haible  <bruno@clisp.org>
1566
1567         strtoimax: Don't force a replacement on systems where intmax_t is int.
1568         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
1569         'intmax_t' is not larger than 'int'.
1570         Reported by Pádraig Brady <P@draigBrady.com>.
1571
1572 2012-01-05  Bruno Haible  <bruno@clisp.org>
1573
1574         doc: Mention NetBSD bugs.
1575         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
1576         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
1577
1578 2012-01-05  Bruno Haible  <bruno@clisp.org>
1579
1580         strtoumax tests: Enhance tests.
1581         * tests/test-strtoumax.c (main): Add tests for large values.
1582
1583 2012-01-05  Bruno Haible  <bruno@clisp.org>
1584
1585         strtoimax: Work around AIX 5.1 bug.
1586         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
1587         definition.
1588         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
1589         Set HAVE_STRTOIMAX.
1590         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
1591         REPLACE_STRTOIMAX.
1592         * modules/inttypes-incomplete (Makefile.am): Substitute
1593         REPLACE_STRTOIMAX.
1594         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
1595         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
1596         (Depends-on): Update conditions.
1597         * tests/test-strtoimax.c (main): Add tests for large values.
1598         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
1599
1600 2012-01-05  Bruno Haible  <bruno@clisp.org>
1601
1602         inttypes: Modernize.
1603         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
1604         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
1605         (Makefile.am): Update inttypes.h rule.
1606
1607 2012-01-05  Jim Meyering  <meyering@redhat.com>
1608
1609         init.sh: don't waste a subshell just to redirect stderr
1610         * tests/init.sh: In testing for diff -u and diff -c, use a
1611         stderr-redirecting exec inside `...` rather than a subshell.
1612
1613         test-init.sh: avoid failure on HP-UX 11.00
1614         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
1615         resolves to diff -c or cmp.  Reported by Bruno Haible.
1616
1617 2012-01-05  Bruno Haible  <bruno@clisp.org>
1618
1619         Tests for module 'strtoull'.
1620         * modules/strtoull-tests: New file.
1621         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
1622
1623 2012-01-05  Bruno Haible  <bruno@clisp.org>
1624
1625         Tests for module 'strtoll'.
1626         * modules/strtoll-tests: New file.
1627         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
1628
1629 2012-01-05  Bruno Haible  <bruno@clisp.org>
1630
1631         Tests for module 'strtoul'.
1632         * modules/strtoul-tests: New file.
1633         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
1634
1635 2012-01-05  Bruno Haible  <bruno@clisp.org>
1636
1637         Tests for module 'strtol'.
1638         * modules/strtol-tests: New file.
1639         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
1640
1641 2012-01-04  Jim Meyering  <meyering@redhat.com>
1642
1643         test-init.sh: accommodate Solaris 5.10's different diff -u output
1644         * tests/test-init.sh: Also exempt @@ lines from the comparison
1645         of diff output, since Solaris 5.10 and GNU diff formats differ.
1646         Reported by Stefano Lattarini.
1647
1648 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1649
1650         test-posixtm: don't assume signed integer wraparound
1651         * tests/test-posixtm.c (main): Don't assume wraparound semantics
1652         after signed integer overflow.  Inspired by (though it may not
1653         fix) Bruno Haible's bug report in
1654         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
1655
1656         Spell out "Windows 9x" and "Windows XP".
1657         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
1658         "Windows 9x" and "WinXP" with "Windows XP".
1659
1660 2012-01-04  Jim Meyering  <meyering@redhat.com>
1661
1662         test-vc-list-files-cvs.sh: remove obsolete comment
1663         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
1664         double exit.  Now that's all encapsulated via skip_ and Exit.
1665
1666 2012-01-04  Bruno Haible  <bruno@clisp.org>
1667
1668         Talk about "native Windows API", not "Win32".
1669         * lib/classpath.c: Update comments to mention native Windows.
1670         * lib/csharpexec.c: Likewise.
1671         * lib/dup2.c: Likewise.
1672         * lib/error.c: Likewise.
1673         * lib/fcntl.c: Likewise.
1674         * lib/filename.h: Likewise.
1675         * lib/findprog.c: Likewise.
1676         * lib/get-rusage-as.c: Likewise.
1677         * lib/get-rusage-data.c: Likewise.
1678         * lib/getpagesize.c: Likewise.
1679         * lib/javaexec.c: Likewise.
1680         * lib/msvc-inval.c: Likewise.
1681         * lib/msvc-nothrow.c: Likewise.
1682         * lib/nanosleep.c: Likewise.
1683         * lib/nonblocking.c: Likewise.
1684         * lib/printf-parse.c: Likewise.
1685         * lib/setlocale.c: Likewise.
1686         * lib/sigaction.c: Likewise.
1687         * lib/strerror_r.c: Likewise.
1688         * lib/tmpdir.c: Likewise.
1689         * lib/vasnprintf.c: Likewise.
1690         * lib/w32spawn.h: Likewise.
1691         * lib/waitpid.c: Likewise.
1692         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
1693         * m4/locale-ar.m4: Likewise.
1694         * m4/locale-fr.m4: Likewise.
1695         * m4/locale-ja.m4: Likewise.
1696         * m4/locale-tr.m4: Likewise.
1697         * m4/locale-zh.m4: Likewise.
1698         * m4/printf.m4: Likewise.
1699         * tests/test-cloexec.c: Likewise.
1700         * tests/test-copy-acl.sh: Likewise.
1701         * tests/test-copy-file.sh: Likewise.
1702         * tests/test-file-has-acl.sh: Likewise.
1703         * tests/test-set-mode-acl.sh: Likewise.
1704         * tests/test-dup-safer.c: Likewise.
1705         * tests/test-dup2.c: Likewise.
1706         * tests/test-dup3.c: Likewise.
1707         * tests/test-fcntl.c: Likewise.
1708         * tests/test-nonblocking-pipe.h: Likewise.
1709         * tests/test-nonblocking-socket.h: Likewise.
1710         * tests/test-pipe.c: Likewise.
1711         * tests/test-pipe2.c: Likewise.
1712         * tests/test-spawn-pipe-child.c: Likewise.
1713         * doc/acl-resources.txt: Likewise.
1714         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
1715         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
1716         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
1717         * lib/localcharset.c: Update comments to mention native Windows.
1718         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
1719         * lib/localename.c: Likewise.
1720         * lib/progreloc.c: Likewise.
1721         * lib/relocatable.c: Likewise.
1722         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
1723         (windows_compute_revents): Renamed from win32_compute_revents.
1724         (windows_compute_revents_socket): Renamed from
1725         win32_compute_revents_socket.
1726         * lib/select.c: Update comments to mention native Windows.
1727         (windows_poll_handle): Renamed from win32_poll_handle.
1728         * m4/threadlib.m4: Update comments to mention native Windows.
1729         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
1730         --enable-threads=windows instead of --enable-threads=win32. Set
1731         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
1732         * lib/glthread/lock.h: Update comments to mention native Windows.
1733         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
1734         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
1735         USE_WIN32_THREADS.
1736         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
1737         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
1738         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
1739         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
1740         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
1741         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
1742         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
1743         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
1744         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
1745         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
1746         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
1747         * tests/test-tls.c: Likewise.
1748         Rationale:
1749         Microsoft renamed the "Win32 API" to "Windows API", as it is available
1750         on both 32-bit and 64-bit Windows systems.
1751         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
1752         line of distinction is between "native Windows" on one side and Unix/
1753         POSIX systems on the other side. More details in
1754         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
1755         Suggested by Paul Eggert.
1756
1757 2012-01-03  Bruno Haible  <bruno@clisp.org>
1758
1759         isatty: Support for MSVC 9.
1760         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
1761         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
1762         (_isatty_nothrow): New function.
1763         (isatty): Use it instead of _isatty.
1764         (IsConsoleHandle): Add comment, from Paolo Bonzini.
1765         * lib/poll.c (IsConsoleHandle): Likewise.
1766         * lib/select.c (IsConsoleHandle): Likewise.
1767         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
1768         (gl_PREREQ_ISATTY): New macro.
1769         * modules/isatty (Depends-on): Add msvc-inval.
1770         (configure.ac): Invoke gl_PREREQ_ISATTY.
1771
1772 2012-01-03  Jim Meyering  <meyering@redhat.com>
1773
1774         maint.mk: remove temporary transition aid from over 1.5 years ago
1775         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
1776         purpose was to aid in the transition (avoiding silent malfunction)
1777         from that old name to the new _sc_search_regexp.  This shim was
1778         added by commit 219c504b.
1779
1780         init.sh: do not try to accommodate compare arguments starting with "-"
1781         * tests/init.sh (compare_dev_null_): Do not try to accommodate
1782         compare arguments that start with "-".  Besides, we do not worry
1783         about this when invoking diff or cmp; why start now with sed?
1784         Using "--" to separate options from argument would trigger sed
1785         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
1786         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
1787
1788 2012-01-02  Bruno Haible  <bruno@clisp.org>
1789
1790         Enhance tests for module 'isatty'.
1791         * modules/isatty-tests (Depends-on): Add pipe-posix.
1792         * tests/test-isatty.c: Include <fcntl.h>.
1793         (DEV_NULL): New macro.
1794         (main): Test the resut of isatty() also on regular files, pipes, and
1795         /dev/null.
1796
1797         New module 'isatty'.
1798         * lib/unistd.in.h (isatty): New declaration.
1799         * lib/isatty.c: New file, based on an idea of
1800         Bastien Roucariès <roucaries.bastien@gmail.com>.
1801         * m4/isatty.m4: New file.
1802         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
1803         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
1804         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
1805         REPLACE_ISATTY.
1806         * modules/isatty: New file.
1807         * doc/posix-functions/isatty.texi: Mention the new module.
1808         Suggested by Paolo Bonzini.
1809
1810 2012-01-02  Bruno Haible  <bruno@clisp.org>
1811
1812         canonicalize: Tweak 2011-12-29 commit.
1813         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
1814         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
1815
1816 2012-01-02  Jim Meyering  <meyering@redhat.com>
1817
1818         gitlog-to-changelog: describe input syntax in --help output
1819         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
1820
1821         gitlog-to-changelog: fix typo in --help: show backslash before email @
1822         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
1823         in sources, but not in actual output.
1824
1825 2011-12-30  Jim Meyering  <meyering@redhat.com>
1826
1827         gitlog-to-changelog: don't malfunction when name contains %-directive
1828         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
1829         in a name string cause trouble.  E.g., with a user name of "%s",
1830         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
1831
1832 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
1833
1834         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
1835         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
1836         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
1837         the "  (tiny change)" notation that is appended to the standard
1838         ChangeLog "date  name  email" header line.
1839
1840 2012-01-01  Jim Meyering  <meyering@redhat.com>
1841
1842         test-framework-sh: init.sh: fix "make dist" failure
1843         When using gnulib-tool's --with-tests option and any module that
1844         depends on test-framework-sh, "make dist" would fail due to the
1845         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
1846         in the gltests directory, and not in the gllib/ directory.
1847         One way to work around that is to move the EXTRA_DIST += init.sh
1848         from the primary module to the -tests one:
1849         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
1850         * modules/test-framework-sh (Makefile.am): ...not here.
1851         Reported by Tom G. Christensen in
1852         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
1853
1854         version-etc: update copyright year reported by --version
1855         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
1856
1857 2011-12-31  Pádraig Brady  <P@draigBrady.com>
1858
1859         canonicalize: only stat() if required
1860         * lib/canonicalize.c (canonicalize_filename_mode):
1861         Avoid calling l?stat() when both CAN_MISSING,
1862         and CAN_NOLINKS are set, as we neither need
1863         to resolve symlinks or test component existence.
1864
1865 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
1866
1867         doc: cover st_ino issues once; add OpenVMS etc.
1868         * doc/posix-functions/stat.texi (stat):
1869         * doc/posix-functions/lstat.texi (lstat):
1870         * doc/posix-functions/fstatat.texi (fstatat):
1871         * doc/posix-functions/fstat.texi (fstat):
1872         Move general 'struct stat' stuff to sys_stat.texi,
1873         leaving behind a pointer.
1874         * doc/posix-headers/sys_stat.texi (sys/stat.h):
1875         Merge duplicate info about 'struct stat' problems into here.
1876         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
1877         and suggest partial workarounds.
1878
1879         same-inode: port to OpenVMS
1880         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
1881         three st_ino values.
1882
1883 2011-12-30  Pádraig Brady  <P@draigBrady.com>
1884
1885         canonicalize: fix references to stat() and lstat()
1886         * lib/canonicalize.c (canonicalize_filename_mode):
1887         Ensure references always resolve to a replacement
1888         function if required (even via a macro).
1889
1890 2011-12-30  Jim Meyering  <meyering@redhat.com>
1891
1892         gitlog-to-changelog: remove a little duplication
1893         * build-aux/gitlog-to-changelog (main): Grep @lines once,
1894         rather than twice.
1895
1896 2011-12-29  Pádraig Brady  <P@draigBrady.com>
1897
1898         canonicalize: add support for not resolving symlinks
1899         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
1900         indicate we don't want to follow symlinks.  Also
1901         provide CAN_MODE_MASK to aid setting these existing
1902         mutually exclusive values.
1903         * lib/canonicalize.c (canonicalize_filename_mode):
1904         Extract the flags from can_mode parameter, which
1905         are currently just used to select between stat()
1906         and lstat().  Also ensure that mutually exclusive
1907         values are flagged immediately as invalid.
1908         * tests/test-canonicalize.c: Verify symlinks are
1909         not followed, and that invalid flag combinations
1910         are diagnosed.
1911
1912 2011-12-25  Jim Meyering  <meyering@redhat.com>
1913
1914         gitlog-to-changelog: do not clump multi-paragraph entries
1915         Identical header lines (date,name,email+coauthors) are suppressed,
1916         thus putting all entries with those same characteristics under
1917         a single header.  However, when a log entry consists of two or
1918         more paragraphs, it may not be clear where it starts and ends.
1919         This change makes it so that such an entry is always separated
1920         from others by a header line, even when that header would
1921         otherwise be suppressed.
1922         * build-aux/gitlog-to-changelog: Implement the above.
1923         Inspired by a related request from Stefano Lattarini in
1924         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
1925
1926 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
1927
1928         announce-gen: fix `cmd' typo in diagnostic
1929         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
1930         diagnostic: a missing '$' meant that the command was not output.
1931
1932 2011-12-23  Jim Meyering  <meyering@redhat.com>
1933
1934         test-framework-sh: distribute init.sh
1935         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
1936         Otherwise, "make -C gnulib-tests check" (at least in grep) would
1937         fail due to the lack of init.sh.
1938
1939         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
1940         * modules/atexit-tests: Rather than listing tests/init.sh,
1941         now that there's a module for it, simply depend on that new module.
1942         * modules/closein-tests: Likewise.
1943         * modules/exclude-tests: Likewise.
1944         * modules/getcwd-tests: Likewise.
1945         * modules/perror-tests: Likewise.
1946         * modules/pread-tests: Likewise.
1947         * modules/pwrite-tests: Likewise.
1948         * modules/vc-list-files-tests: Likewise.
1949         * modules/verify-tests: Likewise.
1950         * modules/xalloc-die-tests: Likewise.
1951         * modules/xstrtoimax-tests: Likewise.
1952         * modules/xstrtol-tests: Likewise.
1953         * modules/xstrtoll-tests: Likewise.
1954         * modules/xstrtoumax-tests: Likewise.
1955         * modules/yesno-tests: Likewise.
1956
1957 2011-12-22  Jim Meyering  <meyering@redhat.com>
1958
1959         test-framework-sh: add minimal tests of init.sh's compare function
1960         * modules/test-framework-sh-tests: New file.
1961         * tests/test-init.sh: New file.
1962
1963         test-framework-sh: new module
1964         * modules/test-framework-sh: New file.
1965         * MODULES.html.sh (Support for maintaining and releasing projects):
1966         List it.
1967
1968         init.sh: do not emit simulated diff output to stderr
1969         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
1970
1971 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
1972
1973         .gitignore: ignore gnulib.dvi and regex.info
1974         * doc/.gitignore:add gnulib.dvi and regex.info
1975
1976 2011-12-22  Jim Meyering  <meyering@redhat.com>
1977
1978         init.sh: correct previous change
1979         * tests/init.sh (compare): My previous change was wrong.
1980         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
1981
1982         init.sh: avoid unwarranted test failure when using "set -e"
1983         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
1984         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
1985         a use like "compare exp out" would get evoke an unconditional failure.
1986
1987 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
1988
1989         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
1990         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
1991         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
1992         autoreconf that did not.
1993         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
1994         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
1995
1996 2011-12-17  Jim Meyering  <meyering@redhat.com>
1997
1998         bootstrap: remove some now-unneeded code
1999         This script arose back when gnulib-tool was young.
2000         Since then, it has seen improvements that render much of this
2001         script unnecessary.  In particular, it can now make symlinks
2002         to the files it uses.  Also, I no longer see as much value in
2003         marking files as read-only via comments.
2004         If you relied on the symlink-creation feature of the preceding
2005         version of this script, you can get most of that functionality
2006         by adding the --symlink option to the definition of
2007         gnulib_tool_option_extras in your bootstrap.conf file.
2008         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
2009         Run autopoint and libtoolize *before* gnulib-tool.
2010         After it, run an abbreviated autoreconf, rather than a loop around
2011         all tools.
2012         (slirp, bt_mark_as_generated): Remove functions.
2013
2014 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
2015
2016         ftoastr: fix typo
2017         * lib/ftoastr.h: Fix misspelling in comment.
2018
2019 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
2020
2021         * top/README-release: fix punctuation.
2022
2023 2011-12-17  Jim Meyering  <meyering@redhat.com>
2024
2025         bootstrap: correct the recent buildreq change
2026         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
2027         had no effect.
2028         * build-aux/bootstrap (buildreq): Bracket each search term with
2029         "*...*", so that the shell "case" statement works as intended.
2030         Add comments.
2031
2032 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
2033
2034         build: let bootstrap resort to wget when downloading .po files
2035         * build-aux/bootstrap (download_po_files): Fallback to wget when
2036         downloading the .po files via rsync fails.  This is necessary to
2037         bootstrap from behind a strict firewall.
2038
2039 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
2040
2041         stdint: don't assume C++11 when compiling with g++
2042         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
2043         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
2044         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
2045         work also in C++ before C++11, as that improperly inhibits
2046         generating a substitute stdint.h for that case.
2047
2048 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
2049
2050         alloca: protect comment from gnulib-tool
2051         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
2052         that gnulib-tool doesn't think it's a license, and munge it to
2053         say "GCC version 3".
2054
2055 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
2056
2057         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
2058         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
2059         $(abs_top_builddir) instead of $(top_builddir).
2060
2061 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
2062
2063         strftime-tests: also test nanoseconds
2064         * tests/test-strftime.c (T): Add a test of %N.
2065
2066 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
2067
2068         inttypes, stdint: add C++11 support
2069         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
2070         when including inttypes.h and stdint.h.  Support this change to
2071         the standard.
2072         * doc/posix-headers/inttypes.texi (inttypes.h):
2073         * doc/posix-headers/stdint.texi (stdint.h): Document this.
2074         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
2075         Define if not defined already, for the benefit of pre-C++11 hosts.
2076         Define the standard format macros (e.g., PRId8) always.
2077         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
2078         Likewise, if __cpluspus.  Define the standard constant and limit
2079         macros (e.g., INT8_C, INT8_MAX) always.
2080         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
2081         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
2082         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
2083         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
2084         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
2085         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
2086         Likewise.
2087
2088 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
2089
2090         nonblocking tests: Fix test failure on Linux/PPC.
2091         Suggested by Prerna Saxena in
2092         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
2093         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
2094         Set to 1100000.
2095
2096 2011-12-12  Jim Meyering  <meyering@redhat.com>
2097
2098         argmatch: don't hard-code `' when listing valid option arguments
2099         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
2100         use the quote function to add quotes.  Use fputs rather than
2101         fprintf for the format string with no format directive.
2102
2103 2011-12-07  Eric Blake  <eblake@redhat.com>
2104
2105         bootstrap: detect tools required by gnulib-tool
2106         * build-aux/bootstrap (buildreq): Provide minimum implicit
2107         dependencies.
2108         * DEPENDENCIES: Mention patch as a prereq.
2109
2110 2011-12-04  Bruno Haible  <bruno@clisp.org>
2111
2112         sethostname: Port to Windows platforms.
2113         * lib/sethostname.c: Provide an alternate implementation for Windows
2114         platforms.
2115         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
2116         (main): Skip the test if sethostname() fails with EPERM. On Windows
2117         platforms, don't check the result of gethostname().
2118
2119 2011-12-04  Bruno Haible  <bruno@clisp.org>
2120             Jim Meyering  <meyering@redhat.com>
2121
2122         tests: Avoid spurious error message on platforms without mktemp program.
2123         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
2124
2125 2011-12-04  Bruno Haible  <bruno@clisp.org>
2126
2127         sethostname: Fix documentation.
2128         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
2129         "not fixed" section.
2130
2131 2011-12-03  Bruno Haible  <bruno@clisp.org>
2132
2133         gnulib-tool: Verify that the License field is present and non-empty.
2134         * gnulib-tool (func_get_license_raw): New function, extracted from
2135         func_get_license.
2136         (func_get_license): Use it. Warn if the module is not a test module and
2137         has no license.
2138         Suggested by Jim Meyering.
2139
2140 2011-12-03  Bruno Haible  <bruno@clisp.org>
2141
2142         sethostname tests: Fix link error on mingw.
2143         * tests/test-sethostname1.c: New file, extracted from
2144         tests/test-sethostname.c.
2145         * tests/test-sethostname2.c: New file, extracted from
2146         tests/test-sethostname.c.
2147         * tests/test-sethostname.c: Remove file.
2148         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
2149         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
2150         (Depends-on): Add gethostname.
2151         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
2152         Link the latter with $(GETHOSTNAME_LIB).
2153
2154         sethostname tests: Fix compilation error on mingw.
2155         * tests/test-sethostname.c: Don't include <sys/types.h>.
2156         (geteuid): Use a dummy value without uid_t.
2157         * modules/sethostname-tests (Depends-on): Remove sys_types.
2158
2159         sethostname tests: Avoid a gcc warning.
2160         * tests/test-sethostname.c (main): Remove an unused variable.
2161
2162         Tweak last commit.
2163         * modules/sethostname-tests (Files): Sort by decreasing importance.
2164         (configure.ac): Check for geteuid.
2165         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
2166         the test when there's nothing to test. Drop an unnecessary cast.
2167         Improve an error message. Verify that the final sethostname() call
2168         succeeds.
2169
2170 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2171
2172         Add a test suite for the sethostname module.
2173         * modules/sethostname-tests: New file.  A test program
2174         for the sethostname module.
2175         * tests/test-sethostname.c: Likewise.
2176
2177 2011-12-03  Bruno Haible  <bruno@clisp.org>
2178
2179         Tweak last commit.
2180         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
2181         Fix preprocessor directives indentation. Fix typos.
2182         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
2183         * modules/unistd (Makefile): Likewise.
2184
2185 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2186
2187         Integrate the sethostname module into unistd.
2188         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
2189         into the unistd.h header.
2190         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
2191         preprocessor directives.
2192         * modules/unistd: Setup the Makefile substitutions of the
2193         SETHOSTNAME preprocessor directives.
2194
2195 2011-12-03  Bruno Haible  <bruno@clisp.org>
2196
2197         Tweak last commit.
2198         * lib/sethostname.c: Don't include <string.h>.
2199         (sethostname): No need to copy the argument string to the stack. Don't
2200         call clearerr. Preserve errno when fprintf failed.
2201         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
2202         Don't invoke AC_REPLACE_FUNCS.
2203         * modules/sethostname (Link): Remove empty section.
2204         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
2205         failure problem.
2206
2207 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2208
2209         New module 'sethostname'.
2210         * lib/sethostname.c (sethostname): New file.  Provide sethostname
2211         for systems that lack it.
2212         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
2213         sethostname declaration and function.
2214         * modules/sethostname: New file.  Define the sethostname module.
2215
2216 2011-12-03  Bruno Haible  <bruno@clisp.org>
2217
2218         Tweak last commit.
2219         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
2220
2221 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2222
2223         Split the HOST_NAME_MAX detection into a separate m4 macro.
2224         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
2225         macro so it can be used by the pending sethostname module.
2226
2227 2011-12-03  Bruno Haible  <bruno@clisp.org>
2228
2229         Fix module descriptions syntax.
2230         * modules/argv-iter (License): Fix syntax.
2231         * modules/di-set (License): Likewise.
2232         * modules/ino-map (License): Likewise.
2233         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
2234
2235 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
2236
2237         stdalign: port to Clang 3.0
2238         Problem reported by Simon Josefsson in
2239         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
2240         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
2241         which has <stdalign.h> but which does not define alignof.
2242         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
2243
2244 2011-12-01  Eric Blake  <eblake@redhat.com>
2245
2246         mktempd: silence dd usage
2247         * build-aux/mktempd (rand_bytes): Silence dd.
2248
2249 2011-11-30  Simon Josefsson  <simon@josefsson.org>
2250
2251         manywarnings: Don't mention gcc version in docstring.
2252         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
2253         Jim Meyering <meyering@redhat.com>.
2254
2255 2011-11-30  Jim Meyering  <meyering@redhat.com>
2256
2257         hash: mark a few floating point constants with "f" suffix
2258         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
2259         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
2260         floating point constants with "f", since they're destined to be
2261         saved/used as "float"s.
2262
2263 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
2264
2265         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
2266         * tests/test-float.c (test_long_double): Correct and re-enable the
2267         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
2268
2269 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
2270
2271         Avoid subtracting two pointers that don't point into the same block.
2272         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
2273         only pointers into the same memory block are subtracted. We cannot
2274         assume that sizeof (ptrdiff_t) == sizeof (void *).
2275
2276 2011-11-29  Eric Blake  <eblake@redhat.com>
2277
2278         maint.mk: add syntax check for use of compare from init.sh
2279         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
2280         moved here from coreutils.
2281
2282         manywarnings: drop -Wunsuffixed-float-constants
2283         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
2284         '1.0D', which is the only way to silence this warning for 'double'.
2285
2286 2011-11-29  Jim Meyering  <meyering@redhat.com>
2287
2288         hash: mark compute_bucket_size with the pure attribute
2289         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
2290
2291         quotearg, propername: correct pragma guard expression
2292         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
2293         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
2294
2295 2011-11-28  Jim Meyering  <meyering@redhat.com>
2296
2297         propername: do not mark proper_name with the const attribute
2298         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
2299         since it examines data pointed to by its parameter.
2300         * lib/propername.c (proper_name): Instead, add a pragma to suppress
2301         the suggestion from -Wsuggest-attribute=const.
2302
2303         propername: mark one more function as const
2304         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
2305
2306 2011-11-27  Jim Meyering  <meyering@redhat.com>
2307
2308         mark functions with const and pure attributes
2309
2310         Mark functions per suggestions from gcc-4.6 when using these options:
2311         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
2312         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
2313         Follow these guidelines: when possible, apply the attribute to
2314         an extern declaration, not to its definition.  Apply it to the
2315         definition only when the definition is static.
2316         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
2317         * lib/argv-iter.h (argv_iter_n_args): Likewise.
2318         * lib/base64.h (isbase64): Likewise.
2319         * lib/basename-lgpl.c (last_component, base_len): Likewise.
2320         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
2321         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
2322         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
2323         (c_tolower, c_toupper): Likewise.
2324         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
2325         * lib/chdir-long.c (find_non_slash): Likewise.
2326         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
2327         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
2328         * lib/file-type.h (file_type): Likewise.
2329         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
2330         * lib/filevercmp.c (verrevcmp): Likewise.
2331         * lib/freadahead.h (freadahead): Likewise.
2332         * lib/fts.c (fts_maxarglen): Likewise.
2333         * lib/hash-pjw.h (hash_pjw): Likewise.
2334         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
2335         * lib/hash.c (is_prime, next_prime): Likewise.
2336         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
2337         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
2338         (hash_table_ok, hash_get_first, hash_string): Likewise.
2339         (compute_bucket_size): Likewise.
2340         * lib/i-ring.h (i_ring_empty): Likewise.
2341         * lib/isnan.c (isnanl): Likewise.
2342         * lib/math.h (isnanl, rpl_isnanl): Likewise.
2343         * lib/memcasecmp.h (memcasecmp): Likewise.
2344         * lib/memchr2.h (memchr2): Likewise.
2345         * lib/memcmp2.h (memcmp2): Likewise.
2346         * lib/parse-datetime.y (lookup_zone): Likewise.
2347         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
2348         [!WINDOWS_SOCKETS]: Likewise.
2349         * lib/strnlen1.h (strnlen1): Likewise.
2350         * lib/uniwidth.in.h (uc_width): Likewise.
2351         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
2352         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
2353         (quoting_options_from_style): Add a comment.
2354         * lib/propername.h (proper_name): Add a comment.
2355
2356 2011-11-27  Bruno Haible  <bruno@clisp.org>
2357
2358         Remove unused macros from !_LIBC code in glibc-borrowed files.
2359         * lib/fnmatch.c (STRCOLL): Remove macro.
2360         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
2361         * lib/glob.c (__stat, __readdir64): Remove macros.
2362         * lib/tempname.c (__open64, __xstat64): Remove macros.
2363         Suggested by Paul Eggert.
2364
2365 2011-11-27  Bruno Haible  <bruno@clisp.org>
2366
2367         getcwd: Fix link error on MSVC 9.
2368         * modules/getcwd (Depends-on): Add readdir, rewinddir.
2369
2370 2011-11-27  Bruno Haible  <bruno@clisp.org>
2371
2372         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
2373         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
2374         HAVE_OPENDIR is 0.
2375         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
2376         HAVE_CLOSEDIR is 0.
2377         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
2378         is 0.
2379         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
2380
2381 2011-11-27  Bruno Haible  <bruno@clisp.org>
2382
2383         getcwd: Fix bug from 2011-08-17.
2384         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
2385         platforms that need it.
2386         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
2387         code of 4 to be a failure, not a success. This ensures that
2388         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
2389
2390 2011-11-27  Bruno Haible  <bruno@clisp.org>
2391
2392         binary-io tests: Avoid test failure on mingw when libtool is used.
2393         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
2394         Don't verify the size of t-bin-out1.tmp here.
2395         * tests/test-binary-io.sh: Verify it here.
2396         Reported by Simon Josefsson.
2397
2398 2011-11-26  Bruno Haible  <bruno@clisp.org>
2399
2400         Fix conflict between two instantiations of module 'unistd'.
2401         * gnulib-tool (func_emit_autoconf_snippet): Substitute
2402         ${include_guard_prefix} also in the autoconf snippet.
2403         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
2404         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
2405         GNULIB_UNISTD_H_GETOPT.
2406         * modules/getopt-posix (configure.ac): Set the
2407         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
2408         * modules/getopt-gnu (configure.ac): Likewise.
2409         * modules/unistd (Makefile.am): Change the substitution value of
2410         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
2411         Reported by Simon Josefsson.
2412
2413 2011-11-25  Bruno Haible  <bruno@clisp.org>
2414
2415         pagealign_alloc: Doc and comments.
2416         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
2417         module.
2418         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
2419
2420 2011-11-25  Jim Meyering  <meyering@redhat.com>
2421
2422         test-update-copyright.sh: avoid false-positive failure
2423         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
2424         around false positive failure on Cygwin/Windows.  The latter was
2425         matching erroneously-created files with names like
2426         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
2427
2428 2011-11-25  Simon Josefsson  <simon@josefsson.org>
2429
2430         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
2431         * m4/valgrind-tests.m4: Check that the parameters that will be
2432         used works, not just a subset of them.  Reported by Bruno Haible
2433         <bruno@clisp.org>.
2434
2435 2011-11-24  Jim Meyering  <meyering@redhat.com>
2436
2437         test-stdalign.c: comment out long double tests
2438         * tests/test-stdalign.c: Don't try to reduce alignment of long double
2439         variables.  That provokes errors like this from gcc-4.7.0 20111124:
2440         error: '_Alignas' specifiers cannot reduce alignment of \
2441         'static_longdouble_alignas'.
2442
2443 2011-11-22  Jim Meyering  <meyering@redhat.com>
2444
2445         init.sh: make "compare /dev/null FILE" output more readable
2446         * tests/init.sh (compare_): Document the preferred order of arguments.
2447         (emit_diff_u_header_): New function.
2448         (compare_dev_null_): Emit a simulated diff, rather than just the
2449         contents of the unexpected file.  Suggestion from Bruno Haible.
2450
2451 2011-11-21  Jim Meyering  <meyering@redhat.com>
2452             Eric Blake  <eblake@redhat.com>
2453
2454         init.sh: work around OSF/1 5.1's mishandling of /dev/null
2455         * tests/init.sh: Make our compare function slightly more portable.
2456         Reported by Bruno Haible in
2457         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
2458
2459 2011-11-21  Simon Josefsson  <simon@josefsson.org>
2460
2461         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
2462         before using it, in code that ends up in config.h.
2463
2464 2011-11-20  Bruno Haible  <bruno@clisp.org>
2465
2466         getcwd: Work around getcwd bug on AIX 5..7.
2467         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
2468         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
2469         Use a different value for gl_cv_func_getcwd_path_max. Move the
2470         definition of HAVE_PARTLY_WORKING_GETCWD from here...
2471         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
2472         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
2473         Define HAVE_MINIMALLY_WORKING_GETCWD.
2474         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
2475         where it is not even minimally working, that is, on AIX.
2476         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
2477         m4/getcwd-path-max.m4.
2478         (main): Update exit code computation.
2479         * doc/posix-functions/getcwd.texi: Mention list of platforms where
2480         getcwd does not handle long file names.
2481
2482 2011-11-20  Bruno Haible  <bruno@clisp.org>
2483
2484         getcwd: Fix bug from 2009-09-10.
2485         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
2486         like "no".
2487
2488 2011-11-20  Simon Josefsson  <simon@josefsson.org>
2489
2490         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
2491
2492 2011-11-20  Bruno Haible  <bruno@clisp.org>
2493
2494         fma tests: Avoid shadowing local variables.
2495         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
2496         expected.
2497
2498 2011-11-20  Bruno Haible  <bruno@clisp.org>
2499
2500         copysignf tests: Fix.
2501         * tests/test-copysignf.c: Fix signature check.
2502
2503 2011-11-20  Bruno Haible  <bruno@clisp.org>
2504
2505         fma: Remove unused code.
2506         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
2507         unused macros.
2508
2509 2011-11-20  Bruno Haible  <bruno@clisp.org>
2510
2511         sethostname: Fix doc about AIX.
2512         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
2513         sethostname; it has it.
2514
2515         sethostname: Mention more portability problems.
2516         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
2517         problem.
2518         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
2519
2520 2011-11-19  Bruno Haible  <bruno@clisp.org>
2521
2522         Depend on module fcntl-h when AT_FDCWD is used.
2523         * modules/utimens (Depends-on): Add fcntl-h.
2524         * modules/areadlinkat (Depends-on): Likewise.
2525         * modules/areadlinkat-with-size (Depends-on): Likewise.
2526         * modules/faccessat (Depends-on): Likewise.
2527         * modules/fchmodat (Depends-on): Likewise.
2528         * modules/fchownat (Depends-on): Likewise.
2529         * modules/getcwd (Depends-on): Likewise.
2530         * modules/mkdirat (Depends-on): Likewise.
2531         * modules/mkfifoat (Depends-on): Likewise.
2532         * modules/readlinkat (Depends-on): Likewise.
2533         * modules/symlinkat (Depends-on): Likewise.
2534         * modules/dup2-tests (Depends-on): Likewise.
2535         * modules/fdutimensat-tests (Depends-on): Likewise.
2536         * modules/futimens-tests (Depends-on): Likewise.
2537
2538 2011-11-19  Bruno Haible  <bruno@clisp.org>
2539
2540         euidaccess: Update a comment.
2541         * lib/euidaccess.c: Update comment about platforms with faccessat.
2542
2543 2011-11-19  Bruno Haible  <bruno@clisp.org>
2544
2545         openat: Fix file list.
2546         * modules/openat (Files): Remove lib/at-func.c.
2547
2548 2011-11-19  Bruno Haible  <bruno@clisp.org>
2549
2550         fstatat: Simplify.
2551         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
2552         gnulib should define rpl_fstatat, there is a
2553         "#define fstatat rpl_fstatat" in <sys/stat.h>.
2554
2555 2011-11-19  Bruno Haible  <bruno@clisp.org>
2556
2557         Ensure 'inline' can be used in tests/test-utimens-common.h.
2558         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
2559         * modules/futimens-tests (configure.ac): Likewise.
2560         * modules/utimens-tests (configure.ac): Likewise.
2561         * modules/utimensat-tests (configure.ac): Likewise.
2562
2563 2011-11-19  Simon Josefsson  <simon@josefsson.org>
2564
2565         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
2566         not hash_insert0.
2567         (hash_insert_if_absent): Doc fix.
2568
2569 2011-11-19  Simon Josefsson  <simon@josefsson.org>
2570
2571         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
2572
2573 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
2574
2575         test-getcwd: disambiguate exit status
2576         * tests/test-getcwd.c (test_long_name): Return 0..7.
2577         (main): Exit with an unambiguous exit status.  The old
2578         code yielded a mysterious mixture of two failure codes.
2579
2580         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
2581         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
2582         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
2583         rpl_fstatat or fstatat.  This should fix the other problem
2584         reported by Kai Habel in
2585         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
2586         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
2587         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
2588         and I reproduced it on a Solaris 8 host we still have in production.
2589
2590 2011-11-18  Jim Meyering  <meyering@redhat.com>
2591
2592         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
2593         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
2594         Add a sentence to the comment.
2595         (hash_insert0): New function that simply calls hash_insert_if_absent.
2596         * lib/hash.h (hash_insert_if_absent): Declare it.
2597         (hash_insert0): Add deprecation attribute.
2598         (_GL_ATTRIBUTE_DEPRECATED): Define.
2599         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
2600         not hash_insert0.
2601         * NEWS: Mention it, even though it's not really an incompatible change.
2602
2603 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
2604
2605         openat: avoid compilation failure due to lack of <errno.h> inclusion
2606         * lib/openat.c: Include <errno.h>.
2607
2608 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
2609
2610         * modules/getcwd (Depends-on): Add fdopendir.
2611         This fixes one of the two problems reported by Kai Habel in
2612         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
2613
2614         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
2615         stdalign problem reported by Ian Beckwith in
2616         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
2617         * modules/crypto/gc-arcfour (Depends-on):
2618         Depend conditionally on crypto/arcfour.
2619         * modules/crypto/gc-arctwo (Depends-on):
2620         Depend conditionally on crypto/arctwo.
2621         * modules/crypto/gc-des (Depends-on):
2622         Depend conditionally on crypto/des.
2623         * modules/crypto/gc-hmac-md5 (Depends-on):
2624         Depend conditionally on crypto/hmac-md5.
2625         * modules/crypto/gc-hmac-sha1 (Depends-on):
2626         Depend conditionally on crypto/hmac-sha1.
2627         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
2628         * modules/crypto/gc-md4 (Depends-on):
2629         Depend conditionally on crypto/md4.
2630         * modules/crypto/gc-md5 (Depends-on):
2631         Depend conditionally on crypto/md5.
2632         * modules/crypto/gc-rijndael (Depends-on):
2633         Depend conditionally on crypto/rijndael.
2634         * modules/crypto/gc-sha1 (Depends-on):
2635         Depend conditionally on crypto/sha1.
2636         * modules/crypto/gc-arcfour:
2637         * modules/crypto/gc-arctwo:
2638         * modules/crypto/gc-des:
2639         * modules/crypto/gc-hmac-md5:
2640         * modules/crypto/gc-hmac-sha1:
2641         * modules/crypto/gc-md2:
2642         * modules/crypto/gc-md4:
2643         * modules/crypto/gc-md5:
2644         * modules/crypto/gc-rijndael:
2645         * modules/crypto/gc-sha1:
2646         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
2647         now that the conditional dependencies do the work for us.
2648
2649 2011-11-17  Jim Meyering  <meyering@redhat.com>
2650
2651         tests: factor st_ctime-comparison out of two headers
2652         * tests/test-utimens-common.h (ctime_compare): Define.
2653         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
2654         * tests/test-lutimens.h (test_lutimens): Likewise.
2655         * tests/test-utimens.h (test_utimens): Likewise.
2656
2657         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
2658         Invoke the test program via an init.sh-using wrapper.
2659         * tests/test-getcwd.sh: New file.
2660         * modules/getcwd-tests (Files): Add it.
2661         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
2662
2663 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
2664
2665         gitlog-to-changelog: support multi-author commits.
2666         The FSF cares about keeping track of all authors of patches to its
2667         projects, but Git doesn't provide obvious support for multi-author
2668         changesets. Consensus seems to be forming around the use of extra
2669         Signed-off-by inspired lines in the log message formatted as
2670         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
2671         multi-author commits between version control systems.
2672         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
2673         log message and output in standard ChangeLog multi-author format.
2674         Reported by Peter Rosin <peda@lysator.liu.se>
2675
2676 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
2677             Bruno Haible  <bruno@clisp.org>
2678
2679         Fix some modules' file list.
2680         * modules/fstatat (Files): Add m4/lstat.m4.
2681         * modules/openat (Files): Likewise.
2682         * modules/unlinkat (Files): Likewise.
2683
2684 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
2685
2686         maint.mk: fix tight-scope.mk generation in VPATH builds.
2687         * top/maint.mk (tight-scope.mk): Make sure to prefix file
2688         reference with $(srcdir) so that the file is found correctly even
2689         when running `make syntax-check' in a VPATH build.
2690
2691 2011-11-13  Bruno Haible  <bruno@clisp.org>
2692             Jim Meyering  <meyering@redhat.com>
2693
2694         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
2695         * tests/init.sh (compare): Remove "No differences encountered" or
2696         synonymous output from the 'diff' program.
2697
2698 2011-11-13  Bruno Haible  <bruno@clisp.org>
2699
2700         Makefile: Tweak indentation.
2701         * Makefile: Use tab as first character in every line that contains rule
2702         commands.
2703
2704 2011-11-13  Bruno Haible  <bruno@clisp.org>
2705
2706         Syntax check for copyright statements.
2707         * check-copyright: New file.
2708         * Makefile (sc_check_copyright): New rule.
2709
2710 2011-11-13  Simon Josefsson  <simon@josefsson.org>
2711
2712         * build-aux/git-version-gen: Add --prefix to configure the tag
2713         match string.
2714
2715 2011-11-13  Simon Josefsson  <simon@josefsson.org>
2716
2717         * build-aux/git-version-gen: Add --help and --version.
2718
2719 2011-11-12  Jim Meyering  <meyering@redhat.com>
2720
2721         revamp the other test-exclude?.sh scripts to use init.sh, too
2722         * tests/test-exclude1.sh: Use init.sh.
2723         * tests/test-exclude2.sh: Likewise.
2724         * tests/test-exclude3.sh: Likewise.
2725         * tests/test-exclude4.sh: Likewise.
2726         * tests/test-exclude5.sh: Likewise.
2727         * tests/test-exclude6.sh: Likewise.
2728         * tests/test-exclude7.sh: Likewise.
2729         * tests/test-exclude8.sh: Likewise.
2730         * modules/exclude-tests (Files): List init.sh.
2731
2732         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
2733         These shell scripts ignored failure of the binary test-exclude,
2734         so making the latter return 77 didn't cause them to be skipped.
2735         * tests/test-exclude5.sh: Exit with test-exclude's error status
2736         when that program fails.  Revamp to use init.sh.
2737         * tests/test-exclude2.sh: Likewise.
2738
2739         test-exclude: fix a typo
2740         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
2741
2742 2011-11-11  Bruno Haible  <bruno@clisp.org>
2743
2744         obstack: Fix compilation error on MSVC 9.
2745         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
2746
2747 2011-11-11  Jim Meyering  <meyering@redhat.com>
2748
2749         test-exclude: skip tests rather than failing on deficient systems
2750         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
2751         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
2752         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
2753         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
2754
2755 2011-11-10  Bruno Haible  <bruno@clisp.org>
2756
2757         ptsname_r test: Avoid gcc warning on glibc systems.
2758         * tests/test-ptsname_r.c (null_ptr): New function.
2759         (test_errors): Use it.
2760
2761 2011-11-10  Bruno Haible  <bruno@clisp.org>
2762
2763         ptsname_r: Avoid compilation error on OSF/1 5.1.
2764         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
2765         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
2766         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
2767         function is not declared or incompatibly declared.
2768         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
2769         * modules/ptsname_r (Depends-on, configure.ac): Update.
2770         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
2771
2772 2011-11-10  Bruno Haible  <bruno@clisp.org>
2773
2774         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
2775         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
2776         When cross-compiling, guess yes on all platforms except AIX.
2777         Reported by Ludovic Courtès <ludo@gnu.org>.
2778
2779 2011-11-09  Bruno Haible  <bruno@clisp.org>
2780
2781         ptsname_r tests: Fix bugs.
2782         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
2783         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
2784
2785 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2786
2787         fstatat: work with cross-compilation
2788         Problem reported by Ludovic Courtès in
2789         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
2790         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
2791         "cross-compiling" and assume the bug is present.  Replace
2792         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
2793         an inverted sense, to be more conservative about our assumptions.
2794         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
2795
2796 2011-11-09  Bruno Haible  <bruno@clisp.org>
2797
2798         Improve MODULES.html output.
2799         * modules/mkfifoat (Description): Use the word "function".
2800         * modules/readlinkat (Description): Likewise.
2801         * modules/symlinkat (Description): Likewise.
2802
2803 2011-11-09  Eric Blake  <eblake@redhat.com>
2804
2805         ptsname_r-tests: new test module
2806         * modules/ptsname_r-tests: New module.
2807         * tests/test-ptsname_r.c: New file.
2808
2809         ptsname_r: new module
2810         * modules/ptsname_r: New module.
2811         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
2812         * lib/ptsname.c (__ptsname_r): Split...
2813         * lib/ptsname_r.c: ...into new file.
2814         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
2815         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
2816         * modules/stdlib (Makefile.am): Substitute witnesses.
2817         * lib/stdlib.in.h (ptsname_r): Declare it.
2818         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
2819         * MODULES.html.sh (Misc): Likewise.
2820         * modules/ptsname (Depends-on): Alter dependency.
2821         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
2822
2823 2011-11-09  Jim Meyering  <meyering@redhat.com>
2824
2825         announce-gen: be more concise when there's only one URL+tarball
2826         * build-aux/announce-gen (get_tool_versions): When you distribute
2827         only one type of tarball, combine the first two "Here are..."
2828         sections and make the key-checking grammar independent of
2829         how many tarballs there are.
2830
2831 2011-11-09  Eric Blake  <eblake@redhat.com>
2832
2833         openpty: provide a stub on mingw
2834         * lib/pty.in.h (includes): Provide forward declarations.
2835         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
2836
2837         raise: fix mingw handling of SIGPIPE
2838         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
2839
2840 2011-11-08  Bruno Haible  <bruno@clisp.org>
2841
2842         More conditional dependencies.
2843         * modules/faccessat (Depends-on): Add conditions.
2844         * modules/fchmodat (Depends-on): Likewise.
2845         * modules/fchownat (Depends-on): Likewise.
2846         * modules/fstatat (Depends-on): Likewise.
2847         * modules/mkfifoat (Depends-on): Likewise.
2848         * modules/readlinkat (Depends-on): Likewise.
2849         * modules/symlinkat (Depends-on): Likewise.
2850         * modules/unlinkat (Depends-on): Likewise.
2851         * modules/utimensat (Depends-on): Likewise.
2852         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
2853         * modules/linkat (Depends-on): Refine the conditions.
2854         * modules/renameat (Depends-on): Likewise.
2855
2856 2011-11-08  Bruno Haible  <bruno@clisp.org>
2857
2858         faccessat: Move AC_LIBOBJ invocation to module description.
2859         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
2860         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
2861         invocation from here...
2862         * modules/faccessat (configure.ac): ... to here. Invoke
2863         gl_PREREQ_FACCESSAT.
2864
2865 2011-11-08  Bruno Haible  <bruno@clisp.org>
2866
2867         faccessat: Simplify autoconf macro.
2868         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
2869         gl_FUNC_EUIDACCESS.
2870
2871 2011-11-08  Bruno Haible  <bruno@clisp.org>
2872
2873         renameat: Fix dependencies.
2874         * modules/renameat (Depends-on): Add stdbool.
2875
2876 2011-11-08  Bruno Haible  <bruno@clisp.org>
2877
2878         mkfifoat: Fix module description.
2879         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
2880         not gl_UNISTD_MODULE_INDICATOR.
2881
2882 2011-11-08  Bruno Haible  <bruno@clisp.org>
2883
2884         fstatat: Remove unused dependency.
2885         * modules/fstatat (Depends-on): Remove fstat.
2886
2887 2011-11-08  Simon Josefsson  <simon@josefsson.org>
2888
2889         GNUmakefile: behave when Makefile is missing.
2890         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
2891
2892 2011-11-08  Bruno Haible  <bruno@clisp.org>
2893
2894         openat: Conditionalize dependencies.
2895         * lib/openat.c: Reduce the scope of some #includes.
2896         * modules/openat (Depends-on): Add conditions.
2897
2898 2011-11-07  Jim Meyering  <meyering@redhat.com>
2899
2900         maint.mk: extract GPG key ID without using a temporary file
2901         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
2902         without using a temporary file.  Based on a suggestion from Werner Koch
2903         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
2904
2905 2011-11-07  Eric Blake  <eblake@redhat.com>
2906
2907         grantpt: fix typo
2908         * lib/stdlib.in.h (grantpt): Check correct function.
2909
2910         maint.mk: silence new syntax check
2911         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
2912
2913 2011-11-06  Bruno Haible  <bruno@clisp.org>
2914
2915         Doc about floating-point and math API.
2916         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
2917         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
2918
2919 2011-11-06  Bruno Haible  <bruno@clisp.org>
2920
2921         stdalign tests: Skip the test when compiled by Sun C.
2922         * tests/test-stdalign.c (main): Skip the test on Sun C.
2923
2924 2011-11-06  Bruno Haible  <bruno@clisp.org>
2925
2926         ansi-c++-opt: Complete the 2011-06-05 change.
2927         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
2928         does not support namespaces, set the variable to "no", not to ":".
2929
2930 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
2931
2932         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
2933
2934 2011-11-06  Bruno Haible  <bruno@clisp.org>
2935
2936         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
2937         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
2938         (minus_zerol) [HP-UX]: New macro.
2939         (unary_minus) [HP-UX]: New function.
2940         (copysignl) [HP-UX]: Use unary_minus function.
2941
2942 2011-11-06  Bruno Haible  <bruno@clisp.org>
2943
2944         ldexp, ldexpf, ldexpl: Enhance tests.
2945         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
2946         and tests/test-ldexpl.c.
2947         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
2948         LDEXP, MIN_EXP, MAX_EXP): New macros.
2949         Include test-ldexp.h.
2950         (main): Just call test_function.
2951         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
2952         infinity.h, nan.h.
2953         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
2954         MAX_EXP): New macros.
2955         Include test-ldexp.h.
2956         (x, y): Remove variables.
2957         (main): Just call test_function.
2958         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
2959         infinity.h, nan.h.
2960         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
2961         MAX_EXP): New macros.
2962         Include test-ldexp.h.
2963         (x, y): Remove variables.
2964         (main): Just call test_function.
2965         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
2966         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
2967         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
2968         (Depends-on): Add isnand-nolibm, signbit, float.
2969         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
2970         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
2971         (Depends-on): Add isnanf-nolibm, signbit, float.
2972
2973 2011-11-06  Bruno Haible  <bruno@clisp.org>
2974
2975         math tests: Cosmetics.
2976         * tests/test-math-c++.cc: Reorder declarations.
2977
2978 2011-11-05  Bruno Haible  <bruno@clisp.org>
2979
2980         fma*: Simplify test.
2981         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
2982         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
2983
2984         Tests for module 'fmal'.
2985         * modules/fmal-tests: New file.
2986         * tests/test-fmal1.c: New file.
2987         * tests/test-fmal2.c: New file.
2988
2989         New module 'fmal'.
2990         * lib/math.in.h (fmal): New declaration.
2991         * lib/fmal.c: New file.
2992         * m4/fmal.m4: New file.
2993         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
2994         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
2995         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
2996         REPLACE_FMAL.
2997         * modules/fmal: New file.
2998         * doc/posix-functions/fmal.texi: Mention the new module and the various
2999         bugs.
3000
3001         Tests for module 'fmaf'.
3002         * modules/fmaf-tests: New file.
3003         * tests/test-fmaf1.c: New file.
3004         * tests/test-fmaf2.c: New file.
3005
3006         New module 'fmaf'.
3007         * lib/math.in.h (fmaf): New declaration.
3008         * lib/fmaf.c: New file.
3009         * m4/fmaf.m4: New file.
3010         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
3011         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
3012         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
3013         REPLACE_FMAF.
3014         * modules/fmaf: New file.
3015         * doc/posix-functions/fmaf.texi: Mention the new module and the various
3016         bugs.
3017
3018         Tests for module 'fma'.
3019         * modules/fma-tests: New file.
3020         * tests/test-fma1.c: New file.
3021         * tests/test-fma1.h: New file.
3022         * tests/test-fma2.c: New file.
3023         * tests/test-fma2.h: New file.
3024
3025         New module 'fma'.
3026         * lib/math.in.h (fma): New declaration.
3027         * lib/fma.c: New file.
3028         * m4/fma.m4: New file.
3029         * m4/fegetround.m4: New file.
3030         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
3031         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
3032         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
3033         REPLACE_FMA.
3034         * modules/fma: New file.
3035         * doc/posix-functions/fma.texi: Mention the new module and the various
3036         bugs.
3037
3038         Extend gl_MATHFUNC.
3039         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
3040         Support 'void' as argument type.
3041         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
3042
3043 2011-11-05  Jim Meyering  <meyering@redhat.com>
3044
3045         maint.mk: also prohibit inclusion of dirent.h without use
3046         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
3047
3048 2011-11-05  Bruno Haible  <bruno@clisp.org>
3049
3050         ldexpl tests: Avoid test failure on MSVC 9.
3051         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
3052         value. Needed in order to enforce the conversion from a value greater
3053         than LDBL_MAX to Infinity.
3054
3055 2011-11-05  Bruno Haible  <bruno@clisp.org>
3056
3057         New modules 'at-internal', 'openat-h', split off from module 'openat'.
3058         * modules/at-internal: New file, extracted from modules/openat.
3059         * modules/openat-h: New file.
3060         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
3061         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
3062         * modules/openat (Description): Add reference to POSIX function.
3063         (Files): Remove lib/openat.h, lib/openat-proc.c.
3064         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
3065         intprops, unistd.
3066         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
3067         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
3068         gl_FCNTL_MODULE_INDICATOR.
3069         (Include): Remove unistd.h, openat.h.
3070         * modules/areadlinkat (Files): Add lib/at-func.c.
3071         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
3072         openat-die, openat-h, save-cwd.
3073         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
3074         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
3075         openat-die, openat-h, save-cwd, unistd.
3076         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
3077         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3078         openat-h, save-cwd. Remove fcntl-h, openat.
3079         * modules/fchmodat (Files): Remove lib/openat.h.
3080         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
3081         openat, stdbool, unistd.
3082         * modules/fchownat (Files): Remove lib/openat.h.
3083         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
3084         openat, stdbool, sys_stat.
3085         * modules/fdopendir (Files): Remove lib/openat-priv.h,
3086         lib/openat-proc.c.
3087         (Depends-on): Add at-internal.
3088         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
3089         * modules/fstatat (Files): Remove lib/openat.h.
3090         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
3091         stdbool, unistd.
3092         * modules/fts (Depends-on): Add openat-h.
3093         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
3094         openat.
3095         * modules/mkdirat (Files): Remove lib/openat.h.
3096         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
3097         openat, stdbool, sys_stat.
3098         * modules/mkfifoat (Files): Add lib/at-func.c.
3099         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3100         openat-h, save-cwd. Remove fcntl-h, openat.
3101         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
3102         * modules/readlinkat (Files): Add lib/at-func.c.
3103         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3104         openat-h, save-cwd. Remove fcntl-h, openat.
3105         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
3106         openat.
3107         * modules/selinux-at (Files): Add lib/at-func.c.
3108         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
3109         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
3110         * modules/symlinkat (Files): Add lib/at-func.c.
3111         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3112         openat-h, save-cwd. Remove fcntl-h, openat.
3113         * modules/unlinkat (Files): Remove lib/openat.h.
3114         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
3115         stdbool.
3116         * modules/utimensat (Files): Add lib/at-func.c.
3117         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
3118         openat-die, openat-h, save-cwd.
3119         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
3120         * modules/fdutimensat-tests (Depends-on): Add openat.
3121         * modules/fstatat-tests (Depends-on): Add openat-h.
3122         * modules/readlinkat-tests (Depends-on): Add openat.
3123         * modules/symlinkat-tests (Depends-on): Add openat.
3124
3125 2011-11-05  Bruno Haible  <bruno@clisp.org>
3126
3127         openat: Include <stdbool.h>.
3128         * lib/openat.c: Include <stdbool.h>.
3129
3130 2011-11-04  Bruno Haible  <bruno@clisp.org>
3131
3132         fchownat, renameat, unlinkat: Fix dependencies.
3133         * modules/fchownat (Depends-on): Add fstatat.
3134         * modules/renameat (Depends-on): Likewise.
3135         * modules/unlinkat (Depends-on): Likewise.
3136
3137 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
3138
3139         openat: remove direct dependency on dirent
3140         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
3141         and hasn't been needed ever since fdopendir was split into its own
3142         module on 2009-08-31.
3143         * modules/openat (Depends-on): Remove dirent.
3144
3145 2011-11-04  Bruno Haible  <bruno@clisp.org>
3146
3147         renameat: Optimize code size.
3148         * modules/renameat (configure.ac): Don't compile at-func2.c if
3149         REPLACE_RENAMEAT is 1.
3150
3151 2011-11-04  Bruno Haible  <bruno@clisp.org>
3152
3153         openat tests: Fix file list.
3154         * modules/openat-tests (Files): Add tests/test-open.h.
3155
3156 2011-11-04  Bruno Haible  <bruno@clisp.org>
3157
3158         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
3159         * modules/fchmodat (Depends-on): Add openat-die.
3160         * modules/fchownat (Depends-on): Likewise.
3161         * modules/linkat (Depends-on): Likewise.
3162         * modules/renameat (Depends-on): Likewise.
3163         * modules/openat (Depends-on): Add dirent.
3164
3165 2011-11-04  Jim Meyering  <meyering@redhat.com>
3166
3167         at-func*.c: fix comments
3168         * lib/at-func2.c: Correct/improve first-line comment.
3169         * lib/at-func.c: Correct grammar in first-line comment.
3170
3171 2011-11-04  Bruno Haible  <bruno@clisp.org>
3172
3173         New module 'mkdirat', split off from module 'openat'.
3174         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
3175         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
3176         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
3177         * modules/mkdirat: New file, extracted from modules/openat.
3178         * modules/openat (Files): Remove lib/mkdirat.c.
3179         (Depends-on): Remove mkdir.
3180         (configure.ac): Remove AC_LIBOBJ of mkdirat.
3181         (Include): Remove <sys/stat.h>.
3182         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
3183         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
3184         tests/test-mkdir.h.
3185         (Depends-on): Remove ignore-value.
3186         (Makefile.am): Remove rules for test-mkdirat.
3187         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
3188         of module 'openat'.
3189         * NEWS: Mention the change.
3190
3191 2011-11-04  Bruno Haible  <bruno@clisp.org>
3192
3193         closedir: Avoid warning on mingw.
3194         * lib/closedir.c: Include <unistd.h>.
3195
3196 2011-11-04  Bruno Haible  <bruno@clisp.org>
3197
3198         New module 'fstatat', split off from module 'openat'.
3199         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
3200         defined.
3201         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
3202         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
3203         gl_FUNC_FSTATAT.
3204         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
3205         * modules/fstatat: New file, extracted from modules/openat.
3206         * modules/openat (Files): Remove lib/fstatat.c.
3207         (Depends-on): Remove lstat.
3208         (configure.ac): Remove AC_LIBOBJ of fstatat.
3209         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
3210         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
3211         tests/test-lstat.h, tests/test-stat.h.
3212         (Depends-on): Remove getcwd-lgpl.
3213         (Makefile.am): Remove rules for test-fstatat.
3214         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
3215         of module 'openat'.
3216         * NEWS: Mention the change.
3217         * modules/getcwd (Depends-on): Add fstatat.
3218         * modules/linkat (Depends-on): Likewise.
3219         * modules/mkfifoat-tests (Depends-on): Likewise.
3220         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
3221
3222 2011-11-03  Bruno Haible  <bruno@clisp.org>
3223
3224         New module 'unlinkat', split off from module 'openat'.
3225         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
3226         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
3227         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
3228         * modules/unlinkat: New file, extracted from modules/openat. Correct
3229         the dependency conditions.
3230         * modules/openat (Files): Remove lib/unlinkat.c.
3231         (Depends-on): Remove rmdir, unlink.
3232         (configure.ac): Remove AC_LIBOBJ of unlinkat.
3233         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
3234         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
3235         tests/test-rmdir.h, tests/test-unlink.h.
3236         (Depends-on): Remove unlinkdir.
3237         (Makefile.am): Remove rules for test-unlinkat.
3238         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
3239         of module 'openat'.
3240         * NEWS: Mention the change.
3241         * modules/linkat-tests (Depends-on): Add unlinkat.
3242         * modules/mkfifoat-tests (Depends-on): Likewise.
3243         * modules/readlinkat-tests (Depends-on): Likewise.
3244
3245 2011-11-02  Bruno Haible  <bruno@clisp.org>
3246
3247         New module 'fchmodat', split off from module 'openat'.
3248         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
3249         defined.
3250         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
3251         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
3252         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
3253         * modules/fchmodat: New file, extracted from modules/openat.
3254         * modules/openat (Files): Remove lib/fchmodat.c.
3255         (configure.ac): Remove AC_LIBOBJ of fchmodat.
3256         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
3257         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
3258         (Makefile.am): Remove rules for test-fchmodat.
3259         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
3260         of module 'openat'.
3261         * NEWS: Mention the change.
3262
3263 2011-11-02  Jim Meyering  <meyering@redhat.com>
3264
3265         putenv: indent #definition of "environ" to placate cppi
3266         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
3267
3268         gitlog-to-changelog: provide a ChangeLog-repair mechanism
3269         Git logs are often treated as immutable, because editing them
3270         changes the SHA1 checksums of all descendants.  Thus, errors in
3271         git logs tend to stay there forever.  However, when we generate
3272         a ChangeLog file -- typically for distribution -- from that git log,
3273         we can actually make corrections in the generated file.  The key
3274         lies in recording in machine-readable/applicable form the desired
3275         corrections.  See --help for description and an example.
3276         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
3277         (usage): Describe it; alphabetize option descriptions.
3278         (main): Honor the new option, carefully.
3279
3280 2011-11-01  Jim Meyering  <meyering@redhat.com>
3281
3282         gitlog-to-changelog: avoid an infloop
3283         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
3284         that ends up being empty.
3285
3286 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
3287
3288         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
3289         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
3290         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
3291         contains (possibly-quoted) backslashes.  This should avoid
3292         all-too-common shell bugs if COMPLICATED contains backslashes in
3293         the "wrong" places.  Reported by David Evans in
3294         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
3295         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
3296         because we want ASCII ranges.  Is there some reason we don't use
3297         the C locale everywhere in this script?
3298         (func_module, top level): Avoid unwanted pathname expansion when
3299         $repo_url_prefix or $repo_url_suffix_repl contain shell
3300         metacharacters like '?' and '*'.
3301
3302 2011-11-01  Bruno Haible  <bruno@clisp.org>
3303
3304         fchownat: Improve description.
3305         * modules/fchownat (Description): Add link to function.
3306
3307 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
3308
3309         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
3310         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
3311         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
3312         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
3313
3314 2011-11-01  Bruno Haible  <bruno@clisp.org>
3315
3316         alignof: Avoid collision with stdalign module.
3317         * lib/alignof.h (alignof): Remove macro.
3318         * NEWS: Mention the change.
3319         Reported by Paul Eggert.
3320
3321 2011-11-01  Bruno Haible  <bruno@clisp.org>
3322
3323         New module 'fchownat', split off from module 'openat'.
3324         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
3325         defined.
3326         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
3327         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
3328         invoke gl_FUNC_FCHOWNAT.
3329         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
3330         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
3331         * modules/fchownat: New file, extracted from modules/openat.
3332         * modules/openat (Files): Remove lib/fchownat.c.
3333         (Depends-on): Remove lchown.
3334         (configure.ac): Remove AC_LIBOBJ of fchownat.
3335         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
3336         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
3337         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
3338         (Depends-on): Remove mgetgroups, usleep, stat-time.
3339         (configure.ac): Remove test for getegid.
3340         (Makefile.am): Remove rules for test-fchownat.
3341         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
3342         of module 'openat'.
3343         * NEWS: Mention the change.
3344
3345 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
3346
3347         stdalign: port better to MSVC and to Sun C 5.11
3348         This fixes some of the problems reported by Bruno Haible in
3349         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
3350         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
3351         shortcomings of MSVC and of Sun C 5.11.
3352         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
3353         around __declspec arg.
3354         * modules/stdalign-tests (Files): Add tests/macros.h.
3355         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
3356         Include macros.h, for ASSERT.
3357         (DECLARE_ALIGNED): Remove.
3358         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
3359         to catch bug), and to 1 if not (simplifies the rest of the code).
3360         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
3361         (CHECK_AUTO): Remove.
3362         (CHECK_ALIGNED): Check only the alignment of the static vars,
3363         since auto var alignment isn't supported by Sun C 5.11.
3364         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
3365         ASSERT failures are easier to diagnose.
3366
3367 2011-10-31  Bruno Haible  <bruno@clisp.org>
3368
3369         doc about some IRIX 5.3 problems.
3370         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
3371         on IRIX 5.3.
3372         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
3373         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
3374         5.3.
3375         * doc/posix-functions/grantpt.texi: Likewise.
3376         * doc/posix-functions/unlockpt.texi: Likewise.
3377         * doc/posix-functions/lgamma.texi: Likewise.
3378         * doc/posix-functions/nextafter.texi: Likewise.
3379         * doc/posix-functions/remainder.texi: Likewise.
3380         * doc/posix-functions/select.texi: Mention misplaced declaration on
3381         IRIX 5.3.
3382         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3383
3384 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
3385
3386         gitlog-to-changelog: fix git-log invocation.
3387         git-log mishandles date strings before 1970-01-01 UTC, and there is
3388         no use to specify --since=1970-01-01 by default anyway.
3389         * build-aux/gitlog-to-changelog: By default, when no --since option
3390         was given, do not specify explicit --since option to git-log.
3391
3392 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
3393
3394         gitlog-to-changelog: new option --append-dot.
3395         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
3396         first non-blank line of each commit message terminated with a dot.
3397
3398 2011-10-30  Bruno Haible  <bruno@clisp.org>
3399
3400         ffsl, ffsll: Avoid compilation error due to 'restrict'.
3401         * lib/ffsl.h: Include <config.h>.
3402         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
3403
3404 2011-10-30  Jim Meyering  <meyering@redhat.com>
3405
3406         GNUmakefile: reenable "make syntax-check" for most projects
3407         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
3408         build-aux variable", "syntax-check" would do nothing but succeed with
3409         the "No version control files detected..." diagnostic (unless you
3410         happened to override _build-aux via cfg.mk).
3411         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
3412         to precede inclusion of maint.mk.  Otherwise, these variables would
3413         be used undefined in any project that does not override the default.
3414
3415 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
3416
3417         gitlog-to-changelog: treat a message with only blank lines as empty.
3418         * build-aux/gitlog-to-changelog: Move the code that removes leading and
3419         trailing blank lines before the code that issues a warning about an
3420         empty commit message.
3421
3422 2011-10-30  Jim Meyering  <meyering@redhat.com>
3423
3424         test-parse-datetime.c: avoid new DST-related false positive test failure
3425         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
3426         based on the time/date we'll convert, not the current time.
3427         Otherwise, the moment we cross a DST boundary like today's in
3428         Europe, (CEST to CET), that offset ends up being one hour off.
3429
3430 2011-10-27  Bruno Haible  <bruno@clisp.org>
3431
3432         fstat: Tweak documentation.
3433         * modules/fstat (Description): More precise description.
3434
3435 2011-10-27  Bruno Haible  <bruno@clisp.org>
3436
3437         Update documentation regarding 'largefile' module.
3438         * doc/posix-functions/fstat.texi: Tweak wording.
3439         * doc/posix-functions/opendir.texi: Mention that the module fixes the
3440         problems with huge directories and/or small ino_t types.
3441         * doc/posix-functions/readdir.texi: Likewise.
3442         * doc/posix-functions/rewinddir.texi: Likewise.
3443
3444 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
3445
3446         maint.mk: don't maintain a second build-aux variable.
3447         * maint.mk (build_aux): Removed.  The maintainer-makefile module
3448         depends on GNUmakefile, which already maintains a cfg.mk
3449         overridable $(_build-aux) for projects with a non-standard
3450         build-aux directory location, although without the $(srcdir)
3451         prefix.  Use that variable consistently instead of introducing a
3452         second one.  Adjust all call sites.
3453
3454 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
3455
3456         Add stdalign module and use it in other modules.
3457         This is based on a previous proposal by Bruno Haible
3458         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
3459
3460         stdalign: new module
3461         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
3462         * modules/stdalign: New files.
3463         * MODULES.html.sh (c1x_core_properties): Add stdalign.
3464         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
3465
3466         stdalign-tests: new module
3467         * modules/stdalign-tests, tests/test-stdalign.c: New files.
3468
3469         argp: use stdalign
3470         * lib/argp-parse.c: Include <stdalign.h>.
3471         (alignof): Remove.
3472         * modules/argp (Depends-on): Add stdalign.
3473
3474         crypto libraries: use stdalign
3475         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
3476         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
3477         Do not include <stdlib.h> twice, in md4.c.
3478         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
3479         because we are accessing a pointer's bit-pattern, not a size.
3480         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
3481         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
3482         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
3483         * modules/crypto/sha512: Likewise.
3484
3485         sys_socket: use stdalign, not alignof
3486         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
3487         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
3488
3489 2011-10-27  Bruno Haible  <bruno@clisp.org>
3490
3491         raise test: Avoid a test failure on Linux/MIPS.
3492         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
3493         because 99 is a valid signal on Linux/MIPS.
3494
3495 2011-10-27  Bruno Haible  <bruno@clisp.org>
3496
3497         nonblocking tests: Fix test failure on Linux/MIPS.
3498         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
3499         Set to 270000.
3500
3501 2011-10-27  Bruno Haible  <bruno@clisp.org>
3502
3503         utimensat: Work around problem on Linux/hppa.
3504         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
3505         values.
3506         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
3507
3508 2011-10-25  Jim Meyering  <meyering@redhat.com>
3509
3510         maint.mk: fix a bug in sc_prohibit_stddef_without_use
3511         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
3512         after symbols like NULL, size_t, etc.
3513         Reported by Alfred M. Szmidt.
3514
3515         maint.mk: exempt ENODATA from a syntax-check rule
3516         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
3517         from the sc_prohibit_always-defined_macros syntax-check rule.
3518         Add a comment.  See this for more details:
3519         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
3520
3521 2011-10-23  Jim Meyering  <meyering@redhat.com>
3522
3523         fts: close parent dir FD before returning from post-traversal fts_read
3524         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
3525         unlink A, even though an FD open on A remained.  This is suboptimal
3526         (holding a file descriptor open longer than needed), but otherwise not
3527         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
3528         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
3529         that represents a real problem: it causes the removal of A to fail
3530         with e.g., "rm: cannot remove `A': Device or resource busy"
3531
3532         fts visits each directory twice and keeps a cache (fts_fd_ring) of
3533         directory file descriptors.  After completing the final, FTS_DP,
3534         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
3535         cache, but then proceeded to add a new FD to it via the subsequent
3536         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
3537         final file descriptor would be closed only via fts_close's call to
3538         fd_ring_clear.  Now, it is usually closed earlier, via the final
3539         FTS_DP-returning fts_read call.
3540         * lib/fts.c (restore_initial_cwd): New function, converted from
3541         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
3542         Update callers.
3543         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
3544         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
3545
3546 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
3547             Bruno Haible  <bruno@clisp.org>
3548             Jim Meyering  <jim@meyering.net>
3549
3550         readme-release: improve safety of release prep instructions.
3551         * README-release: Don't git pull all branches when only master
3552         is needed for the release process.
3553         Run make maintainer-clean before changing trees and merging.
3554         Don't try to run ./configure right after git pull in case files
3555         that influence the bootstrap process have changed, move the
3556         ./configure step to after running ./bootstrap.
3557         Don't bootstrap "one last time"... it's the first time!
3558
3559 2011-10-22  Bruno Haible  <bruno@clisp.org>
3560
3561         errno, strerror-override: Support for MSVC 10.
3562         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
3563         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
3564         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
3565         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
3566         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
3567         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
3568         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
3569         Assign values compatible with MSVC 10.
3570         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
3571         New macros.
3572         (GNULIB_defined_EWINSOCK): New macro.
3573         * lib/strerror-override.c (strerror_override): Update accordingly.
3574         * lib/strerror-override.h: Likewise.
3575         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
3576         longer equal to the corresponding errno value.
3577         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3578
3579 2011-10-22  Bruno Haible  <bruno@clisp.org>
3580
3581         perror: Recognize when test program crashes.
3582         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
3583         strerror, set gl_cv_func_perror_works to no.
3584         Reported by Daniel Richard G. <skunk@iskunk.org>.
3585
3586         perror: Fix indentation.
3587         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
3588
3589 2011-10-22  Bruno Haible  <bruno@clisp.org>
3590
3591         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
3592         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
3593         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
3594         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
3595         functions, not as a macro.
3596         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
3597         macros.
3598         (isfinite, isinf, isnan, signbit): Check overloaded functions and
3599         absence of macro.
3600         Suggested by Eric Blake.
3601         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3602
3603 2011-10-21  Bruno Haible  <bruno@clisp.org>
3604
3605         relocatable-prog-wrapper: Don't leave object files behind.
3606         * build-aux/install-reloc: Re-synchronize list of .o files to be
3607         removed with list of compilation units.
3608
3609 2011-10-20  Bruno Haible  <bruno@clisp.org>
3610
3611         openpty, posix_openpt: Remove code duplication.
3612         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
3613         * lib/openpty.c: Include <stdlib.h>.
3614         (openpty): Use posix_openpt on all platforms except IRIX.
3615         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
3616
3617 2011-10-20  Bruno Haible  <bruno@clisp.org>
3618
3619         unlockpt: Detect invalid argument.
3620         * lib/unlockpt.c: Include <fcntl.h>.
3621         (unlockpt): Check whether fd is valid, using fcntl().
3622         * modules/unlockpt (Depends-on): Add fcntl-h.
3623
3624 2011-10-20  Bruno Haible  <bruno@clisp.org>
3625
3626         openpty: Avoid compilation error on AIX 6.1.
3627         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
3628
3629 2011-10-20  Bruno Haible  <bruno@clisp.org>
3630
3631         posix_openpt: Support for OpenBSD.
3632         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
3633         (posix_openpt) [OpenBSD]: New code.
3634         * lib/grantpt.c: Include <fcntl.h>.
3635         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
3636         * modules/grantpt (Depends-on): Add fcntl-h.
3637
3638 2011-10-20  Bruno Haible  <bruno@clisp.org>
3639
3640         posix_openpt test: Coding style.
3641         * tests/test-posix_openpt.c: Use GNU coding style.
3642
3643 2011-10-20  Bruno Haible  <bruno@clisp.org>
3644
3645         grantpt: Support --avoid=pt_chown.
3646         * modules/grantpt (Files): Add lib/pty-private.h.
3647
3648 2011-10-20  Bruno Haible  <bruno@clisp.org>
3649
3650         posix_openpt: Fix autoconf macro.
3651         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
3652         unneeded check for _getpty.
3653
3654 2011-10-20  Bruno Haible  <bruno@clisp.org>
3655
3656         openpty: Update comments.
3657         * lib/openpty.c: Add comments about Minix.
3658
3659 2011-10-19  Eric Blake  <eblake@redhat.com>
3660
3661         openpty: relax license
3662         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
3663
3664         pt_chown: use configmake to simplify build
3665         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
3666
3667         ptsname and others: relax license
3668         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
3669         * modules/unlockpt (License): Likewise.
3670         * modules/pt_chown (License): Likewise.
3671         * modules/ptsname (License): Likewise.
3672         * modules/ttyname_r (License): Likewise.
3673
3674 2011-10-19  Jim Meyering  <meyering@redhat.com>
3675
3676         posix_openpt: remove spurious #endif
3677         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
3678
3679 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
3680
3681         maint.mk: Respect $(build_aux) in web-manual rule.
3682         * top/maint.mk (web-manual): Find gen-announce script in user's
3683         $(build_aux) directory instead of hard-coding 'build-aux'.
3684
3685 2011-10-19  Bruno Haible  <bruno@clisp.org>
3686
3687         posix_openpt: Fix compilation error.
3688         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
3689         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
3690         Mention the openpty module as an alternative.
3691
3692 2011-10-19  Bruno Haible  <bruno@clisp.org>
3693
3694         Support for old NeXTstep 3.3 frexp().
3695         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
3696         execution time of the test to 5 seconds.
3697         Reported by Daniel Richard G. <skunk@iskunk.org>.
3698
3699 2011-10-19  Bruno Haible  <bruno@clisp.org>
3700
3701         Support for old NeXTstep 3.3 sed.
3702         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
3703         part, use /.../, not \|...|. Escape periods in the header file name.
3704         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3705         Reported by Daniel Richard G. <skunk@iskunk.org>.
3706
3707 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
3708
3709         Support for old NeXTstep 3.3 gcc.
3710         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
3711         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
3712         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
3713         * lib/spawn.in.h (_Restrict_arr_): Likewise.
3714         * lib/regex.h (_Restrict_arr_): Likewise.
3715         * lib/regex_internal.h (re_token_t): Likewise.
3716         * lib/regexec.c (check_node_accept_bytes): Likewise.
3717         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
3718
3719 2011-10-18  Eric Blake  <eblake@redhat.com>
3720
3721         posix_openpt: new module
3722         * modules/posix_openpt: New module.
3723         * m4/posix_openpt.m4: New file.
3724         * lib/posix_openpt.c: Likewise.
3725         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
3726         (gl_STDLIB_H_DEFAULTS): Set defaults.
3727         * modules/stdlib (Makefile.am): Substitute macros.
3728         * lib/stdlib.in.h (posix_openpt): Declare.
3729         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
3730         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
3731         * modules/posix_openpt-tests: New test module.
3732         * tests/test-posix_openpt.c: New test.
3733
3734 2011-10-15  Bruno Haible  <bruno@clisp.org>
3735
3736         xstrtoll: Fix compilation failure.
3737         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
3738         from lib/strtol.c.
3739         * doc/posix-headers/limits.texi: Mention missing numerical limits on
3740         some platforms.
3741         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3742
3743 2011-10-15  Bruno Haible  <bruno@clisp.org>
3744
3745         vasnprintf: Optimize bit search operation.
3746         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
3747         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
3748         gl_DOUBLE_EXPONENT_LOCATION.
3749         * modules/vasnprintf (Files): Add m4/exponentd.m4.
3750         * modules/unistdio/u8-vasnprintf (Files): Likewise.
3751         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
3752         * modules/unistdio/u16-vasnprintf (Files): Likewise.
3753         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
3754         * modules/unistdio/u32-vasnprintf (Files): Likewise.
3755         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
3756         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
3757         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
3758
3759 2011-10-15  Bruno Haible  <bruno@clisp.org>
3760
3761         vasnprintf: Fix comments.
3762         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
3763
3764 2011-10-14  Bruno Haible  <bruno@clisp.org>
3765
3766         Tests for module 'integer_length_ll'.
3767         * modules/integer_length_ll-tests: New file.
3768         * tests/test-integer_length_ll.c: New file.
3769
3770         New module 'integer_length_ll'.
3771         * lib/integer_length_ll.c: New file.
3772         * modules/integer_length_ll: New file.
3773
3774 2011-10-14  Bruno Haible  <bruno@clisp.org>
3775
3776         Tests for module 'integer_length_l'.
3777         * modules/integer_length_l-tests: New file.
3778         * tests/test-integer_length_l.c: New file.
3779
3780         New module 'integer_length_l'.
3781         * lib/integer_length_l.c: New file.
3782         * modules/integer_length_l: New file.
3783
3784 2011-10-14  Bruno Haible  <bruno@clisp.org>
3785
3786         Tests for module 'integer_length'.
3787         * modules/integer_length-tests: New file.
3788         * tests/test-integer_length.c: New file.
3789
3790         New module 'integer_length'.
3791         * lib/integer_length.h: New file.
3792         * lib/integer_length.c: New file.
3793         * modules/integer_length: New file.
3794
3795 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
3796
3797         popen: Fix dependency conditions.
3798         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
3799
3800 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
3801
3802         perror: Fix autoconf test.
3803         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
3804         <stdlib.h> and <string.h>.
3805
3806 2011-10-14  Bruno Haible  <bruno@clisp.org>
3807
3808         ffsl: Optimize on 64-bit platforms.
3809         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
3810         unrolling.
3811
3812 2011-10-13  Bruno Haible  <bruno@clisp.org>
3813
3814         ffsl: Optimize on 32-bit platforms.
3815         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
3816         use ffs() without a loop.
3817
3818         ffsl, ffsll: Optimize for GCC.
3819         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
3820         * lib/ffsl.c (GCC_BUILTIN): New macro.
3821         * lib/ffsll.c (GCC_BUILTIN): Likewise.
3822
3823 2011-10-13  Bruno Haible  <bruno@clisp.org>
3824
3825         ffs, bcopy, memset: Support symbol renaming via config.h.
3826         * lib/ffs.c: Include <config.h>.
3827         * lib/bcopy.c: Likewise.
3828         * lib/memset.c: Likewise.
3829
3830 2011-10-10  Bruno Haible  <bruno@clisp.org>
3831
3832         atanl: Simplify for platforms where 'long double' == 'double'.
3833         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3834         alternative implementation.
3835         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3836         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3837         * modules/atanl (Depends-on): Add atan. Update conditions.
3838
3839 2011-10-10  Bruno Haible  <bruno@clisp.org>
3840
3841         acosl: Simplify for platforms where 'long double' == 'double'.
3842         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3843         alternative implementation.
3844         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3845         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3846         * modules/acosl (Depends-on): Add acos. Update conditions.
3847
3848 2011-10-10  Bruno Haible  <bruno@clisp.org>
3849
3850         asinl: Simplify for platforms where 'long double' == 'double'.
3851         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3852         alternative implementation.
3853         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3854         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3855         * modules/asinl (Depends-on): Add asin. Update conditions.
3856
3857 2011-10-10  Bruno Haible  <bruno@clisp.org>
3858
3859         tanl: Simplify for platforms where 'long double' == 'double'.
3860         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3861         implementation.
3862         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3863         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3864         * modules/tanl (Depends-on): Add tan. Update conditions.
3865         (configure.ac): Don't compile trigl.c if
3866         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3867
3868 2011-10-10  Bruno Haible  <bruno@clisp.org>
3869
3870         cosl: Simplify for platforms where 'long double' == 'double'.
3871         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3872         implementation.
3873         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3874         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3875         * modules/cosl (Depends-on): Add cos. Update conditions.
3876         (configure.ac): Don't compile sincosl.c and trigl.c if
3877         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3878
3879 2011-10-10  Bruno Haible  <bruno@clisp.org>
3880
3881         sinl: Simplify for platforms where 'long double' == 'double'.
3882         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3883         implementation.
3884         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3885         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3886         * modules/sinl (Depends-on): Add sin. Update conditions.
3887         (configure.ac): Don't compile sincosl.c and trigl.c if
3888         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3889
3890 2011-10-10  Bruno Haible  <bruno@clisp.org>
3891
3892         logl: Simplify for platforms where 'long double' == 'double'.
3893         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3894         implementation.
3895         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3896         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3897         * modules/logl (Depends-on): Add log. Update conditions.
3898
3899 2011-10-10  Bruno Haible  <bruno@clisp.org>
3900
3901         expl: Simplify for platforms where 'long double' == 'double'.
3902         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3903         implementation.
3904         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3905         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3906         * modules/expl (Depends-on): Add exp. Update conditions.
3907
3908 2011-10-10  Bruno Haible  <bruno@clisp.org>
3909
3910         sqrtl: Simplify for platforms where 'long double' == 'double'.
3911         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3912         alternative implementation.
3913         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3914         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3915         * modules/sqrtl (Depends-on): Update conditions.
3916
3917 2011-10-10  Bruno Haible  <bruno@clisp.org>
3918
3919         ldexpl: Simplify for platforms where 'long double' == 'double'.
3920         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3921         alternative implementation.
3922         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3923         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3924         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
3925
3926 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
3927
3928         ffsll: set correct witness
3929         * modules/ffsll (configure.ac): Fix typo.
3930
3931 2011-10-10  Bruno Haible  <bruno@clisp.org>
3932
3933         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
3934         * lib/printf-frexpl.c: Include <config.h>.
3935         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3936         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
3937         second time.
3938         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
3939         gl_LONG_DOUBLE_VS_DOUBLE.
3940         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
3941         conditions.
3942
3943 2011-10-10  Bruno Haible  <bruno@clisp.org>
3944
3945         frexpl: Simplify for platforms where 'long double' == 'double'.
3946         * lib/frexpl.c: Include <config.h>.
3947         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3948         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3949         time.
3950         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3951         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3952         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
3953         * modules/frexpl (Depends-on): Add frexp. Update conditions.
3954         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
3955         conditions.
3956
3957 2011-10-10  Jim Meyering  <meyering@redhat.com>
3958
3959         test-renameat: don't leave behind a temporary file
3960         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
3961           ERROR: files left in build directory after distclean:
3962           ./gltests/test-renameat.too
3963           make[1]: *** [distcleancheck] Error 1
3964         Reported by Tom G. Christensen.
3965
3966 2011-10-09  Bruno Haible  <bruno@clisp.org>
3967
3968         rint: Determine RINT_LIBM correctly on AIX 7.
3969         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
3970         directly, not only through a function pointer. Also accept an optional
3971         4th argument with extra code.
3972         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
3973         rintf() call by gcc when optimizing.
3974
3975         mathfunc.m4: Refactor.
3976         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
3977         m4 variable.
3978
3979 2011-10-09  Bruno Haible  <bruno@clisp.org>
3980
3981         rintl: Simplify for platforms where 'long double' == 'double'.
3982         * lib/rintl.c: Include <config.h>.
3983         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3984         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3985         time.
3986         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3987         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3988         * modules/rintl (Depends-on): Add rint. Update conditions.
3989
3990 2011-10-09  Bruno Haible  <bruno@clisp.org>
3991
3992         roundl: Simplify for platforms where 'long double' == 'double'.
3993         * lib/roundl.c: Include <config.h>.
3994         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3995         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3996         time.
3997         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3998         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3999         * modules/roundl (Depends-on): Add round. Update conditions.
4000
4001 2011-10-09  Bruno Haible  <bruno@clisp.org>
4002
4003         truncl: Simplify for platforms where 'long double' == 'double'.
4004         * lib/truncl.c: Include <config.h>.
4005         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4006         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4007         time.
4008         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4009         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4010         * modules/truncl (Depends-on): Add trunc. Update conditions.
4011
4012 2011-10-09  Bruno Haible  <bruno@clisp.org>
4013
4014         ceill: Simplify for platforms where 'long double' == 'double'.
4015         * lib/ceill.c: Include <config.h>.
4016         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4017         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4018         time.
4019         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4020         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4021         * modules/ceill (Depends-on): Add ceil. Update conditions.
4022
4023 2011-10-09  Bruno Haible  <bruno@clisp.org>
4024
4025         floorl: Simplify for platforms where 'long double' == 'double'.
4026         * lib/floorl.c: Include <config.h>.
4027         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4028         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4029         time.
4030         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4031         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4032         * modules/floorl (Depends-on): Add floor. Update conditions.
4033
4034 2011-10-09  Bruno Haible  <bruno@clisp.org>
4035
4036         rint: Fix ordering constraints.
4037         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
4038         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
4039         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
4040
4041 2011-10-09  Bruno Haible  <bruno@clisp.org>
4042
4043         copysignl: Simplify for platforms where 'long double' == 'double'.
4044         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4045         alternative.
4046         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4047         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4048         * modules/copysignl (Depends-on): Add copysign. Update conditions.
4049
4050 2011-10-09  Bruno Haible  <bruno@clisp.org>
4051
4052         Tests for module 'rintl'.
4053         * modules/rintl-tests: New file.
4054         * tests/test-rintl.c: New file.
4055
4056         New module 'rintl'.
4057         * lib/math.in.h (rintl): New declaration.
4058         * lib/rintl.c: New file.
4059         * m4/rintl.m4: New file.
4060         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
4061         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
4062         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
4063         * modules/rintl: New file.
4064         * tests/test-math-c++.cc: Check the declaration of rintl.
4065         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
4066         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
4067         * doc/posix-functions/rintl.texi: Mention the new module.
4068
4069 2011-10-09  Bruno Haible  <bruno@clisp.org>
4070
4071         Tests for module 'rintf'.
4072         * modules/rintf-tests: New file.
4073         * tests/test-rintf.c: New file.
4074
4075         New module 'rintf'.
4076         * lib/math.in.h (rintf): New declaration.
4077         * lib/rintf.c: New file.
4078         * m4/rintf.m4: New file.
4079         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
4080         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
4081         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
4082         * modules/rintf: New file.
4083         * tests/test-math-c++.cc: Check the declaration of rintf.
4084         * doc/posix-functions/rintf.texi: Mention the new module.
4085
4086 2011-10-09  Bruno Haible  <bruno@clisp.org>
4087
4088         rint: Support for MSVC.
4089         * lib/math.in.h (rint): New declaration.
4090         * lib/rint.c: New file.
4091         * m4/rint.m4: New file.
4092         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
4093         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
4094         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
4095         * modules/rint (Description): Fix.
4096         (Files): Add lib/rint.c, m4/rint.m4.
4097         (Depends-on): Add math.
4098         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
4099         gl_MATH_MODULE_INDICATOR.
4100         * tests/test-math-c++.cc: Check the declaration of rint.
4101         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
4102         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
4103         * doc/posix-functions/rint.texi: Mention the replacement provided by
4104         the module.
4105
4106         rint tests: More tests.
4107         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
4108         minus-zero.h, infinity.h, nan.h.
4109         (main): Skip the test if the current rounding mode is not standard. Add
4110         tests for negative numbers, minus zero, infinity, NaN.
4111         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
4112         tests/nan.h.
4113         (Depends-on): Add isnand-nolibm.
4114
4115 2011-10-09  Bruno Haible  <bruno@clisp.org>
4116
4117         Tests for module 'copysignl'.
4118         * modules/copysignl-tests: New file.
4119         * tests/test-copysignl.c: New file.
4120
4121         New module 'copysignl'.
4122         * lib/math.in.h (copysignl): New declaration.
4123         * lib/copysignl.c: New file.
4124         * m4/copysignl.m4: New file.
4125         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
4126         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
4127         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
4128         HAVE_COPYSIGNL.
4129         * modules/copysignl: New file.
4130         * tests/test-math-c++.cc: Check the declaration of copysignl.
4131         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
4132         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
4133         * doc/posix-functions/copysignl.texi: Mention the new module.
4134
4135 2011-10-09  Bruno Haible  <bruno@clisp.org>
4136
4137         Tests for module 'copysignf'.
4138         * modules/copysignf-tests: New file.
4139         * tests/test-copysignf.c: New file.
4140
4141         New module 'copysignf'.
4142         * lib/math.in.h (copysignf): New declaration.
4143         * lib/copysignf.c: New file.
4144         * m4/copysignf.m4: New file.
4145         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
4146         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
4147         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
4148         HAVE_COPYSIGNF.
4149         * modules/copysignf: New file.
4150         * tests/test-math-c++.cc: Check the declaration of copysignf.
4151         * doc/posix-functions/copysignf.texi: Mention the new module.
4152
4153 2011-10-09  Bruno Haible  <bruno@clisp.org>
4154
4155         Ensure that HAVE_* variables are set to 1 before they are set to 0.
4156         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
4157         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
4158         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
4159         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
4160         gl_SIGNAL_H_DEFAULTS.
4161
4162 2011-10-09  Bruno Haible  <bruno@clisp.org>
4163
4164         poll: Make macro safer.
4165         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
4166         ac_cv_header_poll_h is not set.
4167
4168 2011-10-09  Bruno Haible  <bruno@clisp.org>
4169
4170         copysign: Provide replacement.
4171         * lib/math.in.h (copysign): New declaration.
4172         * lib/copysign.c: New file.
4173         * m4/copysign.m4: New file.
4174         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
4175         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
4176         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
4177         HAVE_COPYSIGN.
4178         * modules/copysign (Description): Clarify.
4179         (Files): Add lib/copysign.c, m4/copysign.m4.
4180         (Depends-on): Add math, signbit.
4181         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
4182         gl_MATH_MODULE_INDICATOR.
4183         * tests/test-math-c++.cc: Check the declaration of copysign.
4184         * doc/posix-functions/copysign.texi: Mention the effects of the module
4185         on Minix and MSVC.
4186
4187 2011-10-09  Bruno Haible  <bruno@clisp.org>
4188
4189         isinf: Ensure macro on AIX 5.1.
4190         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
4191         macro.
4192         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
4193
4194 2011-10-09  Bruno Haible  <bruno@clisp.org>
4195
4196         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
4197         * modules/snprintf-posix-tests (configure.ac): Require
4198         gl_LONG_DOUBLE_VS_DOUBLE.
4199         * modules/sprintf-posix-tests (configure.ac): Likewise.
4200         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
4201         * modules/vasprintf-posix-tests (configure.ac): Likewise.
4202         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
4203         * modules/vsprintf-posix-tests (configure.ac): Likewise.
4204         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
4205         tests on platforms where 'long double' is the same as 'double'.
4206         * tests/test-sprintf-posix.h (test_function): Likewise.
4207         * tests/test-vasnprintf-posix.c (test_function): Likewise.
4208         * tests/test-vasprintf-posix.c (test_function): Likewise.
4209
4210         *printf: Fix for platforms where 'long double' == 'double'.
4211         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
4212         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
4213         * modules/dprintf-posix (Files): Add m4/math_h.m4.
4214         * modules/fprintf-posix (Files): Likewise.
4215         * modules/obstack-printf-posix (Files): Likewise.
4216         * modules/snprintf-posix (Files): Likewise.
4217         * modules/sprintf-posix (Files): Likewise.
4218         * modules/vasnprintf (Files): Likewise.
4219         * modules/vasnprintf-posix (Files): Likewise.
4220         * modules/vasprintf-posix (Files): Likewise.
4221         * modules/vdprintf-posix (Files): Likewise.
4222         * modules/vfprintf-posix (Files): Likewise.
4223         * modules/vsnprintf-posix (Files): Likewise.
4224         * modules/vsprintf-posix (Files): Likewise.
4225         * modules/unistdio/u8-vasnprintf (Files): Likewise.
4226         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
4227         * modules/unistdio/u16-vasnprintf (Files): Likewise.
4228         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
4229         * modules/unistdio/u32-vasnprintf (Files): Likewise.
4230         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
4231         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
4232
4233         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
4234         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
4235         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4236         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
4237         'long double'.
4238         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
4239
4240         isinf: Fix for platforms where 'long double' == 'double'.
4241         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
4242         Don't blindly assume 80-bit 'long double'.
4243
4244         isfinite: Fix for platforms where 'long double' == 'double'.
4245         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
4246         Don't blindly assume 80-bit 'long double'.
4247
4248         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
4249         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
4250         * modules/isfinite-tests (configure.ac): Require
4251         gl_LONG_DOUBLE_VS_DOUBLE.
4252         * modules/isinf-tests (configure.ac): Likewise.
4253         * modules/isnan-tests (configure.ac): Likewise.
4254         * modules/isnanl-tests (configure.ac): Likewise.
4255         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
4256         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
4257         tests on platforms where 'long double' is the same as 'double'.
4258         * tests/test-isinf.c (test_isinfl): Likewise.
4259         * tests/test-isnan.c (test_long_double): Likewise.
4260         * tests/test-isnanl.h (main): Likewise.
4261
4262 2011-10-08  Bruno Haible  <bruno@clisp.org>
4263
4264         Tests for module 'tanhf'.
4265         * modules/tanhf-tests: New file.
4266         * tests/test-tanhf.c: New file.
4267
4268         New module 'tanhf'.
4269         * lib/math.in.h (tanhf): New declaration.
4270         * lib/tanhf.c: New file.
4271         * m4/tanhf.m4: New file.
4272         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
4273         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
4274         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
4275         * modules/tanhf: New file.
4276         * tests/test-math-c++.cc: Check the declaration of tanhf.
4277         * doc/posix-functions/tanhf.texi: Mention the new module.
4278
4279         tanh: Use a .m4 file.
4280         * m4/tanh.m4: New file.
4281         * modules/tanh (Files): Add it.
4282         (configure.ac): Just invoke gl_FUNC_TANH.
4283
4284 2011-10-08  Bruno Haible  <bruno@clisp.org>
4285
4286         Tests for module 'coshf'.
4287         * modules/coshf-tests: New file.
4288         * tests/test-coshf.c: New file.
4289
4290         New module 'coshf'.
4291         * lib/math.in.h (coshf): New declaration.
4292         * lib/coshf.c: New file.
4293         * m4/coshf.m4: New file.
4294         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
4295         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
4296         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
4297         * modules/coshf: New file.
4298         * tests/test-math-c++.cc: Check the declaration of coshf.
4299         * doc/posix-functions/coshf.texi: Mention the new module.
4300
4301         cosh: Use a .m4 file.
4302         * m4/cosh.m4: New file.
4303         * modules/cosh (Files): Add it.
4304         (configure.ac): Just invoke gl_FUNC_COSH.
4305
4306 2011-10-08  Bruno Haible  <bruno@clisp.org>
4307
4308         Tests for module 'sinhf'.
4309         * modules/sinhf-tests: New file.
4310         * tests/test-sinhf.c: New file.
4311
4312         New module 'sinhf'.
4313         * lib/math.in.h (sinhf): New declaration.
4314         * lib/sinhf.c: New file.
4315         * m4/sinhf.m4: New file.
4316         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
4317         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
4318         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
4319         * modules/sinhf: New file.
4320         * tests/test-math-c++.cc: Check the declaration of sinhf.
4321         * doc/posix-functions/sinhf.texi: Mention the new module.
4322
4323         sinh: Use a .m4 file.
4324         * m4/sinh.m4: New file.
4325         * modules/sinh (Files): Add it.
4326         (configure.ac): Just invoke gl_FUNC_SINH.
4327
4328 2011-10-08  Bruno Haible  <bruno@clisp.org>
4329
4330         Tests for module 'atan2f'.
4331         * modules/atan2f-tests: New file.
4332         * tests/test-atan2f.c: New file.
4333
4334         New module 'atan2f'.
4335         * lib/math.in.h (atan2f): New declaration.
4336         * lib/atan2f.c: New file.
4337         * m4/atan2f.m4: New file.
4338         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
4339         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
4340         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
4341         * modules/atan2f: New file.
4342         * tests/test-math-c++.cc: Check the declaration of atan2f.
4343         * doc/posix-functions/atan2f.texi: Mention the new module.
4344
4345         atan2: Use a .m4 file.
4346         * m4/atan2.m4: New file.
4347         * modules/atan2 (Files): Add it.
4348         (configure.ac): Just invoke gl_FUNC_ATAN2.
4349
4350 2011-10-08  Bruno Haible  <bruno@clisp.org>
4351
4352         Tests for module 'atanf'.
4353         * modules/atanf-tests: New file.
4354         * tests/test-atanf.c: New file.
4355
4356         New module 'atanf'.
4357         * lib/math.in.h (atanf): New declaration.
4358         * lib/atanf.c: New file.
4359         * m4/atanf.m4: New file.
4360         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
4361         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
4362         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
4363         * modules/atanf: New file.
4364         * tests/test-math-c++.cc: Check the declaration of atanf.
4365         * doc/posix-functions/atanf.texi: Mention the new module.
4366
4367         atan: Use a .m4 file.
4368         * m4/atan.m4: New file.
4369         * modules/atan (Files): Add it.
4370         (configure.ac): Just invoke gl_FUNC_ATAN.
4371
4372 2011-10-08  Bruno Haible  <bruno@clisp.org>
4373
4374         Tests for module 'acosf'.
4375         * modules/acosf-tests: New file.
4376         * tests/test-acosf.c: New file.
4377
4378         New module 'acosf'.
4379         * lib/math.in.h (acosf): New declaration.
4380         * lib/acosf.c: New file.
4381         * m4/acosf.m4: New file.
4382         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
4383         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
4384         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
4385         * modules/acosf: New file.
4386         * tests/test-math-c++.cc: Check the declaration of acosf.
4387         * doc/posix-functions/acosf.texi: Mention the new module.
4388
4389         acos: Use a .m4 file.
4390         * m4/acos.m4: New file.
4391         * modules/acos (Files): Add it.
4392         (configure.ac): Just invoke gl_FUNC_ACOS.
4393
4394 2011-10-08  Bruno Haible  <bruno@clisp.org>
4395
4396         Tests for module 'asinf'.
4397         * modules/asinf-tests: New file.
4398         * tests/test-asinf.c: New file.
4399
4400         New module 'asinf'.
4401         * lib/math.in.h (asinf): New declaration.
4402         * lib/asinf.c: New file.
4403         * m4/asinf.m4: New file.
4404         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
4405         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
4406         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
4407         * modules/asinf: New file.
4408         * tests/test-math-c++.cc: Check the declaration of asinf.
4409         * doc/posix-functions/asinf.texi: Mention the new module.
4410
4411         asin: Use a .m4 file.
4412         * m4/asin.m4: New file.
4413         * modules/asin (Files): Add it.
4414         (configure.ac): Just invoke gl_FUNC_ASIN.
4415
4416 2011-10-08  Bruno Haible  <bruno@clisp.org>
4417
4418         Tests for module 'tanf'.
4419         * modules/tanf-tests: New file.
4420         * tests/test-tanf.c: New file.
4421
4422         New module 'tanf'.
4423         * lib/math.in.h (tanf): New declaration.
4424         * lib/tanf.c: New file.
4425         * m4/tanf.m4: New file.
4426         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
4427         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
4428         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
4429         * modules/tanf: New file.
4430         * tests/test-math-c++.cc: Check the declaration of tanf.
4431         * doc/posix-functions/tanf.texi: Mention the new module.
4432
4433         tan: Use a .m4 file.
4434         * m4/tan.m4: New file.
4435         * modules/tan (Files): Add it.
4436         (configure.ac): Just invoke gl_FUNC_TAN.
4437
4438 2011-10-08  Bruno Haible  <bruno@clisp.org>
4439
4440         Tests for module 'cosf'.
4441         * modules/cosf-tests: New file.
4442         * tests/test-cosf.c: New file.
4443
4444         New module 'cosf'.
4445         * lib/math.in.h (cosf): New declaration.
4446         * lib/cosf.c: New file.
4447         * m4/cosf.m4: New file.
4448         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
4449         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
4450         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
4451         * modules/cosf: New file.
4452         * tests/test-math-c++.cc: Check the declaration of cosf.
4453         * doc/posix-functions/cosf.texi: Mention the new module.
4454
4455         cos: Use a .m4 file.
4456         * m4/cos.m4: New file.
4457         * modules/cos (Files): Add it.
4458         (configure.ac): Just invoke gl_FUNC_COS.
4459
4460 2011-10-08  Bruno Haible  <bruno@clisp.org>
4461
4462         Tests for module 'sinf'.
4463         * modules/sinf-tests: New file.
4464         * tests/test-sinf.c: New file.
4465
4466         New module 'sinf'.
4467         * lib/math.in.h (sinf): New declaration.
4468         * lib/sinf.c: New file.
4469         * m4/sinf.m4: New file.
4470         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
4471         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
4472         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
4473         * modules/sinf: New file.
4474         * tests/test-math-c++.cc: Check the declaration of sinf.
4475         * doc/posix-functions/sinf.texi: Mention the new module.
4476
4477         sin: Use a .m4 file.
4478         * m4/sin.m4: New file.
4479         * modules/sin (Files): Add it.
4480         (configure.ac): Just invoke gl_FUNC_SIN.
4481
4482 2011-10-08  Bruno Haible  <bruno@clisp.org>
4483
4484         Tests for module 'powf'.
4485         * modules/powf-tests: New file.
4486         * tests/test-powf.c: New file.
4487
4488         New module 'powf'.
4489         * lib/math.in.h (powf): New declaration.
4490         * lib/powf.c: New file.
4491         * m4/powf.m4: New file.
4492         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
4493         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
4494         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
4495         * modules/powf: New file.
4496         * tests/test-math-c++.cc: Check the declaration of powf.
4497         * doc/posix-functions/powf.texi: Mention the new module.
4498
4499         pow: Use a .m4 file.
4500         * m4/pow.m4: New file.
4501         * modules/pow (Files): Add it.
4502         (configure.ac): Just invoke gl_FUNC_POW.
4503
4504 2011-10-08  Bruno Haible  <bruno@clisp.org>
4505
4506         Tests for module 'log10f'.
4507         * modules/log10f-tests: New file.
4508         * tests/test-log10f.c: New file.
4509
4510         New module 'log10f'.
4511         * lib/math.in.h (log10f): New declaration.
4512         * lib/log10f.c: New file.
4513         * m4/log10f.m4: New file.
4514         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
4515         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
4516         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
4517         * modules/log10f: New file.
4518         * tests/test-math-c++.cc: Check the declaration of log10f.
4519         * doc/posix-functions/log10f.texi: Mention the new module.
4520
4521         log10: Use a .m4 file.
4522         * m4/log10.m4: New file.
4523         * modules/log10 (Files): Add it.
4524         (configure.ac): Just invoke gl_FUNC_LOG10.
4525
4526 2011-10-08  Bruno Haible  <bruno@clisp.org>
4527
4528         Tests for module 'logf'.
4529         * modules/logf-tests: New file.
4530         * tests/test-logf.c: New file.
4531
4532         New module 'logf'.
4533         * lib/math.in.h (logf): New declaration.
4534         * lib/logf.c: New file.
4535         * m4/logf.m4: New file.
4536         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
4537         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
4538         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
4539         * modules/logf: New file.
4540         * tests/test-math-c++.cc: Check the declaration of logf.
4541         * doc/posix-functions/logf.texi: Mention the new module.
4542
4543         log: Use a .m4 file.
4544         * m4/log.m4: New file.
4545         * modules/log (Files): Add it.
4546         (configure.ac): Just invoke gl_FUNC_LOG.
4547
4548 2011-10-08  Bruno Haible  <bruno@clisp.org>
4549
4550         Tests for module 'expf'.
4551         * modules/expf-tests: New file.
4552         * tests/test-expf.c: New file.
4553
4554         New module 'expf'.
4555         * lib/math.in.h (expf): New declaration.
4556         * lib/expf.c: New file.
4557         * m4/expf.m4: New file.
4558         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
4559         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
4560         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
4561         * modules/expf: New file.
4562         * tests/test-math-c++.cc: Check the declaration of expf.
4563         * doc/posix-functions/expf.texi: Mention the new module.
4564
4565         exp: Use a .m4 file.
4566         * m4/exp.m4: New file.
4567         * modules/exp (Files): Add it.
4568         (configure.ac): Just invoke gl_FUNC_EXP.
4569
4570 2011-10-08  Bruno Haible  <bruno@clisp.org>
4571
4572         Tests for module 'sqrtf'.
4573         * modules/sqrtf-tests: New file.
4574         * tests/test-sqrtf.c: New file.
4575
4576         New module 'sqrtf'.
4577         * lib/math.in.h (sqrtf): New declaration.
4578         * lib/sqrtf.c: New file.
4579         * m4/sqrtf.m4: New file.
4580         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
4581         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
4582         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
4583         * modules/sqrtf: New file.
4584         * tests/test-math-c++.cc: Check the declaration of sqrtf.
4585         * doc/posix-functions/sqrtf.texi: Mention the new module.
4586
4587 2011-10-08  Bruno Haible  <bruno@clisp.org>
4588
4589         Tests: Avoid link failures w.r.t. libintl.
4590         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
4591         $(LIBINTL).
4592         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
4593         $(LIBINTL).
4594         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
4595         against $(LIBINTL).
4596         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
4597         $(LIBINTL).
4598         * modules/openat-tests (Makefile.am): Link test-fchmodat against
4599         $(LIBINTL).
4600         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
4601
4602 2011-10-08  Bruno Haible  <bruno@clisp.org>
4603
4604         pow tests: Defeat compiler optimizations.
4605         * tests/test-pow.c (main): Assign arguments to x and y before use.
4606
4607 2011-10-08  Bruno Haible  <bruno@clisp.org>
4608
4609         gnulib-tool: Improve last commit.
4610         * gnulib-tool (func_modules_transitive_closure): Simplify code.
4611         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
4612         ignore dependencies that are not among the modules list.
4613
4614 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
4615
4616         gnulib-tool: don't follow dependencies to avoided modules
4617         This fixes a bug that is related to the previous one.
4618         * gnulib-tool (func_modules_transitive_closure)
4619         (func_emit_autoconf_snippets):
4620         Check whether a dependency is acceptable before using it.
4621         (--extract-dependencies): Report an error if --avoid is also used,
4622         since this combination of options is not yet supported.
4623
4624         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
4625         Problem reported by Peter Dyballa in
4626         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
4627         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
4628         when echoing "$condition".
4629
4630 2011-10-07  Bruno Haible  <bruno@clisp.org>
4631
4632         Fix documentation about math functions on MacOS X.
4633         * doc/posix-functions/exp2.texi: Don't say the function is missing on
4634         MacOS X 10.5.
4635         * doc/posix-functions/fdim.texi: Likewise.
4636         * doc/posix-functions/feclearexcept.texi: Likewise.
4637         * doc/posix-functions/fegetenv.texi: Likewise.
4638         * doc/posix-functions/fegetround.texi: Likewise.
4639         * doc/posix-functions/feholdexcept.texi: Likewise.
4640         * doc/posix-functions/feraiseexcept.texi: Likewise.
4641         * doc/posix-functions/fesetenv.texi: Likewise.
4642         * doc/posix-functions/fesetround.texi: Likewise.
4643         * doc/posix-functions/fetestexcept.texi: Likewise.
4644         * doc/posix-functions/feupdateenv.texi: Likewise.
4645         * doc/posix-functions/fmax.texi: Likewise.
4646         * doc/posix-functions/fmin.texi: Likewise.
4647         * doc/posix-functions/log2.texi: Likewise.
4648         * doc/posix-functions/modff.texi: Likewise.
4649         * doc/posix-functions/nan.texi: Likewise.
4650         * doc/posix-functions/nanf.texi: Likewise.
4651         * doc/posix-functions/nextafterf.texi: Likewise.
4652         * doc/posix-functions/remquo.texi: Likewise.
4653
4654 2011-10-07  Bruno Haible  <bruno@clisp.org>
4655
4656         modff: Drop assumption about library that defines modff.
4657         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
4658         AC_CHECK_FUNCS.
4659         * modules/modff (Files): Add m4/mathfunc.m4.
4660
4661 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
4662
4663         raise tests: Avoid a GCC warning.
4664         * tests/test-raise.c (handler): Use _Noreturn.
4665
4666 2011-10-07  Bruno Haible  <bruno@clisp.org>
4667
4668         Tests for module 'ldexpf'.
4669         * modules/ldexpf-tests: New file.
4670         * tests/test-ldexpf.c: New file.
4671
4672         New module 'ldexpf'.
4673         * lib/math.in.h (ldexpf): New declaration.
4674         * lib/ldexpf.c: New file.
4675         * m4/ldexpf.m4: New file.
4676         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
4677         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
4678         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
4679         * modules/ldexpf: New file.
4680         * tests/test-math-c++.cc: Check the declaration of ldexpf.
4681         * doc/posix-functions/ldexpf.texi: Mention the new module.
4682
4683 2011-10-06  Bruno Haible  <bruno@clisp.org>
4684
4685         frexpf: Work around problems on IRIX and mingw.
4686         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
4687         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
4688         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
4689         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
4690         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
4691         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
4692         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
4693
4694 2011-10-06  Bruno Haible  <bruno@clisp.org>
4695
4696         fabsf: Drop assumption about library that defines fabsf.
4697         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
4698         AC_CHECK_FUNCS.
4699         * modules/fabsf (Files): Add m4/mathfunc.m4.
4700
4701 2011-10-06  Bruno Haible  <bruno@clisp.org>
4702
4703         frexpf: Drop assumption about library that defines frexpf.
4704         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
4705         'int *', 'float *', 'long double *', 'float', 'long double'.
4706         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
4707         AC_CHECK_FUNCS.
4708         * modules/frexpf (Files): Add m4/mathfunc.m4.
4709
4710         Tests for module 'frexpf'.
4711         * modules/frexpf-tests: New file.
4712         * tests/test-frexpf.c: New file.
4713
4714         New module 'frexpf'.
4715         * lib/math.in.h (frexpf): New declaration.
4716         * lib/frexpf.c: New file.
4717         * m4/frexpf.m4: New file.
4718         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
4719         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
4720         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
4721         * modules/frexpf: New file.
4722         * tests/test-math-c++.cc: Check the declaration of frexpf.
4723         * doc/posix-functions/frexpf.texi: Mention the new module.
4724
4725 2011-10-06  Bruno Haible  <bruno@clisp.org>
4726
4727         math: Sort function declarations of math.in.h.
4728         * lib/math.in.h (frexp, logb): Move declarations.
4729
4730 2011-10-05  Bruno Haible  <bruno@clisp.org>
4731
4732         Tests for module 'modff'.
4733         * modules/modff-tests: New file.
4734         * tests/test-modff.c: New file.
4735
4736         New module 'modff'.
4737         * lib/math.in.h (modff): New declaration.
4738         * lib/modff.c: New file.
4739         * m4/modff.m4: New file.
4740         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
4741         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
4742         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
4743         * modules/modff: New file.
4744         * tests/test-math-c++.cc: Check the declaration of modff.
4745         * doc/posix-functions/modff.texi: Mention the new module.
4746
4747         modf tests: Make test sharper.
4748         * tests/test-modf.c (main): Strengthen upper bound.
4749
4750         modf: Use a .m4 file.
4751         * m4/modf.m4: New file.
4752         * modules/modf (Files): Add it.
4753         (configure.ac): Just invoke gl_FUNC_MODF.
4754
4755 2011-10-05  Bruno Haible  <bruno@clisp.org>
4756
4757         Tests for module 'fmodf'.
4758         * modules/fmodf-tests: New file.
4759         * tests/test-fmodf.c: New file.
4760
4761         New module 'fmodf'.
4762         * lib/math.in.h (fmodf): New declaration.
4763         * lib/fmodf.c: New file.
4764         * m4/fmodf.m4: New file.
4765         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
4766         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
4767         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
4768         * modules/fmodf: New file.
4769         * tests/test-math-c++.cc: Check the declaration of fmodf.
4770         * doc/posix-functions/fmodf.texi: Mention the new module.
4771
4772         fmod: Use a .m4 file.
4773         * m4/fmod.m4: New file.
4774         * modules/fmod (Files): Add it.
4775         (configure.ac): Just invoke gl_FUNC_FMOD.
4776
4777 2011-10-05  Bruno Haible  <bruno@clisp.org>
4778
4779         Tests for module 'fabsf'.
4780         * modules/fabsf-tests: New file.
4781         * tests/test-fabsf.c: New file.
4782
4783         New module 'fabsf'.
4784         * lib/math.in.h (fabsf): New declaration.
4785         * lib/fabsf.c: New file.
4786         * m4/fabsf.m4: New file.
4787         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
4788         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
4789         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
4790         * modules/fabsf: New file.
4791         * tests/test-math-c++.cc: Check the declaration of fabsf.
4792         * doc/posix-functions/fabsf.texi: Mention the new module.
4793
4794         fabs: Use a .m4 file.
4795         * m4/fabs.m4: New file.
4796         * modules/fabs (Files): Add it.
4797         (configure.ac): Just invoke gl_FUNC_FABS.
4798
4799 2011-10-05  Jim Meyering  <meyering@redhat.com>
4800
4801         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
4802         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
4803         ls -lL regression introduced in coreutils-8.12, it does so at the
4804         cost of an additional stat call in the common case.  Besides, now
4805         that the kernel change that prompted commit 95f7c57f has been reverted
4806         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
4807         we have no use for commit 95f7c57f, "file-has-acl: use
4808         acl_extended_file_nofollow if available".
4809
4810 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
4811
4812         file-has-acl: revert unintended change in behavior of ls -L
4813         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
4814         derived from...
4815         (file_has_acl): ...code here.  Call it.
4816         This problem was introduced with 2011-07-22 commit 95f7c57f,
4817         "file-has-acl: use acl_extended_file_nofollow if available".
4818         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
4819
4820 2011-10-03  Bruno Haible  <bruno@clisp.org>
4821
4822         poll: Avoid link errors on MSVC.
4823         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
4824         * modules/poll (Depends-on): Add sockets.
4825         (Link): New section.
4826         * NEWS: Mention the change.
4827         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
4828         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
4829         $(LIB_POLL) instead of $(LIBSOCKET).
4830
4831 2011-10-03  Bruno Haible  <bruno@clisp.org>
4832
4833         sys_select tests: Fix link error on MSVC 9.
4834         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
4835         with $(LIB_SELECT) instead of $(LIBSOCKET).
4836
4837 2011-10-03  Bruno Haible  <bruno@clisp.org>
4838
4839         sys_select: Fix compilation error on mingw.
4840         * lib/sys_select.in.h: On native Windows, include <io.h>.
4841
4842 2011-10-03  Bruno Haible  <bruno@clisp.org>
4843
4844         wmemset: Support for MSVC.
4845         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
4846         whether wmemset() exists.
4847
4848 2011-10-03  Bruno Haible  <bruno@clisp.org>
4849
4850         wmemmove: Support for MSVC.
4851         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
4852         whether wmemmove() exists.
4853
4854 2011-10-03  Bruno Haible  <bruno@clisp.org>
4855
4856         wmemcpy: Support for MSVC.
4857         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
4858         whether wmemcpy() exists.
4859
4860 2011-10-03  Bruno Haible  <bruno@clisp.org>
4861
4862         wmemcmp: Support for MSVC.
4863         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
4864         whether wmemcmp() exists.
4865
4866 2011-10-03  Bruno Haible  <bruno@clisp.org>
4867
4868         wmemchr: Support for MSVC.
4869         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
4870         whether wmemchr() exists.
4871
4872 2011-10-03  Bruno Haible  <bruno@clisp.org>
4873
4874         glthread/*, strsignal: Support for MSVC.
4875         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
4876         including <winsock.h> on MSVC 9.
4877         * lib/glthread/lock.h: Likewise.
4878         * lib/glthread/thread.h: Likewise.
4879         * lib/glthread/tls.h: Likewise.
4880         * lib/glthread/yield.h: Likewise.
4881         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
4882         if HAVE_UNISTD_H is false.
4883         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
4884
4885 2011-10-03  Bruno Haible  <bruno@clisp.org>
4886
4887         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
4888         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
4889         Set to 100000.
4890
4891 2011-10-03  Bruno Haible  <bruno@clisp.org>
4892
4893         acl: Fix specification.
4894         * lib/file-has-acl.c (file_has_acl): Fix specification.
4895
4896 2011-10-03  Bruno Haible  <bruno@clisp.org>
4897
4898         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
4899         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
4900         (compute_curr_prefix, shared_library_fullname,
4901         find_shared_library_fullname, get_shared_library_fullname, relocate):
4902         Use it together with PIC && INSTALLDIR.
4903         Reported by <jojelino@gmail.com>
4904         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
4905
4906 2011-10-01  Jim Meyering  <meyering@redhat.com>
4907
4908         maint.mk: adjust a release-related rule not to require use of gzip
4909         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
4910         Instead, check each file in $(DIST_ARCHIVES).  This is better for
4911         projects that build only .tar.xz files.  Also fix an erroneous test.
4912
4913         test-linkat: don't leave behind a temporary file
4914         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
4915         Otherwise, coreutils' "make distcheck" would fail with this:
4916           Only in /c/cu/tests/torture/coreutils/test/\
4917             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
4918           make[2]: *** [my-distcheck] Error 1
4919
4920         float, math: add omitted file
4921         * lib/itold.c: Add file, required for yesterday's float change.
4922
4923 2011-10-01  Bruno Haible  <bruno@clisp.org>
4924
4925         isinf: Fix for OpenBSD/x86.
4926         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
4927         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
4928         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
4929
4930 2011-10-01  Bruno Haible  <bruno@clisp.org>
4931
4932         isfinite: Fix syntax error in configure test.
4933         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
4934
4935         isfinite: Fix typo.
4936         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
4937         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
4938
4939 2011-10-01  Bruno Haible  <bruno@clisp.org>
4940
4941         nonblocking tests: Fix test failure on Linux/IA-64.
4942         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
4943         Set to 270000.
4944
4945 2011-10-01  Bruno Haible  <bruno@clisp.org>
4946
4947         mkfifoat tests: Fix a test failure on mingw.
4948         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
4949         with error ENOSYS.
4950
4951 2011-09-30  Bruno Haible  <bruno@clisp.org>
4952
4953         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
4954         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
4955         'long double'. Set REPLACE_ITOLD.
4956         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
4957         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
4958         * lib/itold.c: New file.
4959         * modules/float (Files): Add lib/itold.c.
4960         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
4961         (Makefile.am): Substitute REPLACE_ITOLD.
4962         * modules/math (Depends-on): Add float.
4963         (Makefile.am): Substitute REPLACE_ITOLD.
4964         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
4965         * doc/posix-headers/math.texi: Likewise.
4966         * doc/posix-functions/logl.texi: Likewise.
4967
4968 2011-09-30  Bruno Haible  <bruno@clisp.org>
4969
4970         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
4971         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
4972         Set to 140000.
4973
4974 2011-09-30  Bruno Haible  <bruno@clisp.org>
4975
4976         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
4977         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
4978         invocation, say "right after AC_PROG_CC_STDC", not "right after
4979         AC_PROG_CC".
4980         Reported by Gary V. Vaughan <gary@gnu.org>.
4981
4982 2011-09-30  Bruno Haible  <bruno@clisp.org>
4983
4984         Centralize C99 requirement.
4985         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
4986         * modules/stdarg (configure.ac-early): Invoke it instead of
4987         AC_PROG_CC_STDC.
4988         Reported by Gary V. Vaughan and Paul Eggert.
4989
4990 2011-09-29  Bruno Haible  <bruno@clisp.org>
4991
4992         float: Fix LDBL_MAX value on Linux/PowerPC.
4993         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
4994         on Linux/PowerPC.
4995         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
4996         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
4997         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
4998         platform.
4999         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
5000
5001 2011-09-29  Bruno Haible  <bruno@clisp.org>
5002
5003         doc: Improve doc about gl_EARLY.
5004         * doc/gnulib-tool.texi (Initial import): Mention where to place an
5005         AC_PROG_CC_STDC invocation.
5006         Reported by Gary V. Vaughan <gary@gnu.org>.
5007
5008 2011-09-28  Bruno Haible  <bruno@clisp.org>
5009
5010         fgetc, fputc, fread, fwrite tests: Fix link error.
5011         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
5012         on non-MSVC platforms.
5013         * tests/test-fputc.c (main): Likewise.
5014         * tests/test-fread.c (main): Likewise.
5015         * tests/test-fwrite.c (main): Likewise.
5016         Reported by Jim Meyering.
5017
5018 2011-09-27  Bruno Haible  <bruno@clisp.org>
5019
5020         fputc, fwrite tests: Avoid test failure on MSVC.
5021         * tests/test-fgetc.c: Include msvc-inval.h.
5022         (main): Invoke gl_msvc_inval_ensure_handler.
5023         * tests/test-fputc.c: Include msvc-inval.h.
5024         (main): Invoke gl_msvc_inval_ensure_handler.
5025         * tests/test-fread.c: Include msvc-inval.h.
5026         (main): Invoke gl_msvc_inval_ensure_handler.
5027         * tests/test-fwrite.c: Include msvc-inval.h.
5028         (main): Invoke gl_msvc_inval_ensure_handler.
5029         * modules/fgetc-tests (Depends-on): Add msvc-inval.
5030         * modules/fputc-tests (Depends-on): Likewise.
5031         * modules/fread-tests (Depends-on): Likewise.
5032         * modules/fwrite-tests (Depends-on): Likewise.
5033
5034 2011-09-27  Bruno Haible  <bruno@clisp.org>
5035
5036         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
5037         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
5038         (raise): Remove older, duplicated declaration.
5039         (_gl_raise_SIGPIPE): New declaration.
5040         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
5041         (rpl_raise): Remove function.
5042         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
5043         a gnulib-defined SIGPIPE here.
5044         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
5045         'sigprocmask' has detected missing signal-blocking and the module
5046         'sigpipe' is enabled.
5047         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
5048
5049 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
5050
5051         base64-tests: avoid memory leak
5052         * tests/test-base64.c (main): Plug memory leak.
5053
5054         base32: new module
5055         * modules/base32: New module.
5056         * lib/base32.c: New file.
5057         * lib/base32.h: Likewise.
5058         * m4/base32.m4: Likewise.
5059         * modules/base32-tests: New test.
5060         * tests/test-base32.c: Likewise.
5061         * MODULES.html.sh (Misc): Mention it.
5062
5063 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
5064
5065         gnulib: use more-standard license notice wording
5066         * gnulib-tool (func_emit_copyright_notice): When emitting a
5067         license notice into a file, use the standard wording as suggested
5068         by the current information for GNU maintainers, except say "file"
5069         rather than "program".  The new wording gives a license version
5070         number, which addresses an issue raised by Glenn Morris in
5071         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
5072         * m4/onceonly.m4: Use that same wording here, too.
5073
5074         dup2: minor simplification
5075         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
5076         as lib/dup2.c no longer uses 'inline'.
5077
5078 2011-09-25  Bruno Haible  <bruno@clisp.org>
5079
5080         strings: Fix compilation error on MSVC.
5081         * lib/strings.in.h: Include <stddef.h> for size_t.
5082
5083 2011-09-25  Bruno Haible  <bruno@clisp.org>
5084
5085         fflush et al.: Document limitation on MSVC.
5086         * doc/posix-functions/fflush.texi: Document possible crash in handling
5087         mode other than DEFAULT_HANDLING.
5088         * doc/posix-functions/fgetc.texi: Likewise.
5089         * doc/posix-functions/fputc.texi: Likewise.
5090         * doc/posix-functions/fread.texi: Likewise.
5091         * doc/posix-functions/fwrite.texi: Likewise.
5092
5093 2011-09-25  Bruno Haible  <bruno@clisp.org>
5094
5095         msvc-inval: Allow three invalid parameter handling modes.
5096         * lib/msvc-inval.h: Don't include <stdlib.h> here.
5097         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
5098         macros.
5099         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
5100         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
5101         SANE_LIBRARY_HANDLING as a no-op.
5102         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
5103         <stdlib.h>.
5104         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
5105
5106 2011-09-25  Bruno Haible  <bruno@clisp.org>
5107
5108         msvc-inval: Make handler multithread-safe.
5109         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
5110         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
5111         declarations.
5112         (gl_msvc_inval_current): New declaration.
5113         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
5114         Operate on the structure returned by gl_msvc_inval_current().
5115         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
5116         Remove varaiables.
5117         (tls_index, tls_initialized): New variables.
5118         (not_per_thread): New variable.
5119         (gl_msvc_inval_current): New function.
5120         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
5121         returned by gl_msvc_inval_current().
5122
5123 2011-09-25  Bruno Haible  <bruno@clisp.org>
5124
5125         msvc-inval: Install handler globally.
5126         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
5127         !_MSC_VER.
5128         (gl_msvc_invalid_parameter_handler): Remove declaration.
5129         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
5130         declarations.
5131         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
5132         Install the handler globally, don't uninstall it.
5133         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
5134         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
5135         currently valid, call RaiseException instead.
5136         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
5137         for !_MSC_VER.
5138
5139 2011-09-25  Bruno Haible  <bruno@clisp.org>
5140
5141         strerror_r-posix: Fix for MSVC 9.
5142         * lib/strerror_r.c (local_snprintf): New function.
5143         (snprintf): Define to local_snprintf, not to _snprintf.
5144
5145 2011-09-25  Bruno Haible  <bruno@clisp.org>
5146
5147         ftruncate: Support for MSVC 9.
5148         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
5149         (chsize_nothrow): New function.
5150         (chsize): Redefine as a macro.
5151         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
5152         * modules/ftruncate (Depends-on): Add msvc-inval.
5153
5154 2011-09-25  Bruno Haible  <bruno@clisp.org>
5155
5156         New module 'fstat'.
5157         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
5158         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
5159         * lib/fchdir.c (rpl_fstat): Remove function.
5160         * m4/fstat.m4: New file.
5161         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
5162         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
5163         declared.
5164         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
5165         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
5166         * modules/fstat: New file.
5167         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
5168         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
5169         is set.
5170         * doc/posix-functions/fstat.texi: Mention the new module and the
5171         problem on MSVC.
5172         * NEWS: Mention the change.
5173         * modules/acl (Depends-on): Add fstat.
5174         * modules/chdir-safer (Depends-on): Likewise.
5175         * modules/chown (Depends-on): Likewise.
5176         * modules/copy-file (Depends-on): Likewise.
5177         * modules/fchdir (Depends-on): Likewise.
5178         * modules/fdopendir (Depends-on): Likewise.
5179         * modules/fopen (Depends-on): Likewise.
5180         * modules/fts (Depends-on): Likewise.
5181         * modules/getcwd (Depends-on): Likewise.
5182         * modules/isapipe (Depends-on): Likewise.
5183         * modules/linkat (Depends-on): Likewise.
5184         * modules/lseek (Depends-on): Likewise.
5185         * modules/mkdir-p (Depends-on): Likewise.
5186         * modules/open (Depends-on): Likewise.
5187         * modules/openat (Depends-on): Likewise.
5188         * modules/read-file (Depends-on): Likewise.
5189         * modules/renameat (Depends-on): Likewise.
5190         * modules/utimens (Depends-on): Likewise.
5191
5192 2011-09-25  Bruno Haible  <bruno@clisp.org>
5193
5194         linkat: Fix compilation on MSVC 9.
5195         * lib/linkat.c: Don't include <stdint.h>.
5196
5197 2011-09-25  Bruno Haible  <bruno@clisp.org>
5198
5199         fclose: Support for MSVC 9.
5200         * lib/fclose.c: Include msvc-inval.h.
5201         (fclose_nothrow): New function.
5202         (rpl_fclose): Use it.
5203         * modules/fclose (Depends-on): Add msvc-inval.
5204         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
5205
5206 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
5207
5208         dup2: minor simplifications
5209         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
5210         that it's a performance win.
5211         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
5212         ! defined __CYGWIN__)" to "ifdef F_GETFL".
5213
5214 2011-09-24  Jim Meyering  <meyering@redhat.com>
5215
5216         test-futimens: avoid a warning from gcc -Wshadow
5217         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
5218         to avoid a shadowing warning.
5219
5220 2011-09-24  Bruno Haible  <bruno@clisp.org>
5221
5222         fdopen: Support for MSVC 9.
5223         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
5224         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
5225         * lib/fdopen.c: Include msvc-inval.h.
5226         (fdopen_nothrow): New function.
5227         (rpl_fdopen): Use it.
5228         * modules/fdopen (Depends-on): Add msvc-inval.
5229         * modules/fclose-tests (Depends-on): Add fdopen.
5230         * modules/fflush-tests (Depends-on): Likewise.
5231         * modules/fgetc-tests (Depends-on): Likewise.
5232         * modules/fputc-tests (Depends-on): Likewise.
5233         * modules/fread-tests (Depends-on): Likewise.
5234         * modules/freopen-tests (Depends-on): Likewise.
5235         * modules/fseeko-tests (Depends-on): Likewise.
5236         * modules/ftello-tests (Depends-on): Likewise.
5237         * modules/fwrite-tests  (Depends-on): Likewise.
5238         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
5239
5240 2011-09-24  Bruno Haible  <bruno@clisp.org>
5241
5242         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
5243         * modules/fgetc-tests (Depends-on): Add unistd.
5244         * modules/fputc-tests (Depends-on): Likewise.
5245         * modules/fread-tests (Depends-on): Likewise.
5246         * modules/fwrite-tests (Depends-on): Likewise.
5247
5248 2011-09-24  Bruno Haible  <bruno@clisp.org>
5249
5250         dup: Simplify autoconf test.
5251         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
5252         on gl_MSVC_INVAL's result.
5253
5254 2011-09-24  Bruno Haible  <bruno@clisp.org>
5255
5256         Tests for function fwrite().
5257         * modules/fwrite-tests: New file.
5258         * tests/test-fwrite.c: New file.
5259         * modules/stdio-tests (Depends-on): Add fwrite-tests.
5260
5261         Tests for function fread().
5262         * modules/fread-tests: New file.
5263         * tests/test-fread.c: New file.
5264         * modules/stdio-tests (Depends-on): Add fread-tests.
5265
5266         Activate fputc tests.
5267         * modules/stdio-tests (Depends-on): Add fputc-tests.
5268
5269         Enhance fgetc, fputc tests.
5270         * tests/test-fgetc.c (main): Also test the stream's error indicator.
5271         * tests/test-fputc.c (main): Likewise.
5272
5273 2011-09-24  Bruno Haible  <bruno@clisp.org>
5274
5275         write: Support for MSVC 9.
5276         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
5277         is not 1.
5278         * lib/write.c (write_nothrow): New function.
5279         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
5280         not 1. Use write_nothrow.
5281         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
5282         invalid parameter handler.
5283         (gl_PREREQ_WRITE): New macro.
5284         * modules/write (Depends-on): Add msvc-inval.
5285         (configure.ac): Invoke gl_PREREQ_WRITE.
5286         * doc/posix-functions/write.texi: Mention the problem on MSVC.
5287
5288 2011-09-24  Bruno Haible  <bruno@clisp.org>
5289
5290         read: Fix last commit.
5291         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
5292
5293 2011-09-24  Bruno Haible  <bruno@clisp.org>
5294
5295         dup2: Fix last commit.
5296         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
5297         (rpl_dup2): Disable fcntl workaround on native Windows.
5298
5299         sigprocmask: Make code safer.
5300         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
5301         section that changes macro definitions for this compilation unit.
5302
5303 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
5304
5305         dup2: clarify by coalescing Windows-specific material
5306         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
5307         "msvc-nothrow.h"' to the Windows-specific section, so that the
5308         Emacs source need not contain these include files.
5309         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
5310         Windows-specific fixes into this function rather than just the
5311         nothrow fix, as this shortens and clarifies the code.  Always
5312         define as a function, as that's a bit cleaner than having it be
5313         sometimes a function and sometimes a macro.
5314         (rpl_dup2): Move the Windows-specific stuff out of here and into
5315         ms_windows_dup2.  Don't protect the Haiku-related fix with
5316         "#if !defined __linux__", as the same code also works around
5317         a Linux kernel bug, and it doesn't add any system calls on any
5318         platform.  Add comment about FreeBSD 6.1.
5319
5320         sigprocmask: move #include directive
5321         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
5322         Windows-specific section, so that the Emacs source need not
5323         contain msvc-inval.h.
5324
5325 2011-09-23  Bruno Haible  <bruno@clisp.org>
5326
5327         read: Support for MSVC 9.
5328         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
5329         is not 1.
5330         * lib/read.c (read_nothrow): New function.
5331         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
5332         read_nothrow.
5333         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
5334         invalid parameter handler.
5335         (gl_PREREQ_READ): New macro.
5336         * modules/read (Depends-on): Add msvc-inval.
5337         (configure.ac): Invoke gl_PREREQ_READ.
5338         * doc/posix-functions/read.texi: Mention the problem on MSVC.
5339
5340 2011-09-23  Bruno Haible  <bruno@clisp.org>
5341
5342         close: Support for MSVC 9.
5343         * lib/close.c: Include <errno.h>, msvc-inval.h.
5344         (close_nothrow): New function.
5345         (rpl_close): Use it.
5346         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
5347         invalid parameter handler.
5348         * modules/close (Depends-on): Add msvc-inval.
5349         * modules/dup2-tests (Depends-on): Add close.
5350         * modules/dup3-tests (Depends-on): Likewise.
5351         * modules/fcntl-tests (Depends-on): Likewise.
5352         * modules/spawn-pipe-tests (Depends-on): Likewise.
5353         * modules/unistd-safer-tests (Depends-on): Likewise.
5354         * doc/posix-functions/close.texi: Mention the problem on MSVC.
5355
5356 2011-09-23  Bruno Haible  <bruno@clisp.org>
5357
5358         New module 'dup'.
5359         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
5360         Allow replacement.
5361         * lib/dup.c: New file.
5362         * lib/fchdir.c (rpl_dup): Remove function.
5363         * m4/dup.m4: New file.
5364         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
5365         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
5366         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
5367         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
5368         * modules/dup: New file.
5369         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
5370         'dup' module is in use.
5371         * modules/fdopendir (Depends-on): Add dup.
5372         * modules/fdutimensat-tests (Depends-on): Likewise.
5373         * modules/fts (Depends-on): Likewise.
5374         * modules/futimens-tests (Depends-on): Likewise.
5375         * modules/posix_spawnp-tests (Depends-on): Likewise.
5376         * modules/unistd-safer-tests (Depends-on): Likewise.
5377         * modules/utimens-tests (Depends-on): Likewise.
5378         * doc/posix-functions/dup.texi: Mention the new module and the problem
5379         on MSVC.
5380
5381 2011-09-23  Bruno Haible  <bruno@clisp.org>
5382
5383         getdtablesize: Support for MSVC 9.
5384         * lib/getdtablesize.c: Include msvc-inval.h.
5385         (_setmaxstdio_nothrow): New function.
5386         (_setmaxstdio): Redefine it.
5387         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
5388         * modules/getdtablesize (Depends-on): Add msvc-inval.
5389         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
5390
5391 2011-09-23  Bruno Haible  <bruno@clisp.org>
5392
5393         signal-h: Rename from signal.
5394         * modules/signal-h: Renamed from modules/signal.
5395         * modules/pthread_sigmask (Depends-on): Update.
5396         * modules/raise (Depends-on): Likewise.
5397         * modules/sigaction (Depends-on): Likewise.
5398         * modules/sigpipe (Depends-on): Likewise.
5399         * modules/sigprocmask (Depends-on): Likewise.
5400         * modules/sys_select (Depends-on): Likewise.
5401         * modules/signal-h-tests: Renamed from modules/signal-tests.
5402         (Files, Depends-on, Makefile.am): Update.
5403         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
5404         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
5405         (Files, Makefile.am): Update.
5406         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
5407         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
5408         * modules/signal: New placeholder file.
5409         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
5410         * doc/posix-headers/signal.texi: Update.
5411         * NEWS: Mention the change.
5412
5413 2011-09-23  Bruno Haible  <bruno@clisp.org>
5414
5415         sigprocmask: Avoid crashes through signal() on MSVC 9.
5416         * lib/sigprocmask.c: Include msvc-inval.h.
5417         (signal_nothrow): New function.
5418         (signal): Redefine it.
5419         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
5420         * modules/sigprocmask (Depends-on): Add msvc-inval.
5421         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
5422
5423 2011-09-23  Bruno Haible  <bruno@clisp.org>
5424
5425         Tests for module 'raise'.
5426         * modules/raise-tests: New file.
5427         * tests/test-raise.c: New file.
5428
5429         raise: Support for MSVC.
5430         * lib/signal.in.h (raise): New declaration.
5431         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
5432         for native Windows platforms.
5433         * m4/raise.m4: New file.
5434         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
5435         HAVE_RAISE, REPLACE_RAISE.
5436         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
5437         REPLACE_RAISE.
5438         * modules/raise (Status, Notice): Remove fields.
5439         (Files): Add m4/raise.m4.
5440         (Depends-on): Add signal, msvc-inval.
5441         (configure.ac): Use the common idioms.
5442         (Maintainer): Add me.
5443         * tests/test-signal-c++.cc: Check the signature of raise.
5444         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
5445
5446 2011-09-23  Bruno Haible  <bruno@clisp.org>
5447
5448         pipe2: Fix compilation on pre-C99 compilers.
5449         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
5450
5451 2011-09-23  Bruno Haible  <bruno@clisp.org>
5452
5453         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
5454         * lib/msvc-nothrow.h: New file.
5455         * lib/msvc-nothrow.c: New file.
5456         * m4/msvc-nothrow.m4: New file.
5457         * modules/msvc-nothrow: New file.
5458         * lib/dup2.c: Include msvc-nothrow.h.
5459         (rpl_dup2): No need to protect _get_osfhandle call here.
5460         * lib/accept4.c: Include msvc-nothrow.h.
5461         * lib/error.c: Likewise.
5462         * lib/fcntl.c: Likewise.
5463         * lib/lseek.c: Likewise.
5464         * lib/nonblocking.c: Likewise.
5465         * lib/poll.c: Likewise.
5466         * lib/read.c: Likewise.
5467         * lib/select.c: Likewise.
5468         * lib/sockets.h: Likewise.
5469         * lib/sockets.c: Likewise.
5470         * lib/stdio-read.c: Likewise.
5471         * lib/stdio-write.c: Likewise.
5472         * lib/write.c: Likewise.
5473         * lib/w32sock.h: Likewise.
5474         * lib/w32spawn.h: Likewise.
5475         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
5476         * lib/fsync.c: Likewise.
5477         * lib/isapipe.c: Likewise.
5478         * modules/dup2 (Depends-on): Add msvc-nothrow.
5479         * modules/accept4 (Depends-on): Likewise.
5480         * modules/error (Depends-on): Likewise.
5481         * modules/fcntl (Depends-on): Likewise.
5482         * modules/lseek (Depends-on): Likewise.
5483         * modules/nonblocking (Depends-on): Likewise.
5484         * modules/poll (Depends-on): Likewise.
5485         * modules/read (Depends-on): Likewise.
5486         * modules/select (Depends-on): Likewise.
5487         * modules/sockets (Depends-on): Likewise.
5488         * modules/sigpipe (Depends-on): Likewise.
5489         * modules/write (Depends-on): Likewise.
5490         * modules/accept (Depends-on): Likewise.
5491         * modules/bind (Depends-on): Likewise.
5492         * modules/connect (Depends-on): Likewise.
5493         * modules/gethostname (Depends-on): Likewise.
5494         * modules/getpeername (Depends-on): Likewise.
5495         * modules/getsockname (Depends-on): Likewise.
5496         * modules/getsockopt (Depends-on): Likewise.
5497         * modules/ioctl (Depends-on): Likewise.
5498         * modules/listen (Depends-on): Likewise.
5499         * modules/recv (Depends-on): Likewise.
5500         * modules/recvfrom (Depends-on): Likewise.
5501         * modules/send (Depends-on): Likewise.
5502         * modules/sendto (Depends-on): Likewise.
5503         * modules/setsockopt (Depends-on): Likewise.
5504         * modules/shutdown (Depends-on): Likewise.
5505         * modules/socket (Depends-on): Likewise.
5506         * modules/execute (Depends-on): Likewise.
5507         * modules/spawn-pipe (Depends-on): Likewise.
5508         * modules/flock (Depends-on): Likewise.
5509         * modules/fsync (Depends-on): Likewise.
5510         * modules/isapipe (Depends-on): Likewise.
5511         * tests/test-cloexec.c: Include msvc-nothrow.h.
5512         * tests/test-dup-safer.c: Likewise.
5513         * tests/test-dup2.c: Likewise.
5514         * tests/test-dup3.c: Likewise.
5515         * tests/test-fcntl.c: Likewise.
5516         * tests/test-pipe.c: Likewise.
5517         * tests/test-pipe2.c: Likewise.
5518         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
5519         * modules/unistd-safer-tests (Depends-on): Likewise.
5520         * modules/dup2-tests (Depends-on): Likewise.
5521         * modules/dup3-tests (Depends-on): Likewise.
5522         * modules/fcntl-tests (Depends-on): Likewise.
5523         * modules/pipe-posix-tests (Depends-on): Likewise.
5524         * modules/pipe2-tests (Depends-on): Likewise.
5525
5526 2011-09-23  Bruno Haible  <bruno@clisp.org>
5527
5528         dup2: Make code more maintainable.
5529         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
5530         (rpl_dup2): Use it.
5531         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
5532         * modules/dup2 (configure.ac): Invoke it.
5533         Reported by Paul Eggert.
5534
5535 2011-09-23  Bruno Haible  <bruno@clisp.org>
5536
5537         msvc-inval: Fix compilation error.
5538         * lib/msvc-inval.h: Include <excpt.h>.
5539
5540 2011-09-23  Bruno Haible  <bruno@clisp.org>
5541
5542         mkdir: Tweak for MSVC 9.
5543         * lib/sys_stat.in.h: Update comments.
5544         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
5545
5546         Tests for module 'chdir'.
5547         * modules/chdir-tests: New file.
5548         * tests/test-chdir.c: New file.
5549
5550         New module 'chdir'.
5551         * modules/chdir: New file.
5552         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
5553         (chdir): New declaration.
5554         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
5555         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
5556         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
5557         * tests/test-unistd-c++.cc: Check signature of chdir.
5558         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
5559         * modules/chdir-long (Depends-on): Add chdir.
5560         * modules/fchdir (Depends-on): Likewise.
5561         * modules/rename (Depends-on): Likewise.
5562         * modules/savewd (Depends-on): Likewise.
5563
5564         rmdir: Support for mingw, MSVC 9.
5565         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
5566         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
5567
5568         getcwd: Tweak for MSVC 9.
5569         * lib/unistd.in.h: Update comments.
5570         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
5571
5572 2011-09-22  Bruno Haible  <bruno@clisp.org>
5573
5574         strerror_r-posix: Avoid a link error on MSVC.
5575         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
5576         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
5577
5578 2011-09-22  Bruno Haible  <bruno@clisp.org>
5579
5580         select: Avoid link errors on MSVC.
5581         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
5582         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
5583         * modules/pselect (Link): Likewise.
5584         * NEWS: Mention the change.
5585         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
5586         test-select-stdin against $(LIB_SELECT).
5587         * modules/pselect-tests (Makefile.am): Link test-pselect against
5588         $(LIB_SELECT).
5589
5590 2011-09-22  Bruno Haible  <bruno@clisp.org>
5591
5592         select: Avoid compilation error on MSVC.
5593         * lib/select.c: Don't include <stdbool.h>.
5594
5595 2011-09-21  Bruno Haible  <bruno@clisp.org>
5596
5597         Consolidate all uses of PATH_MAX in *.m4 files.
5598         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
5599         macros.
5600         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
5601         and gl_PATHMAX_SNIPPET.
5602         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5603         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5604         * modules/chdir-long (Files): Add m4/pathmax.m4.
5605         * modules/getcwd (Files): Likewise.
5606
5607 2011-09-21  Bruno Haible  <bruno@clisp.org>
5608
5609         ftruncate: Un-deprecate, concentrate on Win32 support.
5610         * modules/ftruncate (Status, Notice): Remove sections.
5611         (Depends-on): Add largefile.
5612         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
5613         non-mingw platforms.
5614         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
5615         include <io.h>.
5616         * modules/perror-tests (Depends-on): Add ftruncate.
5617         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
5618         'ftruncate' module.
5619
5620 2011-09-21  Bruno Haible  <bruno@clisp.org>
5621
5622         Add dependencies to new dirent related modules.
5623         * modules/opendir (Depends-on): Add closedir.
5624         * modules/getcwd (Depends-on): Add opendir, closedir.
5625         * modules/dirent-safer-tests (Depends-on): Likewise.
5626         * modules/fdopendir-tests (Depends-on): Likewise.
5627         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
5628         * modules/renameat-tests (Depends-on): Likewise.
5629
5630 2011-09-21  Bruno Haible  <bruno@clisp.org>
5631
5632         opendir: Avoid compilation error on mingw.
5633         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
5634         * modules/opendir (Depends-on): Add unistd.
5635
5636 2011-09-21  Bruno Haible  <bruno@clisp.org>
5637
5638         ftruncate tests: Avoid a test failure on mingw.
5639         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
5640
5641 2011-09-21  Bruno Haible  <bruno@clisp.org>
5642
5643         select tests: Avoid test failures on OSF/1 5.1 and mingw.
5644         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
5645         native Windows.
5646
5647 2011-09-21  Bruno Haible  <bruno@clisp.org>
5648
5649         New module 'fdopen'.
5650         * lib/stdio.in.h (fdopen): New declaration.
5651         * lib/fdopen.c: New file.
5652         * m4/fdopen.m4: New file.
5653         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
5654         REPLACE_FDOPEN.
5655         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
5656         REPLACE_FDOPEN.
5657         * modules/fdopen: New file.
5658         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
5659         * tests/test-stdio-c++.cc: Check signature of fdopen.
5660         * doc/posix-functions/fdopen.texi: Mention the new module.
5661
5662 2011-09-21  Bruno Haible  <bruno@clisp.org>
5663
5664         unlockpt tests: Avoid test failure on NetBSD 5.1.
5665         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
5666         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
5667
5668 2011-09-21  Bruno Haible  <bruno@clisp.org>
5669
5670         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
5671         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
5672         * tests/test-getlogin_r.c (main): Likewise.
5673
5674 2011-09-20  Bruno Haible  <bruno@clisp.org>
5675
5676         time tests: Don't require pid_t.
5677         * doc/posix-headers/time.texi: Revert last change.
5678         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
5679         * tests/test-time.c: Comment out the check for pid_t.
5680
5681 2011-09-20  Bruno Haible  <bruno@clisp.org>
5682
5683         fsync tests: Avoid a test failure on mingw.
5684         * tests/test-fsync.c (main): Allow a failure with EIO.
5685
5686 2011-09-20  Bruno Haible  <bruno@clisp.org>
5687
5688         euidaccess: Update comments.
5689         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
5690
5691 2011-09-20  Bruno Haible  <bruno@clisp.org>
5692
5693         Ensure EBADF returns for socket functions on mingw.
5694         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
5695         descriptor is invalid.
5696         * lib/bind.c (rpl_bind): Likewise.
5697         * lib/connect.c (rpl_connect): Likewise.
5698         * lib/getpeername.c (rpl_getpeername): Likewise.
5699         * lib/getsockname.c (rpl_getsockname): Likewise.
5700         * lib/getsockopt.c (rpl_getsockopt): Likewise.
5701         * lib/listen.c (rpl_listen): Likewise.
5702         * lib/recv.c (rpl_recv): Likewise.
5703         * lib/recvfrom.c (rpl_recvfrom): Likewise.
5704         * lib/send.c (rpl_send): Likewise.
5705         * lib/sendto.c (rpl_sendto): Likewise.
5706         * lib/setsockopt.c (rpl_setsockopt): Likewise.
5707         * lib/shutdown.c (rpl_shutdown): Likewise.
5708
5709 2011-09-20  Bruno Haible  <bruno@clisp.org>
5710
5711         select tests: EBADF tests.
5712         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
5713         test_bad_fd): New functions.
5714         (test_function): Invoke also test_bad_fd.
5715
5716 2011-09-20  Bruno Haible  <bruno@clisp.org>
5717
5718         Tests for module 'posix_spawn_file_actions_addopen.
5719         * modules/posix_spawn_file_actions_addopen-tests: New file.
5720         * tests/test-posix_spawn_file_actions_addopen.c: New file.
5721
5722         Tests for module 'posix_spawn_file_actions_adddup2'.
5723         * modules/posix_spawn_file_actions_adddup2-tests: New file.
5724         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
5725
5726         Tests for module 'posix_spawn_file_actions_addclose'.
5727         * modules/posix_spawn_file_actions_addclose-tests: New file.
5728         * tests/test-posix_spawn_file_actions_addclose.c: New file.
5729
5730 2011-09-20  Bruno Haible  <bruno@clisp.org>
5731
5732         Tests for module 'unlockpt'.
5733         * modules/unlockpt-tests: New file.
5734         * tests/test-unlockpt.c: New file.
5735         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
5736
5737         Tests for module 'grantpt'.
5738         * modules/grantpt-tests: New file.
5739         * tests/test-grantpt.c: New file.
5740         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
5741
5742 2011-09-20  Bruno Haible  <bruno@clisp.org>
5743
5744         freopen tests: EBADF tests.
5745         * tests/test-freopen.c: Include errno.h, unistd.h.
5746         (main): Add tests for EBADF, commented out for the moment.
5747
5748         fclose tests: EBADF tests.
5749         * tests/test-fclose.c (main): Add tests for EBADF.
5750
5751         fflush tests: EBADF tests.
5752         * tests/test-fflush.c: Include errno.h, macros.h.
5753         (main): Add tests for EBADF.
5754
5755         ftello tests: EBADF tests.
5756         * tests/test-ftello4.sh: New file.
5757         * tests/test-ftello4.c: New file.
5758         * modules/ftello-tests (Files): Add them.
5759         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
5760
5761         fseeko tests: EBADF tests.
5762         * tests/test-fseeko4.sh: New file.
5763         * tests/test-fseeko4.c: New file.
5764         * modules/fseeko-tests (Files): Add them.
5765         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
5766
5767         Tests for function fputc().
5768         * modules/fputc-tests: New file.
5769         * tests/test-fputc.c: New file.
5770         * modules/stdio-tests (Depends-on): Add fputc-tests.
5771
5772         Tests for function fgetc().
5773         * modules/fgetc-tests: New file.
5774         * tests/test-fgetc.c: New file.
5775         * modules/stdio-tests (Depends-on): Add fgetc-tests.
5776
5777         Tests for function fdopen().
5778         * modules/fdopen-tests: New file.
5779         * tests/test-fdopen.c: New file.
5780         * modules/stdio-tests (Depends-on): Add fdopen-tests.
5781
5782         Tests for module 'vdprintf'.
5783         * modules/vdprintf-tests: New file.
5784         * tests/test-vdprintf.c: New file.
5785
5786         Tests for module 'dprintf'.
5787         * modules/dprintf-tests: New file.
5788         * tests/test-dprintf.c: New file.
5789
5790 2011-09-20  Bruno Haible  <bruno@clisp.org>
5791
5792         Tests for module 'ioctl'.
5793         * modules/ioctl-tests: New file.
5794         * tests/test-ioctl.c: New file.
5795
5796 2011-09-20  Bruno Haible  <bruno@clisp.org>
5797
5798         fcntl tests: EBADF tests.
5799         * tests/test-fcntl.c (main): Add more tests for EBADF.
5800
5801 2011-09-20  Bruno Haible  <bruno@clisp.org>
5802
5803         utimensat tests: EBADF tests.
5804         * tests/test-utimensat.c (main): Add tests for EBADF.
5805
5806         renameat tests: EBADF tests.
5807         * tests/test-renameat.c (main): Add tests for EBADF.
5808
5809         mkfifoat tests: EBADF tests.
5810         * tests/test-mkfifoat.c (main): Add tests for EBADF.
5811
5812         readlinkat tests: EBADF tests.
5813         * tests/test-readlinkat.c (main): Add tests for EBADF.
5814
5815         symlinkat tests: EBADF tests.
5816         * tests/test-symlinkat.c (main): Add tests for EBADF.
5817
5818         linkat tests: EBADF tests.
5819         * tests/test-linkat.c (main): Add tests for EBADF.
5820
5821         Tests for module 'faccessat'.
5822         * modules/faccessat-tests: New file.
5823         * tests/test-faccessat.c: New file.
5824
5825         fdopendir tests: EBADF tests.
5826         * tests/test-fdopendir.c (main): Add more tests for EBADF.
5827
5828         openat tests: EBADF tests.
5829         * tests/test-fchownat.c (main): Add tests for EBADF.
5830         * tests/test-fstatat.c (main): Likewise.
5831         * tests/test-mkdirat.c (main): Likewise.
5832         * tests/test-openat.c (main): Likewise.
5833         * tests/test-unlinkat.c (main): Likewise.
5834         * tests/test-fchmodat.c: New file.
5835         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
5836         (Makefile.am): Also run 'test-fchmodat'.
5837
5838 2011-09-20  Bruno Haible  <bruno@clisp.org>
5839
5840         utimens, futimens, fdutimensat tests: EBADF tests.
5841         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
5842
5843         Tests for function fstat().
5844         * modules/fstat-tests: New file.
5845         * tests/test-fstat.c: New file.
5846         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
5847
5848 2011-09-20  Bruno Haible  <bruno@clisp.org>
5849
5850         test-ttyname_r tests: EBADF tests.
5851         * tests/test-ttyname_r.c (main): Add tests for EBADF.
5852
5853         Tests for module 'isatty'.
5854         * modules/isatty-tests: New file.
5855         * tests/test-isatty.c: New file.
5856
5857         Tests for module 'write'.
5858         * modules/write-tests: New file.
5859         * tests/test-write.c: New file.
5860
5861         Tests for module 'read'.
5862         * modules/read-tests: New file.
5863         * tests/test-read.c: New file.
5864
5865         pwrite tests: EBADF tests.
5866         * tests/test-pwrite.c (main): Add tests for EBADF.
5867
5868         pread tests: EBADF tests.
5869         * tests/test-pread.c (main): Add tests for EBADF.
5870
5871         lseek tests: EBADF tests.
5872         * tests/test-lseek.c (main): Add more tests for EBADF.
5873
5874         Tests for module 'ftruncate'.
5875         * modules/ftruncate-tests: New file.
5876         * tests/test-ftruncate.sh: New file.
5877         * tests/test-ftruncate.c: New file.
5878
5879         fsync tests: EBADF tests.
5880         * tests/test-fsync.c (main): Add more tests for EBADF.
5881
5882         fdatasync tests: EBADF tests.
5883         * tests/test-fdatasync.c (main): Add more tests for EBADF.
5884
5885         Tests for module 'fchown'.
5886         * modules/fchown-tests: New file.
5887         * tests/test-fchown.c: New file.
5888
5889         Tests for module 'fchmod'.
5890         * modules/fchmod-tests: New file.
5891         * tests/test-fchmod.c: New file.
5892
5893         fchdir tests: EBADF tests.
5894         * tests/test-fchdir.c (main): Add more tests for EBADF.
5895
5896         dup2 tests: EBADF tests.
5897         * tests/test-dup2.c (main): Add more tests for EBADF.
5898
5899         Tests for module 'dup'.
5900         * modules/dup-tests: New file.
5901         * tests/test-dup.c: New file.
5902
5903         Tests for module 'close'.
5904         * modules/close-tests: New file.
5905         * tests/test-close.c: New file.
5906
5907 2011-09-20  Bruno Haible  <bruno@clisp.org>
5908
5909         Tests for module 'shutdown'.
5910         * modules/shutdown-tests: New file.
5911         * tests/test-shutdown.c: New file.
5912
5913         Tests for module 'setsockopt'.
5914         * modules/setsockopt-tests: New file.
5915         * tests/test-setsockopt.c: New file.
5916
5917         Tests for module 'sendto'.
5918         * modules/sendto-tests: New file.
5919         * tests/test-sendto.c: New file.
5920
5921         Tests for module 'send'.
5922         * modules/send-tests: New file.
5923         * tests/test-send.c: New file.
5924
5925         Tests for module 'recvfrom'.
5926         * modules/recvfrom-tests: New file.
5927         * tests/test-recvfrom.c: New file.
5928
5929         Tests for module 'recv'.
5930         * modules/recv-tests: New file.
5931         * tests/test-recv.c: New file.
5932
5933         Tests for module 'listen'.
5934         * modules/listen-tests: New file.
5935         * tests/test-listen.c: New file.
5936
5937         Tests for module 'getsockopt'.
5938         * modules/getsockopt-tests: New file.
5939         * tests/test-getsockopt.c: New file.
5940
5941         Tests for module 'getsockname'.
5942         * modules/getsockname-tests: New file.
5943         * tests/test-getsockname.c: New file.
5944
5945         Tests for module 'getpeername'.
5946         * modules/getpeername-tests: New file.
5947         * tests/test-getpeername.c: New file.
5948
5949         Tests for module 'connect'.
5950         * modules/connect-tests: New file.
5951         * tests/test-connect.c: New file.
5952
5953         Tests for module 'bind'.
5954         * modules/bind-tests: New file.
5955         * tests/test-bind.c: New file.
5956
5957         accept4 tests: Fix for native Windows.
5958         * tests/test-accept4.c: Include sockets.h.
5959         (main): Invoke gl_sockets_startup.
5960         * modules/accept4-tests (Depends-on): Add sockets.
5961
5962         accept tests: Fix for native Windows.
5963         * tests/test-accept.c: Include sockets.h.
5964         (main): Invoke gl_sockets_startup.
5965         * modules/accept-tests (Depends-on): Add sockets.
5966
5967 2011-09-19  Bruno Haible  <bruno@clisp.org>
5968
5969         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
5970         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
5971         do...while(0).
5972         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
5973         Suggested by Paul Eggert.
5974
5975 2011-09-19  Bruno Haible  <bruno@clisp.org>
5976
5977         sched: Ensure pid_t is defined.
5978         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
5979         not define pid_t.
5980         * lib/sched.in.h: Include <sys/types.h>.
5981         * doc/posix-headers/sched.texi: Mention the pid_t problem.
5982         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5983
5984 2011-09-19  Bruno Haible  <bruno@clisp.org>
5985
5986         msvc-inval: Ensure the entire expansion is a single statement.
5987         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
5988         of braces.
5989
5990 2011-09-19  Jim Meyering  <meyering@redhat.com>
5991
5992         tests: use printf, not echo in init.sh's warn_ function
5993         * tests/init.sh (warn_): Use printf, not echo.  The latter would
5994         misbehave when given strings containing a backslash or starting
5995         with e.g., -n.  James Youngman suggested setting IFS.
5996
5997 2011-09-19  Eric Blake  <eblake@redhat.com>
5998
5999         futimens: enhance test
6000         * tests/test-futimens.h (test_futimens): Also check for EBADF on
6001         closed non-negative fd.
6002
6003         date: accept 'hence' as opposite of 'ago'
6004         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
6005         * tests/test-parse-datetime.c (main): Enhance test.
6006         Suggested by Jesse Wilson.
6007
6008 2011-09-19  Jim Meyering  <meyering@redhat.com>
6009
6010         getcwd: don't fail in a deep directory on a system without openat
6011         Before this change, getcwd would fail when called from a directory
6012         of depth PATH_MAX / 3 or greater.  That was due to the fact that
6013         the non-openat implementation used "..", "../..", "../../..", etc.
6014         to access ancestor directories.  With too many, that string would
6015         be longer than PATH_MAX.
6016         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
6017         using gnulib's openat replacement.
6018         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
6019         we're using the replacement function.
6020
6021 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
6022
6023         maint.mk: avoid warnings from perl about missing files
6024         * top/maint.mk (def_sym_regex): Ignore files listed in
6025         $(gl_other_headers_) that do not exist, say because a project
6026         does not use a corresponding module.
6027
6028 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
6029
6030         stat: use pathmax.h only if needed
6031         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
6032         This is better for Emacs, which does not have a mingw port and
6033         therefore can avoid the pathmax module.
6034
6035         utimens: remove dependency on dup2
6036         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
6037         to work around the Linux kernel bug.
6038         * modules/utimens (Depends-on): Remove dup2.
6039
6040 2011-09-18  Bruno Haible  <bruno@clisp.org>
6041
6042         inet_ntop, inet_pton: Look for it also in libresolv.
6043         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
6044         libnsl, search for it in libresolv.
6045         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6046         Needed on Solaris 7.
6047
6048 2011-09-18  Bruno Haible  <bruno@clisp.org>
6049
6050         accept, accept4 tests: Avoid link error on Solaris.
6051         * modules/accept-tests (Makefile.am): Link test-accept against
6052         $(LIBSOCKET).
6053         * modules/accept4-tests (Makefile.am): Link test-accept4 against
6054         $(LIBSOCKET).
6055
6056         accept4: Avoid link error on Solaris.
6057         * modules/accept4 (Link): New section.
6058
6059         socket functions: Avoid link errors on Solaris.
6060         * modules/accept (Depends-on): Add socketlib.
6061         (Link): New section.
6062         * modules/bind (Depends-on): Add socketlib.
6063         (Link): New section.
6064         * modules/connect (Depends-on): Add socketlib.
6065         (Link): New section.
6066         * modules/getpeername (Depends-on): Add socketlib.
6067         (Link): New section.
6068         * modules/getsockname (Depends-on): Add socketlib.
6069         (Link): New section.
6070         * modules/getsockopt (Depends-on): Add socketlib.
6071         (Link): New section.
6072         * modules/listen (Depends-on): Add socketlib.
6073         (Link): New section.
6074         * modules/recv (Depends-on): Add socketlib.
6075         (Link): New section.
6076         * modules/recvfrom (Depends-on): Add socketlib.
6077         (Link): New section.
6078         * modules/send (Depends-on): Add socketlib.
6079         (Link): New section.
6080         * modules/sendto (Depends-on): Add socketlib.
6081         (Link): New section.
6082         * modules/setsockopt (Depends-on): Add socketlib.
6083         (Link): New section.
6084         * modules/shutdown (Depends-on): Add socketlib.
6085         (Link): New section.
6086         * modules/socket (Depends-on): Add socketlib.
6087         (Link): New section.
6088
6089 2011-09-18  Bruno Haible  <bruno@clisp.org>
6090
6091         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
6092         * tests/test-ptsname.c (main): Terminate the test if it takes longer
6093         than 5 seconds.
6094         * modules/ptsname-tests (configure.ac): Test for alarm.
6095
6096 2011-09-18  Bruno Haible  <bruno@clisp.org>
6097
6098         posix_spawn_file_actions_add*: Fix module dependencies.
6099         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
6100         posix_spawn_file_actions_init.
6101         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
6102         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
6103
6104 2011-09-18  Bruno Haible  <bruno@clisp.org>
6105
6106         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
6107         * tests/test-rename.h (test_rename): Allow error code EEXIST.
6108         * tests/test-renameat.c (main): Likewise.
6109
6110 2011-09-18  Bruno Haible  <bruno@clisp.org>
6111
6112         Tests for module 'accept4'.
6113         * modules/accept4-tests: New file.
6114         * tests/test-accept4.c: New file.
6115
6116 2011-09-18  Bruno Haible  <bruno@clisp.org>
6117
6118         Tests for module 'accept'.
6119         * modules/accept-tests: New file.
6120         * tests/test-accept.c: New file.
6121
6122 2011-09-18  Bruno Haible  <bruno@clisp.org>
6123
6124         dup2: Support for MSVC.
6125         * lib/dup2.c: Include msvc-inval.h.
6126         (rpl_dup2): Handle invalid parameter notifications during dup2 and
6127         _get_osfhandle calls.
6128         * modules/dup2 (Depends-on): Add msvc-inval.
6129         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
6130
6131         New module 'msvc-inval'.
6132         * lib/msvc-inval.h: New file.
6133         * lib/msvc-inval.c: New file.
6134         * m4/msvc-inval.m4: New file.
6135         * modules/msvc-inval: New file.
6136
6137 2011-09-17  Bruno Haible  <bruno@clisp.org>
6138
6139         Tests for module 'pclose'.
6140         * modules/pclose-tests: New file.
6141
6142         New module 'pclose'.
6143         * lib/stdio.in.h (pclose): New declaration.
6144         * lib/pclose.c: New file.
6145         * m4/pclose.m4: New file.
6146         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
6147         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
6148         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
6149         * modules/pclose: New file.
6150         * modules/popen-tests (Depends-on): Add pclose.
6151         * modules/popen-safer-tests (Depends-on): Likewise.
6152         * doc/posix-functions/pclose.texi: Mention the new module.
6153
6154 2011-09-17  Bruno Haible  <bruno@clisp.org>
6155
6156         popen: Support for MSVC.
6157         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
6158         * lib/popen.c (popen): Provide alternate definition for native Windows.
6159         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
6160         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
6161         * modules/popen (Depends-on, configure.ac): Update condition.
6162         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
6163         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
6164         fixed.
6165
6166 2011-09-17  Bruno Haible  <bruno@clisp.org>
6167
6168         isnanl, isnand, isnanf: Work around MSVC bug.
6169         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
6170
6171 2011-09-17  Bruno Haible  <bruno@clisp.org>
6172
6173         sys_socket tests: Fix recent mistake.
6174         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
6175
6176 2011-09-17  Bruno Haible  <bruno@clisp.org>
6177
6178         putenv: Support for MSVC.
6179         * modules/putenv (Depends-on): Add environ.
6180         * lib/putenv.c (environ): Disable declaration.
6181         * lib/unistd.in.h: Update comment.
6182
6183 2011-09-17  Bruno Haible  <bruno@clisp.org>
6184
6185         math: Avoid macro redefinition warnings on MSVC.
6186         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
6187         Undefine before redefining.
6188
6189 2011-09-17  Bruno Haible  <bruno@clisp.org>
6190
6191         doc: Mention functions which are declared as macros.
6192         * doc/posix-functions/*[fl].texi: Mention that some functions are
6193         defined as macros with arguments only.
6194
6195 2011-09-17  Bruno Haible  <bruno@clisp.org>
6196
6197         Add dependencies to new dirent related modules.
6198         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
6199         * modules/fts (Depends-on): Likewise.
6200         * modules/glob (Depends-on): Likewise.
6201         * modules/savedir (Depends-on): Likewise.
6202         * modules/scandir (Depends-on): Likewise.
6203         * modules/dirent-safer (Depends-on): Add opendir, closedir.
6204         * modules/fdopendir (Depends-on): Add opendir.
6205
6206 2011-09-17  Bruno Haible  <bruno@clisp.org>
6207
6208         inet_pton: Support for MSVC on Windows Vista or newer.
6209         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
6210         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
6211         HAVE_DECL_INET_PTON is defined.
6212         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
6213         On platforms with <winsock2.h>, test whether inet_pton is declared in
6214         <ws2tcpip.h>. If so, arrange to replace it.
6215         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
6216         REPLACE_INET_PTON.
6217         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
6218         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
6219         (Depends-on, configure.ac): Update condition.
6220         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
6221
6222 2011-09-17  Bruno Haible  <bruno@clisp.org>
6223
6224         inet_ntop: Support for MSVC on Windows Vista or newer.
6225         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
6226         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
6227         HAVE_DECL_INET_NTOP is defined.
6228         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
6229         On platforms with <winsock2.h>, test whether inet_ntop is declared in
6230         <ws2tcpip.h>. If so, arrange to replace it.
6231         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
6232         REPLACE_INET_NTOP.
6233         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
6234         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
6235         (Depends-on, configure.ac): Update condition.
6236         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
6237
6238 2011-09-16  Eric Blake  <eblake@redhat.com>
6239
6240         test-fsync: yet another enhancement
6241         * tests/test-fsync.c (main): Also test behavior on read-only text
6242         file.
6243
6244 2011-09-16  Bruno Haible  <bruno@clisp.org>
6245
6246         Enhance fsync, fdatasync tests.
6247         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
6248         * tests/test-fdatasync.c (main): Likewise.
6249
6250 2011-09-16  Bruno Haible  <bruno@clisp.org>
6251
6252         Support for MSVC compiler: Ensure mode_t gets defined.
6253         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
6254         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6255         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
6256         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
6257         * tests/test-fcntl-h.c: Check that mode_t is defined.
6258         * tests/test-sys_stat.c: Likewise.
6259         * tests/test-sys_types.c: Likewise.
6260         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
6261         * doc/posix-headers/sys_stat.texi: Likewise.
6262         * doc/posix-headers/sys_types.texi: Likewise.
6263
6264 2011-09-16  Bruno Haible  <bruno@clisp.org>
6265
6266         sys_stat: Support for MSVC.
6267         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
6268         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
6269         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
6270         MSVC.
6271
6272 2011-09-16  Bruno Haible  <bruno@clisp.org>
6273
6274         Support for MSVC compiler: Ensure off_t gets defined.
6275         * lib/unistd.in.h: Include <sys/types.h>.
6276         * tests/test-fcntl-h.c: Check that off_t is defined.
6277         * tests/test-sys_stat.c: Likewise.
6278         * tests/test-sys_types.c: Likewise.
6279
6280 2011-09-16  Eric Blake  <eblake@redhat.com>
6281
6282         fdatasync: port to Solaris
6283         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
6284         * modules/fdatasync (Link): Document it.
6285         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
6286
6287         fdatasync: port to MacOS X 10.7
6288         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
6289         declared.
6290         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
6291         * modules/unistd (Makefile.am): Substitute it.
6292         * lib/unistd.in.h (fdatasync): Declare on MacOS.
6293         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
6294
6295         fdatasync: minor improvements
6296         * modules/fdatasync (Depends-on): Add condition for fsync.
6297         * lib/fdatasync.c (fdatasync): Add comment.
6298         * tests/test-unistd-c++.cc: Test fdatasync.
6299
6300         unistd: update refs to newer POSIX
6301         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
6302         Suggested by Bruno Haible.
6303
6304         fdatasync: new module
6305         * modules/fsync (Description): Document difference to fdatasync.
6306         * modules/fdatasync: New module.
6307         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
6308         * lib/fdatasync.c (fdatasync): Likewise.
6309         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
6310         defaults.
6311         * modules/unistd (Makefile.am): Set witnesses.
6312         * lib/unistd.in.h (fdatasync): Declare.
6313         * MODULES.html.sh: Document it.
6314         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
6315         * modules/fdatasync-tests: New test.
6316         * tests/test-fdatasync.c: Likewise.
6317
6318 2011-09-16  Eric Blake  <eblake@redhat.com>
6319
6320         test-fsync: enhance tests
6321         * modules/fsync-tests (Depends-on): Add errno, for mingw.
6322         * tests/test-fsync.c (main): Enhance test.
6323
6324 2011-09-15  Bruno Haible  <bruno@clisp.org>
6325
6326         Support for MSVC compiler: Ensure ssize_t gets defined.
6327         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
6328         * doc/posix-headers/stdio.texi: Likewise.
6329         * modules/stdio (Depends-on): Add ssize_t.
6330         * modules/sys_socket (Depends-on): Likewise.
6331         * modules/sys_types (Depends-on): Likewise.
6332         * modules/sys_uio (Depends-on): Likewise.
6333         * modules/unistd (Depends-on): Likewise.
6334         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
6335         * tests/test-sys_types.c: Check that ssize_t is defined.
6336
6337 2011-09-14  Bruno Haible  <bruno@clisp.org>
6338
6339         Avoid using #, the m4 comment starter character, near brackets.
6340         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
6341         delimiter character in sed expressions.
6342         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
6343         Suggested by Eric Blake.
6344
6345         Properly quote AC_CHECK_DECLS' 4th argument.
6346         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
6347         argument.
6348         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
6349         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6350         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6351         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
6352         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
6353         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
6354         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
6355         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
6356         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
6357         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
6358         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
6359         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6360         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
6361         * m4/isinf.m4 (gl_ISINF): Likewise.
6362         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6363         * m4/readutmp.m4 (gl_READUTMP): Likewise.
6364         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
6365         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6366         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6367         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
6368         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
6369         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
6370         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
6371         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6372         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6373         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6374         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
6375         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6376         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
6377         Reported by Eric Blake.
6378
6379         Properly quote AC_CHECK_DECL's 4th argument.
6380         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
6381         argument.
6382         * m4/argp.m4 (gl_ARGP): Likewise.
6383         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
6384         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
6385         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
6386         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
6387         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
6388         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
6389         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6390         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
6391         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
6392         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
6393         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
6394         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
6395         Reported by Eric Blake.
6396
6397 2011-09-14  Eric Blake  <eblake@redhat.com>
6398
6399         opendir: avoid compile warning
6400         * lib/opendir.c (includes): Always include errno.h.
6401         Reported by Tatsuro MATSUOKA.
6402
6403 2011-09-14  Jim Meyering  <meyering@redhat.com>
6404
6405         maint.mk: sc_tight_scope: propagate failure from sub-make
6406         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
6407         Reported by Martin von Gagern.
6408
6409 2011-09-13  Bruno Haible  <bruno@clisp.org>
6410
6411         tempname: Support for MSVC.
6412         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
6413         MSVC.
6414         * modules/tempname (Depends-on): Add fcntl-h.
6415
6416 2011-09-13  Bruno Haible  <bruno@clisp.org>
6417
6418         sys_time: Support for MSVC.
6419         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
6420         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
6421         include <winsock2.h>.
6422         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
6423         function declarations that collide with POSIX.
6424         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
6425         (Makefile.am): Substitute HAVE_WINSOCK2_H.
6426
6427 2011-09-13  Bruno Haible  <bruno@clisp.org>
6428
6429         stat: Support for MSVC.
6430         * lib/stat.c: Include pathmax.h.
6431         * modules/stat (Depends-on): Add pathmax.
6432
6433         pathmax: Support for native Windows.
6434         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
6435
6436 2011-09-12  Bruno Haible  <bruno@clisp.org>
6437
6438         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
6439         * lib/dirent.in.h (struct dirent): New type.
6440         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
6441         DT_WHT): New macros.
6442         (DIR): New type.
6443         (opendir, closedir): Declare only if the module 'opendir' is enabled.
6444         (readdir, rewinddir): New declarations.
6445         * lib/dirent-private.h: New file.
6446         * lib/opendir.c: New file.
6447         * lib/readdir.c: New file.
6448         * lib/rewinddir.c: New file.
6449         * lib/closedir.c: New file.
6450         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
6451         * m4/opendir.m4: New file.
6452         * m4/readdir.m4: New file.
6453         * m4/rewinddir.m4: New file.
6454         * m4/closedir.m4: New file.
6455         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
6456         REPLACE_CLOSEDIR here.
6457         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
6458         readdir, rewinddir are declared.
6459         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
6460         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
6461         HAVE_REWINDDIR, HAVE_CLOSEDIR.
6462         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
6463         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
6464         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
6465         * modules/opendir: New file.
6466         * modules/readdir: New file.
6467         * modules/rewinddir: New file.
6468         * modules/closedir: New file.
6469         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
6470         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
6471         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
6472         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
6473         * NEWS: Mention the 'fchdir' change.
6474
6475 2011-09-11  Bruno Haible  <bruno@clisp.org>
6476
6477         asm-underscore.m4: Support for MSVC.
6478         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
6479         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
6480
6481 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
6482
6483         Doc about crypt functions.
6484         * doc/posix-functions/crypt.texi: Expand range of glibc versions
6485         needing for _GNU_SOURCE to get crypt.
6486         * doc/posix-functions/encrypt.texi: Likewise.
6487         * doc/posix-functions/setkey.texi: Likewise.
6488
6489 2011-09-11  Bruno Haible  <bruno@clisp.org>
6490
6491         doc: Update regarding MSVC 9.
6492         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
6493         tested".
6494         * doc/posix-functions/*.texi: Update with info about MSVC 9.
6495         * doc/posix-headers/*.texi: Likewise.
6496         * doc/pastposix-functions/*.texi: Likewise.
6497         * doc/glibc-functions/*.texi: Likewise.
6498         * doc/glibc-headers/*.texi: Likewise.
6499
6500 2011-09-11  Bruno Haible  <bruno@clisp.org>
6501
6502         unistd et al.: Don't assume <unistd.h> exists.
6503         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
6504         does not exist.
6505         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
6506         exist. But include <stdlib.h>.
6507         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
6508         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
6509         symlink() does not exist.
6510         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
6511         include <io.h> instead.
6512         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
6513         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
6514         include <direct.h> instead.
6515         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
6516         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6517         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
6518         <io.h> instead.
6519         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
6520         correctly if the system does not have hard links.
6521         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
6522         <direct.h> instead.
6523         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
6524         it when looking for function declarations.
6525         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
6526         <direct.h> and <io.h> instead.
6527         * doc/posix-headers/unistd.texi: More details about MSVC problem.
6528
6529 2011-09-11  Bruno Haible  <bruno@clisp.org>
6530
6531         strcase: Support for MSVC.
6532         * modules/strcase (Status, Notice): Remove obsoletion mark.
6533         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
6534         * doc/posix-functions/strncasecmp.texi: Likewise.
6535
6536         strings: Don't assume <strings.h> exists.
6537         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
6538         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
6539         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
6540         * doc/posix-headers/strings.texi: Mention the MSVC problem.
6541
6542 2011-09-11  Bruno Haible  <bruno@clisp.org>
6543
6544         dirent: Don't assume <dirent.h> exists.
6545         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
6546         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
6547         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
6548         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
6549
6550 2011-09-11  Bruno Haible  <bruno@clisp.org>
6551
6552         Fix wint_t on MSVC.
6553         * lib/wchar.in.h (wint_t): On MSVC, override it.
6554         * lib/wctype.in.h (wint_t): Likewise.
6555         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
6556         MSVC.
6557         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
6558         * doc/posix-headers/wctype.texi: Likewise.
6559
6560 2011-09-11  Bruno Haible  <bruno@clisp.org>
6561
6562         sys_types: Fix typo.
6563         * lib/sys_types.in.h: Fix typo in comment.
6564         Reported by Paul Eggert.
6565
6566         Support for MSVC compiler: Ensure size_t gets defined.
6567         * modules/strings (Depends-on): Add 'sys_types'.
6568         * modules/sys_uio (Depends-on): Likewise.
6569         * lib/sys_uio.in.h: Update comment.
6570
6571         C++ tests for module 'sys_types'.
6572         * modules/sys_types-c++-tests: New file.
6573         * tests/test-sys_types-c++.cc: New file.
6574
6575         Tests for module 'sys_types'.
6576         * modules/sys_types-tests: New file.
6577         * tests/test-sys_types.c: New file.
6578
6579         New module 'sys_types'.
6580         * lib/sys_types.in.h: New file.
6581         * m4/sys_types_h.m4: New file.
6582         * modules/sys_types: New file.
6583         * doc/posix-headers/sys_types.texi: Mention the new module and the
6584         size_t problem on MSVC 9.
6585
6586 2011-09-11  Bruno Haible  <bruno@clisp.org>
6587
6588         Support for MSVC compiler: Avoid division by a literal 0.
6589         * lib/math.in.h (NAN): Define through a function call also on MSVC.
6590         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
6591         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
6592         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
6593         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
6594         * tests/infinity.h: New file.
6595         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
6596         on MSVC.
6597         * tests/test-ceilf1.c: Include infinity.h.
6598         (main): Use Infinityf.
6599         * tests/test-ceil1.c: Include infinity.h.
6600         (main): Use Infinityd.
6601         * tests/test-ceill.c: Include infinity.h.
6602         (main): Use Infinityl.
6603         * tests/test-dprintf-posix.c: Include infinity.h.
6604         (test_function): Use Infinityd.
6605         * tests/test-floorf1.c: Include infinity.h.
6606         (main): Use Infinityf.
6607         * tests/test-floor1.c: Include infinity.h.
6608         (main): Use Infinityd.
6609         * tests/test-floorl.c: Include infinity.h.
6610         (main): Use Infinityl.
6611         * tests/test-fprintf-posix.c: Include infinity.h.
6612         (test_function): Use Infinityd.
6613         * tests/test-frexp.c: Include infinity.h.
6614         (main): Use Infinityd.
6615         * tests/test-frexpl.c: Include infinity.h.
6616         (main): Use Infinityl.
6617         * tests/test-isfinite.c: Include infinity.h.
6618         (test_isfinitef): Use Infinityf.
6619         (test_isfinited): Use Infinityd.
6620         (test_isfinitel): Use Infinityl.
6621         * tests/test-isinf.c: Include infinity.h.
6622         (test_isinff): Use Infinityf.
6623         (test_isinfd): Use Infinityd.
6624         (test_isinfl): Use Infinityl.
6625         * tests/test-isnan.c: Include infinity.h.
6626         (test_float): Use Infinityf.
6627         (test_double): Use Infinityd.
6628         (test_long_double): Use Infinityl.
6629         * tests/test-isnanf.h: Include infinity.h.
6630         (main): Use Infinityf.
6631         * tests/test-isnand.h: Include infinity.h.
6632         (main): Use Infinityd.
6633         * tests/test-isnanl.h: Include infinity.h.
6634         (main): Use Infinityl.
6635         * tests/test-ldexpl.c: Include infinity.h.
6636         (main): Use Infinityl.
6637         * tests/test-printf-posix.h: Include infinity.h.
6638         (test_function): Use Infinityd.
6639         * tests/test-roundf1.c: Include infinity.h.
6640         (main): Use Infinityf.
6641         * tests/test-round1.c: Include infinity.h.
6642         (main): Use Infinityd.
6643         * tests/test-roundl.c: Include infinity.h.
6644         (main): Use Infinityl.
6645         * tests/test-signbit.c: Include infinity.h.
6646         (test_signbitf): Use Infinityf.
6647         (test_signbitd): Use Infinityd.
6648         (test_signbitl): Use Infinityl.
6649         * tests/test-snprintf-posix.h: Include infinity.h.
6650         (test_function): Use Infinityd, Infinityl.
6651         * tests/test-sprintf-posix.h: Include infinity.h.
6652         (test_function): Use Infinityd, Infinityl.
6653         * tests/test-truncf1.c: Include infinity.h.
6654         (main): Use Infinityf.
6655         * tests/test-trunc1.c: Include infinity.h.
6656         (main): Use Infinityd.
6657         * tests/test-truncl.c: Include infinity.h.
6658         (main): Use Infinityl.
6659         * tests/test-vasnprintf-posix.c: Include infinity.h.
6660         (test_function): Use Infinityd, Infinityl.
6661         * tests/test-vasprintf-posix.c: Include infinity.h.
6662         (test_function): Use Infinityd, Infinityl.
6663         * modules/ceilf-tests (Files): Add tests/infinity.h.
6664         * modules/ceil-tests (Files): Likewise.
6665         * modules/ceill-tests (Files): Likewise.
6666         * modules/dprintf-posix-tests (Files): Likewise.
6667         * modules/floorf-tests (Files): Likewise.
6668         * modules/floor-tests (Files): Likewise.
6669         * modules/floorl-tests (Files): Likewise.
6670         * modules/fprintf-posix-tests (Files): Likewise.
6671         * modules/frexp-tests (Files): Likewise.
6672         * modules/frexp-nolibm-tests (Files): Likewise.
6673         * modules/frexpl-tests (Files): Likewise.
6674         * modules/frexpl-nolibm-tests (Files): Likewise.
6675         * modules/isfinite-tests (Files): Likewise.
6676         * modules/isinf-tests (Files): Likewise.
6677         * modules/isnan-tests (Files): Likewise.
6678         * modules/isnanf-tests (Files): Likewise.
6679         * modules/isnanf-nolibm-tests (Files): Likewise.
6680         * modules/isnand-tests (Files): Likewise.
6681         * modules/isnand-nolibm-tests (Files): Likewise.
6682         * modules/isnanl-tests (Files): Likewise.
6683         * modules/isnanl-nolibm-tests (Files): Likewise.
6684         * modules/ldexpl-tests (Files): Likewise.
6685         * modules/printf-posix-tests (Files): Likewise.
6686         * modules/roundf-tests (Files): Likewise.
6687         * modules/round-tests (Files): Likewise.
6688         * modules/roundl-tests (Files): Likewise.
6689         * modules/signbit-tests (Files): Likewise.
6690         * modules/snprintf-posix-tests (Files): Likewise.
6691         * modules/sprintf-posix-tests (Files): Likewise.
6692         * modules/truncf-tests (Files): Likewise.
6693         * modules/trunc-tests (Files): Likewise.
6694         * modules/truncl-tests (Files): Likewise.
6695         * modules/vasnprintf-posix-tests (Files): Likewise.
6696         * modules/vasprintf-posix-tests (Files): Likewise.
6697         * modules/vdprintf-posix-tests (Files): Likewise.
6698         * modules/vfprintf-posix-tests (Files): Likewise.
6699         * modules/vprintf-posix-tests (Files): Likewise.
6700         * modules/vsnprintf-posix-tests (Files): Likewise.
6701         * modules/vsprintf-posix-tests (Files): Likewise.
6702         * modules/xprintf-posix-tests (Files): Likewise.
6703
6704 2011-09-11  Bruno Haible  <bruno@clisp.org>
6705
6706         Ensure pid_t gets defined.
6707         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
6708         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
6709         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
6710         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6711         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
6712         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
6713         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
6714         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6715         * tests/test-fcntl-h.c: Check that pid_t is defined.
6716         * tests/test-sched.c: Likewise.
6717         * tests/test-termios.c: Likewise.
6718         * tests/test-time.c: Likewise.
6719         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
6720         * doc/posix-headers/signal.texi: Likewise.
6721         * doc/posix-headers/sys_types.texi: Likewise.
6722         * doc/posix-headers/time.texi: Likewise.
6723
6724 2011-09-11  Bruno Haible  <bruno@clisp.org>
6725
6726         acl: Fix compilation on Solaris 10 (older version).
6727         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
6728         of ACE_EVERYONE.
6729         * lib/set-mode-acl.c (qset_acl): Likewise.
6730         Reported by Christian Jullien <eligis@orange.fr>.
6731
6732 2011-09-10  Bruno Haible  <bruno@clisp.org>
6733
6734         iconv, unsetenv: Add support for MSVC compiler.
6735         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
6736         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
6737
6738 2011-09-10  Bruno Haible  <bruno@clisp.org>
6739
6740         *printf: Add support for MSVC compiler.
6741         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
6742         handles the exception caused by the %n directive. When cross-compiling,
6743         guess no on native Windows.
6744         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
6745         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
6746         emulate it through vsnprintf.
6747         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
6748         * doc/posix-functions/dprintf.texi: Update documentation regarding
6749         MSVC 9.
6750         * doc/posix-functions/fprintf.texi: Likewise.
6751         * doc/posix-functions/printf.texi: Likewise.
6752         * doc/posix-functions/snprintf.texi: Likewise.
6753         * doc/posix-functions/sprintf.texi: Likewise.
6754         * doc/posix-functions/swprintf.texi: Likewise.
6755         * doc/posix-functions/vdprintf.texi: Likewise.
6756         * doc/posix-functions/vfprintf.texi: Likewise.
6757         * doc/posix-functions/vprintf.texi: Likewise.
6758         * doc/posix-functions/vsnprintf.texi: Likewise.
6759         * doc/posix-functions/vsprintf.texi: Likewise.
6760         * doc/glibc-functions/asprintf.texi: Likewise.
6761         * doc/glibc-functions/obstack_printf.texi: Likewise.
6762         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
6763         * doc/glibc-functions/vasprintf.texi: Likewise.
6764
6765 2011-09-10  Bruno Haible  <bruno@clisp.org>
6766
6767         nocrash: Add support for native Windows.
6768         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
6769
6770 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
6771             Bruno Haible  <bruno@clisp.org>
6772
6773         absolute-header, include-next: Add support for MSVC compiler.
6774         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
6775         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
6776         directory separator in #line directives.
6777         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
6778         recognize also backslash as directory separator in #line directives.
6779
6780 2011-09-08  Jim Meyering  <meyering@redhat.com>
6781
6782         maint.mk: mark the post-release commit log with "maint: " prefix
6783         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
6784         one-line commit-log summary.
6785
6786 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
6787             Bruno Haible  <bruno@clisp.org>
6788
6789         Doc about crypt functions.
6790         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
6791         systems.
6792         * doc/posix-functions/encrypt.texi: Likewise.
6793         * doc/posix-functions/setkey.texi: Likewise.
6794
6795 2011-09-08  Simon Josefsson  <simon@josefsson.org>
6796
6797         * lib/gc.h: Fix copyright header.
6798
6799 2011-09-07  Bruno Haible  <bruno@clisp.org>
6800
6801         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
6802         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
6803         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
6804
6805 2011-09-07  Bruno Haible  <bruno@clisp.org>
6806
6807         openat: Work around compilation error with OSF/1 5.1 DTK cc.
6808         * lib/fopen.c: Use different syntax for include of <stdio.h>.
6809         * lib/freopen.c: Likewise.
6810         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
6811         * lib/lstat.c: Likewise.
6812         * lib/stat.c: Likewise.
6813         * lib/open.c: Use different syntax for include of <fcntl.h>.
6814         * lib/openat.c: Include fcntl.h again, explicitly.
6815
6816 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
6817
6818         parse-datetime: document the newly accepted format
6819         * doc/parse-datetime.texi (Combined date and time of day items):
6820         New section.
6821
6822 2011-09-06  Bruno Haible  <bruno@clisp.org>
6823
6824         acl: Fix a test failure on newer Solaris 10 with ZFS.
6825         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
6826         ENOSYS as no ACL.
6827         Reported by Jim Meyering.
6828
6829 2011-09-06  Bruno Haible  <bruno@clisp.org>
6830
6831         acl: Update for AIX >= 5.3 with NFS.
6832         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
6833         ENOSYS as no ACL.
6834
6835         acl: Fix a test failure on AIX >= 5.3 with NFS.
6836         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
6837         as no ACL.
6838
6839 2011-09-06  Bruno Haible  <bruno@clisp.org>
6840
6841         acl: Fix a test failure on IRIX 6.5 with NFS.
6842         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
6843         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
6844         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
6845         * lib/copy-acl.c (qcopy_acl): Likewise.
6846
6847 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
6848
6849         openat: port to AIX 7.1 with large files
6850         AIX 7.1 does a "#define openat open64at" if large files are in use,
6851         so we can't simply #undef openat.  Use the orig_openat trick (similar
6852         to orig_open in lib/open.c) to work around the problem.  Problem
6853         reported by Kevin Brott for GNU tar, in the thread containing
6854         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
6855         * lib/openat.c (__need_system_fcntl_h): Define first.
6856         Include <fcntl.h> and <sys/types.h> before undefining.
6857         (orig_openat) [HAVE_OPENAT]: New inline function.
6858         (openat) [HAVE_OPENAT]: Do not undef.
6859         (rpl_openat): Use orig_openat, not openat.
6860
6861 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
6862             Bruno Haible  <bruno@clisp.org>
6863
6864         acl: Avoid errors on NonStop Kernel.
6865         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
6866         ENOTSUP errors.
6867
6868 2011-09-05  Bruno Haible  <bruno@clisp.org>
6869
6870         acl: Clean up Solaris code.
6871         * lib/acl-internal.h: Remove no-op #if.
6872         * lib/file-has-acl.c: Likewise.
6873         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
6874         * lib/copy-acl.c (qcopy_acl): Likewise.
6875
6876 2011-09-05  Bruno Haible  <bruno@clisp.org>
6877
6878         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
6879         binaries built on the original Solaris 10.
6880         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
6881         trivial.
6882
6883 2011-09-05  Bruno Haible  <bruno@clisp.org>
6884
6885         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
6886         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
6887         10.
6888         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
6889         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
6890         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
6891         instead of acl_get, facl_get, acl_set, facl_set.
6892
6893 2011-09-05  Bruno Haible  <bruno@clisp.org>
6894
6895         copy-file: Try unit tests on more file systems.
6896         * tests/test-copy-file-1.sh: New file.
6897         * tests/test-copy-file-2.sh: New file.
6898         * modules/copy-file-tests (Files): Add them.
6899         (Makefile.am): Add them to TESTS.
6900
6901         acl: Try unit tests on more file systems.
6902         * tests/test-file-has-acl-1.sh: New file.
6903         * tests/test-file-has-acl-2.sh: New file.
6904         * tests/test-set-mode-acl-1.sh: New file.
6905         * tests/test-set-mode-acl-2.sh: New file.
6906         * tests/test-copy-acl-1.sh: New file.
6907         * tests/test-copy-acl-2.sh: New file.
6908         * modules/acl-tests (Files): Add them.
6909         (Makefile.am): Add them to TESTS.
6910
6911 2011-09-04  Bruno Haible  <bruno@clisp.org>
6912
6913         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
6914         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
6915         10.
6916         (OLD_ALLOW, OLD_DENY): New macros.
6917         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
6918         ACE_ACCESS_ALLOWED_ACE_TYPE.
6919         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
6920         ACE_ACCESS_DENIED_ACE_TYPE.
6921         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
6922         (NEW_ACE_EXECUTE): Fix value.
6923         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
6924         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
6925         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
6926         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
6927         NEW_ACE_SYNCHRONIZE): New macros.
6928         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
6929         instead of acl_fromtext, acl_set, facl_set.
6930         Fixes a coreutils/tests/cp/perm failure.
6931
6932 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
6933
6934         openat: test for fstatat (..., 0) bug
6935         Further testing with tar suggests that fstatat (..., 0)
6936         does not work in general, on AIX 7.1; see
6937         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
6938         So, give up entirely on AIX 7.1's fstatat, and fall back on our
6939         replacement fstatat (which is what older AIX releases were using
6940         anyway).
6941         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
6942         use is now changed to orig_fstatat.  This was probably the right
6943         thing to do anyway.
6944         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
6945         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
6946         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
6947         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
6948         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
6949         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
6950         if the bug is found.
6951
6952         openat: test for fstatat (AT_FDCWD, ..., 0) bug
6953         This tests for another fstatat bug on AIX 7.1:
6954         fstatat (AT_FDCWD, ..., 0) does not work.  See
6955         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
6956         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
6957         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
6958         (rpl_fstatat): Adjust so that it works around either (or both)
6959         bugs if present.
6960         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
6961
6962 2011-09-03  Karl Berry  <karl@gnu.org>
6963
6964         * doc/regex.texi (Character Class Operators): Avoid literal ":"
6965         in index entries.
6966
6967 2011-09-02  Bruno Haible  <bruno@clisp.org>
6968
6969         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
6970         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
6971         values of AR, ARFLAGS, RANLIB.
6972         Reported by John W. Eaton <jwe@gnu.org> for Octave.
6973
6974 2011-09-02  Bruno Haible  <bruno@clisp.org>
6975
6976         Find 'ar' program that fits with --host argument.
6977         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
6978
6979 2011-09-02  Bruno Haible  <bruno@clisp.org>
6980
6981         tests: init.sh: Support any non-GNU diff.
6982         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
6983         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
6984         Solaris 8.
6985
6986 2011-09-02  Bruno Haible  <bruno@clisp.org>
6987
6988         tests: init.sh: work also with any non-GNU diff that supports -u
6989         * tests/init.sh: Relax check for diff -u support.
6990         Rather than checking for GNU diff via --version, simply check
6991         for support for -u itself.  Useful at least on OpenBSD 4.9,
6992         AIX 7.1, IRIX 6.5, and Solaris 10.
6993
6994 2011-09-01  Bruno Haible  <bruno@clisp.org>
6995
6996         strtoimax, strtoumax: Document problem on HP-UX 11.
6997         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
6998         * doc/posix-functions/strtoumax.texi: Likewise.
6999
7000 2011-09-01  Bruno Haible  <bruno@clisp.org>
7001
7002         strtoumax: Avoid link error on OSF/1 with DTK cc.
7003         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
7004         defined as a function.
7005         * modules/strtoumax (Depends-on, configure.ac): Test only whether
7006         strtoumax is defined, not whether it is declared.
7007
7008 2011-09-01  Bruno Haible  <bruno@clisp.org>
7009
7010         strtoimax: Avoid link error on OSF/1 with DTK cc.
7011         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
7012         defined as a function.
7013         * modules/strtoimax (Depends-on, configure.ac): Test only whether
7014         strtoimax is defined, not whether it is declared.
7015
7016 2011-09-01  Bruno Haible  <bruno@clisp.org>
7017
7018         imaxdiv: Avoid link error on OSF/1 with DTK cc.
7019         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
7020         as a function.
7021         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
7022         whether it is declared.
7023
7024 2011-09-01  Bruno Haible  <bruno@clisp.org>
7025
7026         imaxabs: Avoid link error on OSF/1 with DTK cc.
7027         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
7028         as a function.
7029         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
7030         whether it is declared.
7031
7032 2011-09-01  Bruno Haible  <bruno@clisp.org>
7033
7034         Tests for module 'strtoumax'.
7035         * modules/strtoumax-tests: New file.
7036         * tests/test-strtoumax.c: New file.
7037
7038         Tests for module 'strtoimax'.
7039         * modules/strtoimax-tests: New file.
7040         * tests/test-strtoimax.c: New file.
7041
7042         Tests for module 'imaxdiv'.
7043         * modules/imaxdiv-tests: New file.
7044         * tests/test-imaxdiv.c: New file.
7045
7046         Tests for module 'imaxabs'.
7047         * modules/imaxabs-tests: New file.
7048         * tests/test-imaxabs.c: New file.
7049
7050 2011-09-01  Bruno Haible  <bruno@clisp.org>
7051
7052         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
7053         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
7054         pthread_create.
7055
7056 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
7057
7058         openat: work around AIX 7.1 fstatat issue
7059         This should fix the problem that was not properly fixed
7060         in the previous change, dated 2011-08-30.
7061         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
7062         __need_system_stat_h defined.
7063         (orig_fstatat) [HAVE_FSTATAT]: New function.
7064         (rpl_fstatat): Go back to the old way of doing things,
7065         except call orig_fstatat instead of fstatat.
7066         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
7067         Remove unnecessary check whether fstatat fills in st_size etc.
7068
7069 2011-09-01  Bruno Haible  <bruno@clisp.org>
7070
7071         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
7072         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
7073         just include the system's header.
7074
7075 2011-08-31  Jim Meyering  <meyering@redhat.com>
7076
7077         tests: avoid spurious assertion failure in test-float.c on ppc64
7078         * tests/test-float.c (test_long_double): Comment out an assertion,
7079         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
7080         with gcc-4.4.4.
7081
7082         maint: indent with spaces, not TABs
7083         I need to get in the habit of running gnulib's "make check".
7084         Both of these would have been caught.
7085         * m4/largefile.m4: Indent with spaces, not TABs.
7086         * lib/parse-datetime.y (iso_8601_time): Likewise.
7087         Spotted by Pádraig Brady.
7088
7089         test-parse-datetime.c: accommodate a relatively strict gcc warning
7090         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
7091         to avoid a warning from gcc's -Werror=missing-declarations.
7092         Insert a few spaces-before-funcall-parenthesis.
7093
7094 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
7095
7096         parse-datetime: accept ISO 8601 date and time rep with "T" separator
7097         The parser now accepts ISO 8601 date-time strings with "T" as the
7098         separator.  It has long parsed dates like "2004-02-29 16:21:42"
7099         with a space between the date and time strings.  Now it also parses
7100         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
7101         variants like "2004-02-29T16:21:42.333-07:00"
7102         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
7103         of day representation using the 'T' separator character.
7104         * doc/parse-datetime.texi (General date syntax): replace use of
7105         deprecated --iso-8601 option with --rfc-3339 in example of date
7106         command output formats that can be parsed.
7107         * tests/test-parse-datetime.c (tm_diff): New function, taken from
7108         lib/parse-datetime.y.
7109         (gmt_offset): New function.
7110         (main): Add additional test cases to validate ISO8601 extended
7111         date and time of day parsing.
7112
7113 2011-08-31  Bruno Haible  <bruno@clisp.org>
7114
7115         freopen: Documentation.
7116         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
7117         name.
7118         Reported by Claudio Bley <claudio.bley@gmail.com>.
7119
7120 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
7121
7122         freopen: Don't crash if the filename argument is NULL.
7123         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
7124         NULL.
7125
7126 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
7127
7128         openat: work around AIX 7.1 fstatat bug
7129         Problem reported by Kevin Brott for GNU tar, in the thread containing
7130         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
7131         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
7132         FSTATAT_ST_SIZE_ETC_BROKEN.
7133         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
7134         rpl_fstatat.
7135         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
7136         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
7137         AC_CHECK_FUNCS_ONCE for fstatat.
7138         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
7139         fchmodat, mkdirat, openat and unlinkat.
7140
7141 2011-08-30  Bruno Haible  <bruno@clisp.org>
7142
7143         Avoid endless recursions if config.h includes some header files.
7144         * lib/fopen.c (__need_FILE): Define already before including config.h.
7145         * lib/freopen.c (__need_FILE): Likewise.
7146         * lib/open.c (__need_system_fcntl_h): Likewise.
7147         * lib/stat.c (__need_system_sys_stat_h): Likewise.
7148         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
7149         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7150
7151 2011-08-25  Karl Berry  <karl@gnu.org>
7152
7153         * config/srclist.txt (ylwrap): new try.
7154         * build-aux/ylwrap: new file.
7155
7156 2011-08-23  Bruno Haible  <bruno@clisp.org>
7157
7158         tmpdir: Use a good default directory on native Windows.
7159         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
7160         (P_tmpdir): Default to _P_tmpdir on native Windows.
7161         (path_search): On native Windows, try the value returned by GetTempPath
7162         before trying P_tmpdir.
7163         * modules/tmpdir (Depends-on): Add pathmax.
7164         Suggested by John Darrington <john@darrington.wattle.id.au>.
7165
7166 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
7167
7168         doc: fix typo in README-release
7169         * top/README-release: Capitalize first word of a sentence.
7170
7171 2011-08-19  Jim Meyering  <meyering@redhat.com>
7172
7173         fts: do not exhaust memory when processing million-entry directories
7174         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
7175         directory would require about 256*N bytes of memory.  Thus, it was
7176         easy to construct a directory too large to be processed by any of
7177         those tools.  With this change, fts' maximum memory utilization is
7178         now limited to around 30MB.
7179         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
7180         (fts_read): When we've processed the final entry (i.e., when
7181         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
7182         using the parent entry to read any remaining entries.  Dispatch
7183         depending on what fts_build returns:
7184         - NULL+stop, aka failure: stop
7185         - NULL otherwise: move up in the dir hierarchy
7186         - non-NULL: handle this new entry
7187         (fts_build): Declare and use new local, continue_readdir.
7188         Prepare to be called from fts_read, when the entries
7189         from a partially-read directory have just been exhausted.
7190         In that case, we'll skip the opendir and instead use the parent's
7191         fts_dirp and derive dir_fd from that.
7192         Finally, in the readdir loop, if we read max_entries entries,
7193         exit the loop ensuring *not* to call closedir.  This is required
7194         so that fts_dirp can be reused on a subsequent call.
7195         Prompted by Ben England's report of memory exhaustion in find
7196         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
7197
7198         maint: fts: move decl of `dp' down into while loop; split a long line
7199         * lib/fts.c (fts_build): No semantic change.
7200
7201         fts: add/use new struct member, fts_dirp
7202         We are about to use this to manage any directory with
7203         too many entries to read all of them into memory at once.
7204         To do that, we'll need to save the DIR* pointer in each
7205         affected FTSENT struct.
7206         * lib/fts_.h: Include <dirent.h>.
7207         (struct FTSENT) [fts_dirp]: New member.
7208         * lib/fts.c (closedir_and_clear): Define.
7209         Use it in place of closedir so that we are sure to
7210         clear the new fts_dirp member when done with it.
7211         (fts_alloc): Initialize the new member.
7212         (fts_lfree): Free, if needed.
7213
7214         maint: fts: give __opendir2 a new parameter and rename
7215         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
7216         than surreptitiously using sole caller's "dir_fd".
7217         (fts_opendir): Rename from __opendir2.
7218
7219         maint: fts.c: remove __opendir2's now-unused parameter, oflag
7220         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
7221
7222         maint: fts.c: correct off-by-one indentation
7223         * lib/fts.c (fts_build): Correct indentation, change style
7224         of a couple of block comments, and bracing style.
7225
7226         maint: fts.c: move __opendir2 #define "up" out of function body
7227         * lib/fts.c (__opendir2): Move "up".  No semantic change.
7228
7229         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
7230         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
7231         out for a long time and besides was useful only on BSD systems.
7232
7233 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
7234
7235         regex: port to Stratus OpenVOS
7236         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
7237         define to empty, rather than attempting nonportable optimizations.
7238         Problem reported by Paul Green in:
7239         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
7240         and fix suggested by Eric Blake in:
7241         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
7242
7243 2011-08-17  Eric Blake  <eblake@redhat.com>
7244
7245         getcwd: fix test failures on mingw
7246         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
7247         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
7248         test if long directory cannot be created, and allow mingw errno.
7249
7250         getcwd-lgpl: fix m4 to match relaxed test for BSD
7251         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
7252         (gl_FUNC_GETCWD_SIGNATURE): New macro.
7253         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
7254         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
7255         signature problem.
7256
7257         getcwd: fix compilation on mingw64
7258         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
7259         getcwd.
7260         Reported by Marc-André Lureau.
7261
7262         pipe2: silence compiler warning
7263         * lib/pipe2.c (pipe2): Hide label if it is not used.
7264
7265 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
7266
7267         relocatable-prog: fix link error
7268         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
7269         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
7270         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
7271         into modules/relocatable-lib without noticing that
7272         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
7273         also needs to build relocatable.c.
7274
7275 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
7276
7277         getaddrinfo: fix sh typo in gai_strerrorA decl checking
7278         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
7279         shell code: it contained a 'break' that was not in a loop.
7280         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
7281         via a shell-language loop; this may have been true in old Autoconf
7282         versions, but it's not true in Autoconf 2.68.  I found this bug
7283         when testing coreutils git on Solaris 8, whose shell complains
7284         about the syntax error.
7285
7286 2011-08-12  Simon Josefsson  <simon@josefsson.org>
7287
7288         * lib/base64.c: Fix comment to reference RFC 4648.
7289         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
7290         <gvtulder@gmail.com>.
7291
7292 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
7293
7294         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
7295
7296         po/Makefile.in.in: fix make -q problem
7297         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
7298         rule, since there's no file named 'check-macro-version' and its
7299         use as a file breaks make -q.
7300         (all): Don't depend on check-macro-version.
7301         (CHECK_MACRO_VERSION): New macro.
7302         (stamp-po): Use it.
7303
7304         configmake: fix make -q problem
7305         * modules/configmake (configmake.h): Update configmake.h's time stamp
7306         even if the file does not change.  Otherwise, 'make -q' fails.
7307         Problem reported by Simon Josefsson in
7308         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
7309
7310 2011-08-11  Jim Meyering  <meyering@redhat.com>
7311
7312         git-version-gen: correct the advice in a comment
7313         * build-aux/git-version-gen: Correct comment.
7314         Don't recommend to list .tarball-version in .gitignore.
7315
7316 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7317
7318         base64: fix off-by-one buffer size bug
7319         Problem and (trivial) fix reported by Gijs van Tulder in
7320         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
7321         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
7322         * tests/test-base64.c (main): Catch the bug.
7323
7324 2011-08-10  Eric Blake  <eblake@redhat.com>
7325
7326         closein: correct comments
7327         * lib/closein.c (close_stdin): Improve comments.
7328
7329 2011-08-09  Bruno Haible  <bruno@clisp.org>
7330
7331         More tests for 'fseeko'.
7332         * tests/test-fseeko3.c: New file, from Eric Blake.
7333         * tests/test-fseeko3.sh: New file.
7334         * modules/fseeko-tests (Files): Add them.
7335         (TESTS): Add test-fseeko3.sh.
7336         (check_PROGRAMS): Add test-fseeko3.
7337
7338 2011-08-09  Eric Blake  <eblake@redhat.com>
7339
7340         fseeko: remove unneeded hack
7341         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
7342
7343         fseeko: fix bug on glibc
7344         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
7345         Reported by John W. Eaton.
7346
7347 2011-08-08  Bruno Haible  <bruno@clisp.org>
7348
7349         unictype/base: Fix interoperability with preinstalled libunistring.
7350         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
7351         Reported by Simon Josefsson.
7352
7353 2011-08-08  Bruno Haible  <bruno@clisp.org>
7354
7355         iswblank: Detect declaration correctly.
7356         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
7357         AC_CHECK_DECLS invocation.
7358
7359 2011-08-08  Bruno Haible  <bruno@clisp.org>
7360
7361         tcgetsid: Detect declaration correctly.
7362         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
7363         AC_CHECK_DECLS invocation.
7364         Reported by Simon Josefsson.
7365
7366 2011-08-08  Eric Blake  <eblake@redhat.com>
7367
7368         largefile: fix typo that regressed large file support
7369         * modules/largefile (configure.ac-early): Fix section name.
7370
7371 2011-08-06  Karl Berry  <karl@gnu.org>
7372
7373         * MODULES.html.sh (func_all_files): _Noreturn is no longer
7374         a separate module.
7375
7376 2011-08-05  Simon Josefsson  <simon@josefsson.org>
7377
7378         openat: Fix warnings and commens when building unlinkat.c on Hurd.
7379         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
7380         get prototype for free.
7381
7382 2011-08-04  Bruno Haible  <bruno@clisp.org>
7383
7384         Tests for module 'pathmax'.
7385         * modules/pathmax-tests: New file.
7386         * tests/test-pathmax.c: New file.
7387
7388         canonicalize-lgpl: Support larger filenames on the Hurd.
7389         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
7390         Reported by Paul Eggert.
7391
7392         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
7393         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
7394         * lib/chdir-long.h: Include pathmax.h.
7395         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
7396         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
7397         (PATH_MAX): Remove code that is done by pathmax.h.
7398         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
7399         * lib/tmpfile.c: Add a comment.
7400         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
7401         * modules/chdir-long (Depends-on): Add pathmax.
7402         * modules/getcwd (Depends-on): Add pathmax.
7403         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
7404         is not defined.
7405         * doc/posix-headers/limits.texi: Mention the pathmax module.
7406         * NEWS: Mention the change.
7407
7408 2011-08-02  Bruno Haible  <bruno@clisp.org>
7409
7410         pthread_sigmask: Actually use results of gl_THREADLIB.
7411         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
7412         gl_THREADLIB, not gl_[]THREADLIB.
7413         Reported by Eric Blake.
7414
7415 2011-08-02  Jim Meyering  <meyering@redhat.com>
7416
7417         maint.mk: relax the default _gl_TS_function_match regexp
7418         * top/maint.mk (_gl_TS_function_match): Don't require at least one
7419         space between function name and "(" in an "extern" declaration.
7420         That would fail to match a decl with no space there: extern void foo();
7421
7422 2011-07-31  Iain Nicol  <iain@thenicols.net>
7423
7424         git-version-gen: document that EXTRA_DIST must include .version
7425         * build-aux/git-version-gen: In the how-to-use comment, document
7426         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
7427         will fail when run from an unpacked distribution tarball.
7428
7429 2011-08-01  Bruno Haible  <bruno@clisp.org>
7430
7431         wctype-h: Fix last change.
7432         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
7433         REPLACE_TOWLOWER to 0.
7434         Reported by Sam Steingold <sds@gnu.org>.
7435
7436 2011-07-31  Bruno Haible  <bruno@clisp.org>
7437
7438         frexpl: Update autoconf test.
7439         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
7440         according to changes of 2011-06-20.
7441
7442 2011-07-31  Bruno Haible  <bruno@clisp.org>
7443
7444         sys_utsname: Add support for Minix.
7445         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
7446         <sys/utsname.h>.
7447         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
7448         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
7449
7450 2011-07-31  Bruno Haible  <bruno@clisp.org>
7451
7452         strings: Add support for Minix.
7453         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
7454         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
7455         * doc/posix-headers/strings.texi: Document the Minix problem.
7456
7457 2011-07-31  Bruno Haible  <bruno@clisp.org>
7458
7459         wctype-h: Add support for Minix.
7460         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
7461         REPLACE_TOWLOWER.
7462         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
7463         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
7464         REPLACE_ISWCNTRL.
7465
7466 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
7467
7468         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
7469         This is a performance improvement for 64-bit hosts: it causes the
7470         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
7471
7472 2011-07-31  Bruno Haible  <bruno@clisp.org>
7473
7474         stdioext: Add support for Minix.
7475         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
7476         * lib/fpurge.c (fpurge): Likewise.
7477         * lib/freadahead.c (freadahead): Likewise.
7478         * lib/freadable.c (freadable): Likewise.
7479         * lib/freading.c (freading): Likewise.
7480         * lib/freadptr.c (freadptr): Likewise.
7481         * lib/freadseek.c (freadptrinc): Likewise.
7482         * lib/fseeko.c (rpl_fseeko): Likewise.
7483         * lib/fseterr.c (fseterr): Likewise.
7484         * lib/fwritable.c (fwritable): Likewise.
7485         * lib/fwriting.c (fwriting): Likewise.
7486         * lib/fflush.c (clear_ungetc_buffer): Update comment.
7487         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
7488
7489 2011-07-31  Bruno Haible  <bruno@clisp.org>
7490
7491         errno: Port to Minix.
7492         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
7493         ECONNABORTED are defined.
7494         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
7495         GNULIB_defined_ECONNABORTED): New macros.
7496         * lib/strerror-override.h (strerror_override): Test also
7497         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
7498         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
7499         ECONNABORTED.
7500         * doc/posix-headers/errno.texi: Mention the Minix problem.
7501
7502 2011-07-31  Bruno Haible  <bruno@clisp.org>
7503
7504         Work around declaration collisions on Minix.
7505         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
7506         defined, set REPLACE_MBSINIT.
7507         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
7508         defined, set REPLACE_MBRTOWC.
7509         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
7510         set REPLACE_MBRLEN.
7511         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
7512         defined, set REPLACE_MBSRTOWCS.
7513         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
7514         defined, set REPLACE_WCRTOMB.
7515         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
7516         defined, set REPLACE_WCSRTOMBS.
7517
7518 2011-07-31  Bruno Haible  <bruno@clisp.org>
7519
7520         Add support for Minix with ACK compiler.
7521         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
7522         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
7523         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
7524
7525 2011-07-31  Bruno Haible  <bruno@clisp.org>
7526
7527         Documentation about Minix.
7528         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
7529         * doc/glibc-headers/*.texi: Likewise.
7530         * doc/posix-functions/*.texi: Likewise.
7531         * doc/glibc-functions/*.texi: Likewise.
7532
7533 2011-07-31  Bruno Haible  <bruno@clisp.org>
7534
7535         snippet/warn-on-use: Fix indentation.
7536         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
7537
7538 2011-07-25  Jim Meyering  <meyering@redhat.com>
7539
7540         tests: test-update-copyright.sh: remove unnecessary "rm" commands
7541         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
7542         commands.
7543
7544 2011-07-27  Jim Meyering  <meyering@redhat.com>
7545
7546         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
7547         * top/maint.mk (gl_extract_significant_defines_): Now that
7548         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
7549         gnulib/lib/signal.in.h, and now that we recommend to
7550         define-if-undefined those two symbols in application code,
7551         we must filter them out of the "significant" list.
7552         This avoids a "make syntax-check" failure in coreutils.
7553
7554 2011-07-26  Eric Blake  <eblake@redhat.com>
7555
7556         warnings: add comments about previous patch
7557         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
7558         * m4/include_next.m4: Likewise.
7559         * m4/warn-on-use.m4: Likewise.
7560         * m4/warnings.m4: Likewise, and simplify use.
7561         Suggested by Stefano Lattarini.
7562
7563         include-next, warnings: support older autoconf
7564         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
7565         AS_VAR_PUSHDEF in a way that works with older autoconf.
7566         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
7567         Reported by Daniel P. Berrange.
7568
7569 2011-07-25  Bruno Haible  <bruno@clisp.org>
7570
7571         fseek, ftell: Fix doc.
7572         * doc/posix-functions/fseek.texi: Reword statement about
7573         AC_SYS_LARGEFILE.
7574         * doc/posix-functions/ftell.texi: Likewise.
7575
7576 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
7577             Bruno Haible  <bruno@clisp.org>
7578
7579         Add dependencies to the 'largefile' module.
7580         * modules/fopen (Depends-on): Add 'largefile'.
7581         * modules/freopen (Depends-on): Likewise.
7582         * modules/fseeko (Depends-on): Likewise.
7583         * modules/ftello (Depends-on): Likewise.
7584         * modules/glob (Depends-on): Likewise.
7585         * modules/lseek (Depends-on): Likewise.
7586         * modules/lstat (Depends-on): Likewise.
7587         * modules/mkostemp (Depends-on): Likewise.
7588         * modules/mkostemps (Depends-on): Likewise.
7589         * modules/mkstemp (Depends-on): Likewise.
7590         * modules/mkstemps (Depends-on): Likewise.
7591         * modules/open (Depends-on): Likewise.
7592         * modules/openat (Depends-on): Likewise.
7593         * modules/pread (Depends-on): Likewise.
7594         * modules/pwrite (Depends-on): Likewise.
7595         * modules/scandir (Depends-on): Likewise.
7596         * modules/stat (Depends-on): Likewise.
7597         * modules/tmpfile (Depends-on): Likewise.
7598         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
7599         since the containing module now depends on the largefile module.
7600         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
7601         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
7602         off_t is fixed by gnulib.
7603         * doc/posix-functions/freopen.texi: Likewise.
7604         * doc/posix-functions/fseeko.texi: Likewise.
7605         * doc/posix-functions/fstatat.texi: Likewise.
7606         * doc/posix-functions/ftello.texi: Likewise.
7607         * doc/posix-functions/glob.texi: Likewise.
7608         * doc/posix-functions/lseek.texi: Likewise.
7609         * doc/posix-functions/lstat.texi: Likewise.
7610         * doc/posix-functions/mkstemp.texi: Likewise.
7611         * doc/posix-functions/open.texi: Likewise.
7612         * doc/posix-functions/openat.texi: Likewise.
7613         * doc/posix-functions/pread.texi: Likewise.
7614         * doc/posix-functions/pwrite.texi: Likewise.
7615         * doc/posix-functions/scandir.texi: Likewise.
7616         * doc/posix-functions/stat.texi: Likewise.
7617         * doc/posix-functions/tmpfile.texi: Likewise.
7618         * doc/glibc-functions/mkostemp.texi: Likewise.
7619         * doc/glibc-functions/mkostemps.texi: Likewise.
7620         * doc/glibc-functions/mkstemps.texi: Likewise.
7621
7622 2011-07-25  Bruno Haible  <bruno@clisp.org>
7623
7624         fcntl: Move AC_LIBOBJ invocation to module description.
7625         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
7626         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
7627
7628         fcntl: Remove call-in from fchdir.m4.
7629         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
7630         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
7631
7632         dup3: Remove potential call-in from fchdir.m4.
7633         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
7634         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
7635
7636         dup2: Move AC_LIBOBJ invocation to module description.
7637         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
7638         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
7639         Don't invoke AC_LIBOBJ.
7640         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
7641
7642         dup2: Remove call-in from fchdir.m4.
7643         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
7644         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
7645
7646         fclose: Move AC_LIBOBJ invocation to module description.
7647         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
7648         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
7649         to 1.
7650         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
7651
7652         fclose: Remove call-in from close.m4.
7653         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
7654         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
7655
7656         close: Move AC_LIBOBJ invocation to module description.
7657         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
7658         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
7659         1.
7660         * modules/close (configure.ac): Invoke AC_LIBOBJ.
7661
7662         close: Remove call-in from fchdir.m4.
7663         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
7664         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
7665
7666         open: Move AC_LIBOBJ invocation to module description.
7667         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
7668         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
7669         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
7670
7671         open: Remove call-in from fchdir.m4.
7672         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
7673         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
7674
7675         fchdir: Start to remove gl_REPLACE_* idiom.
7676         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
7677         (gl_FUNC_FCHDIR): Invoke it.
7678
7679 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
7680
7681         * lib/ftell.c (ftell): Comment out cast.
7682
7683         close: use gl_REPLACE_FCLOSE only if defined
7684         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
7685         is defined.  The close module doesn't depend on the fclose module
7686         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
7687         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
7688         I reproduced the problem with "./gnulib-tool --test close sys_socket".
7689
7690 2011-07-24  Jim Meyering  <meyering@redhat.com>
7691
7692         test-select.h: avoid warning when using gcc's -Wmissing-declarations
7693         * tests/test-select.h (test_function): Declare as "static".
7694
7695 2011-07-24  Bruno Haible  <bruno@clisp.org>
7696
7697         doc: Mention the effects of AC_SYS_LARGEFILE.
7698         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
7699         on this function.
7700         * doc/posix-functions/aio_error.texi: Likewise.
7701         * doc/posix-functions/aio_fsync.texi: Likewise.
7702         * doc/posix-functions/aio_read.texi: Likewise.
7703         * doc/posix-functions/aio_return.texi: Likewise.
7704         * doc/posix-functions/aio_suspend.texi: Likewise.
7705         * doc/posix-functions/aio_write.texi: Likewise.
7706         * doc/posix-functions/fgetpos.texi: Likewise.
7707         * doc/posix-functions/fopen.texi: Likewise.
7708         * doc/posix-functions/freopen.texi: Likewise.
7709         * doc/posix-functions/fsetpos.texi: Likewise.
7710         * doc/posix-functions/fstatvfs.texi: Likewise.
7711         * doc/posix-functions/ftruncate.texi: Likewise.
7712         * doc/posix-functions/ftw.texi: Likewise.
7713         * doc/posix-functions/getrlimit.texi: Likewise.
7714         * doc/posix-functions/glob.texi: Likewise.
7715         * doc/posix-functions/lio_listio.texi: Likewise.
7716         * doc/posix-functions/lockf.texi: Likewise.
7717         * doc/posix-functions/mkstemp.texi: Likewise.
7718         * doc/posix-functions/mmap.texi: Likewise.
7719         * doc/posix-functions/nftw.texi: Likewise.
7720         * doc/posix-functions/openat.texi: Likewise.
7721         * doc/posix-functions/opendir.texi: Likewise.
7722         * doc/posix-functions/posix_fadvise.texi: Likewise.
7723         * doc/posix-functions/posix_fallocate.texi: Likewise.
7724         * doc/posix-functions/pread.texi: Likewise.
7725         * doc/posix-functions/pwrite.texi: Likewise.
7726         * doc/posix-functions/readdir.texi: Likewise.
7727         * doc/posix-functions/readdir_r.texi: Likewise.
7728         * doc/posix-functions/rewinddir.texi: Likewise.
7729         * doc/posix-functions/scandir.texi: Likewise.
7730         * doc/posix-functions/seekdir.texi: Likewise.
7731         * doc/posix-functions/setrlimit.texi: Likewise.
7732         * doc/posix-functions/statvfs.texi: Likewise.
7733         * doc/posix-functions/telldir.texi: Likewise.
7734         * doc/posix-functions/tmpfile.texi: Likewise.
7735         * doc/posix-functions/truncate.texi: Likewise.
7736         * doc/glibc-functions/fallocate.texi: Likewise.
7737         * doc/glibc-functions/fstatfs.texi: Likewise.
7738         * doc/glibc-functions/fts_children.texi: Likewise.
7739         * doc/glibc-functions/fts_read.texi: Likewise.
7740         * doc/glibc-functions/getdirentries.texi: Likewise.
7741         * doc/glibc-functions/mkostemp.texi: Likewise.
7742         * doc/glibc-functions/mkostemps.texi: Likewise.
7743         * doc/glibc-functions/mkstemps.texi: Likewise.
7744         * doc/glibc-functions/preadv.texi: Likewise.
7745         * doc/glibc-functions/pwritev.texi: Likewise.
7746         * doc/glibc-functions/sendfile.texi: Likewise.
7747         * doc/glibc-functions/statfs.texi: Likewise.
7748
7749 2011-07-24  Bruno Haible  <bruno@clisp.org>
7750
7751         doc: Fix typo.
7752         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
7753
7754 2011-07-24  Bruno Haible  <bruno@clisp.org>
7755
7756         doc: Mention fsusage.
7757         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
7758
7759 2011-07-24  Bruno Haible  <bruno@clisp.org>
7760
7761         doc: Mention new glibc headers and functions.
7762         * doc/glibc-headers/gshadow.texi: New file.
7763         * doc/glibc-functions/endsgent.texi: New file.
7764         * doc/glibc-functions/fgetsgent.texi: New file.
7765         * doc/glibc-functions/fgetsgent_r.texi: New file.
7766         * doc/glibc-functions/getsgent.texi: New file.
7767         * doc/glibc-functions/getsgent_r.texi: New file.
7768         * doc/glibc-functions/getsgnam.texi: New file.
7769         * doc/glibc-functions/getsgnam_r.texi: New file.
7770         * doc/glibc-functions/putsgent.texi: New file.
7771         * doc/glibc-functions/setsgent.texi: New file.
7772         * doc/glibc-functions/sgetsgent.texi: New file.
7773         * doc/glibc-functions/sgetsgent_r.texi: New file.
7774         * doc/glibc-functions/malloc_info.texi: New file.
7775         * doc/glibc-functions/preadv.texi: New file.
7776         * doc/glibc-functions/pwritev.texi: New file.
7777         * doc/glibc-functions/register_printf_modifier.texi: New file.
7778         * doc/glibc-functions/register_printf_specifier.texi: New file.
7779         * doc/glibc-functions/register_printf_type.texi: New file.
7780         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
7781         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
7782         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
7783         * doc/glibc-functions/pthread_getname_np.texi: New file.
7784         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
7785         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
7786         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
7787         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
7788         * doc/glibc-functions/pthread_setname_np.texi: New file.
7789         * doc/glibc-functions/pthread_sigqueue.texi: New file.
7790         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
7791         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
7792         * doc/glibc-functions/qsort_r.texi: New file.
7793         * doc/glibc-functions/quick_exit.texi: New file.
7794         * doc/glibc-functions/syncfs.texi: New file.
7795         * doc/gnulib.texi: Include them.
7796         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
7797         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
7798         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
7799         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
7800         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
7801         * doc/glibc-functions/execvpe.texi: Likewise.
7802
7803 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7804
7805         ftell: don't include <unistd.h>
7806         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
7807         guaranteed to define off_t, and the ftell module depends on the
7808         stdio module.
7809
7810         ftell: do not assume wraparound signed arithmetic
7811         * lib/ftell.c: Include <limits.h>.
7812         (ftell): Don't assume wraparound signed arithmetic.
7813
7814 2011-07-24  Bruno Haible  <bruno@clisp.org>
7815
7816         close: No longer depend on module 'fclose'.
7817         * modules/close (Depends-on): Remove fclose.
7818         * NEWS: Mention the change.
7819         Suggested by Sam Steingold <sds@gnu.org>.
7820
7821 2011-07-24  Bruno Haible  <bruno@clisp.org>
7822
7823         fsusage: Enable large volume support on AIX >= 5.2.
7824         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
7825         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
7826         instead of STAT_STATVFS.
7827         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
7828
7829         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
7830         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
7831         f_blocks field only on MacOS X.
7832
7833         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
7834         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
7835         * modules/fsusage (Depends-on): Add largefile.
7836
7837 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7838
7839         * README: Modernize discussion of signed integers.
7840         Assuming overflow wraparound is no longer safe.
7841         Mention ones' complement and signed magnitude.
7842
7843 2011-07-22  Bruno Haible  <bruno@clisp.org>
7844
7845         select tests, pselect tests: Refactor.
7846         * tests/test-select.h: New file, extracted from tests/test-select.c.
7847         (select_fn): New type.
7848         (test, do_select, do_select_nowait, do_select_wait, test_tty,
7849         test_connect_first, test_accept_first, test_pair, test_socket_pair,
7850         test_pipe): Add my_select argument.
7851         (test_function): Renamed from main. Add my_select argument.
7852         * tests/test-select.c: Move most code to tests/test-select.h. Include
7853         test-select.h.
7854         * modules/select-tests (Files): Add tests/test-select.h.
7855         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
7856         (my_select, main): New functions.
7857         * modules/pselect-tests (Files): Add tests/test-select.h,
7858         tests/macros.h, tests/signature.h.
7859         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
7860         (configure.ac): Check for <sys/wait.h>.
7861
7862 2011-07-22  Bruno Haible  <bruno@clisp.org>
7863
7864         sys_select tests: Check the signature of FD_*.
7865         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
7866         signature tests from here...
7867         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
7868         here.
7869         * modules/sys_select-tests (Files): Add tests/signature.h.
7870
7871 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7872
7873         largefile: new module, replacing large-inode
7874         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
7875         * MODULES.html.sh: Add largefile, remove large-inode.
7876         * modules/largefile, m4/largefile.m4: New files.
7877         * modules/large-inode, m4/large-inode.m4: Remove.
7878
7879         fsusage: port to MacOS X 10.7 with 4 TiB file systems
7880         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
7881         implementations that use only 32 bits to count blocks.
7882         On typical hosts with 1024-byte blocks, this fails with file
7883         systems as small as 4 TiB.  Problem reported by Herb Wartens
7884         <http://debbugs.gnu.org/9140> and this should also fix a similar
7885         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
7886
7887         large-inode: New module
7888         * MODULES.html.sh: Add it.
7889         * modules/large-inode, m4/large-inode.m4: New files.
7890
7891         extensions: Enable extensions on MacOS X 10.5 and later.
7892         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
7893
7894 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
7895
7896         file-has-acl: use acl_extended_file_nofollow if available
7897         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
7898         (acl_extended_file): New macro.
7899         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
7900         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
7901
7902 2011-07-21  Bruno Haible  <bruno@clisp.org>
7903
7904         Declare system functions in a way that works with C++.
7905         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
7906         declare fdopendir as extern "C".
7907         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
7908         declare frexpl as extern "C".
7909         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
7910         declare gai_strerror as extern "C".
7911         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
7912         programs, declare gai_strerror as extern "C".
7913         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
7914         declare getlogin_r as extern "C".
7915         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
7916         as extern "C".
7917         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
7918         declare ldexpl as extern "C".
7919         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
7920         as extern "C".
7921         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
7922         program, declare getmntinfo as extern "C".
7923         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
7924         stpncpy as extern "C".
7925         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
7926         program, declare __xpg_strerror_r as extern "C".
7927         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
7928         strndup as extern "C".
7929         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
7930         declare memset and bzero as extern "C".
7931         Reported by Sam Steingold <sds@gnu.org>.
7932
7933 2011-07-12  Jim Meyering  <meyering@redhat.com>
7934
7935         maint.mk: prohibit inclusion of "verify.h" without use
7936         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
7937
7938 2011-07-19  Pádraig Brady  <P@draigBrady.com>
7939
7940         timer-time: A new module to check for timer_settime()
7941         * m4/timer_time.m4: Check for the posix function.
7942         * modules/timer-time: Add the new module.
7943         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
7944         Mention it.
7945
7946 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
7947             Bruno Haible  <bruno@clisp.org>
7948
7949         pthread_sigmask: assume POSIX threads if --avoid=threadlib
7950         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
7951         not defined, assume POSIX threads and look for pthread_sigmask in
7952         $LIBS, without changing $CPPFLAGS.
7953
7954 2011-07-19  Bruno Haible  <bruno@clisp.org>
7955
7956         strstr: Update cross-compilation guess.
7957         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
7958         CPUs, guess no, in view of glibc
7959         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
7960         Suggested by Eric Blake. Reported by Reuben Thomas.
7961
7962 2011-07-19  Pádraig Brady  <P@draigBrady.com>
7963
7964         getopt-gnu: suppress core dumps from detection code
7965         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
7966         to suppress core dumps that may well occur on glibc systems.
7967         * modules/getopt-gnu: Depend on nocrash.
7968
7969 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
7970
7971         pthread_sigmask: ensure usleep is declared
7972         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
7973         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
7974
7975 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
7976
7977         doc: Document NonStop portability issues.
7978         * doc/posix-functions/sigaction.texi (sigaction):
7979         * doc/posix-headers/signal.texi (signal.h):
7980         Document NonStop.  See Joachim Schmitz in
7981         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
7982
7983 2011-07-15  Bruno Haible  <bruno@clisp.org>
7984
7985         ffsl, ffsll: Avoid unportable behaviour.
7986         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
7987
7988 2011-07-15  Bruno Haible  <bruno@clisp.org>
7989
7990         ffs: More tests.
7991         * tests/test-ffs.c (NBITS): New macro.
7992         (main): Add more tests.
7993         * tests/test-ffsl.c (NBITS): New macro.
7994         (main): Add more tests.
7995         * tests/test-ffsll.c (NBITS): New macro.
7996         (main): Add more tests.
7997
7998 2011-07-15  Eric Blake  <eblake@redhat.com>
7999
8000         ffsl, ffsll: new modules
8001         * modules/ffsl: New file.
8002         * modules/ffsll: Likewise.
8003         * m4/ffsl.m4: Likewise.
8004         * m4/ffsll.m4: Likewise.
8005         * lib/ffsl.c: Likewise.
8006         * lib/ffsl.h: Likewise.
8007         * lib/ffsll.c: Likewise.
8008         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
8009         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
8010         * modules/string (Makefile.am): Substitute witnesses.
8011         * lib/strings.in.h (ffsl, ffsll): Declare.
8012         * modules/ffsl-tests: New test file.
8013         * modules/ffsll-tests: Likewise.
8014         * tests/test-ffsl.c: Likewise.
8015         * tests/test-ffsll.c: Likewise.
8016         * MODULES.html.sh (Integer arithmetic functions): Mention it.
8017         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
8018         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
8019
8020         ffs: fix m4 prerequisite
8021         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
8022
8023         ffs: avoid undefined behavior
8024         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
8025         * tests/test-ffs.c (naive, main): Avoid signed shifts.
8026         Reported by Bruno Haible.
8027
8028 2011-07-12  Bruno Haible  <bruno@clisp.org>
8029
8030         pthread_sigmask: Rely on module 'threadlib'.
8031         * modules/pthread_sigmask (Depends-on): Add threadlib.
8032         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
8033         is defined.
8034
8035 2011-07-12  Bruno Haible  <bruno@clisp.org>
8036
8037         regex: Depend on module 'strcase'.
8038         * modules/regex (Depends-on): Add strcase, for strcasecmp().
8039
8040 2011-07-12  Jim Meyering  <meyering@redhat.com>
8041
8042         warn-on-use: fix typo in file name
8043         * modules/snippet/warn-on-use (Files): Correct file name:
8044         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
8045
8046 2011-07-12  Bruno Haible  <bruno@clisp.org>
8047
8048         strings: Document module.
8049         * doc/posix-headers/strings.texi: Mention module 'strings'.
8050
8051 2011-07-12  Bruno Haible  <bruno@clisp.org>
8052
8053         Rename module '_Noreturn' to 'snippet/_Noreturn'.
8054         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
8055         (Files, Makefile.am): Update.
8056         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
8057         * modules/stdlib (Depends-on): Update.
8058
8059 2011-07-12  Bruno Haible  <bruno@clisp.org>
8060
8061         * NEWS: Mention the changes.
8062
8063         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
8064         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
8065         (Files, Makefile.am): Update.
8066         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
8067         * modules/arpa_inet (Depends-on): Update.
8068         * modules/ctype (Depends-on): Update.
8069         * modules/dirent (Depends-on): Update.
8070         * modules/fcntl-h (Depends-on): Update.
8071         * modules/glob (Depends-on): Update.
8072         * modules/iconv-h (Depends-on): Update.
8073         * modules/inttypes-incomplete (Depends-on): Update.
8074         * modules/langinfo (Depends-on): Update.
8075         * modules/locale (Depends-on): Update.
8076         * modules/math (Depends-on): Update.
8077         * modules/netdb (Depends-on): Update.
8078         * modules/poll-h (Depends-on): Update.
8079         * modules/pty (Depends-on): Update.
8080         * modules/search (Depends-on): Update.
8081         * modules/signal (Depends-on): Update.
8082         * modules/spawn (Depends-on): Update.
8083         * modules/stdio (Depends-on): Update.
8084         * modules/stdlib (Depends-on): Update.
8085         * modules/string (Depends-on): Update.
8086         * modules/strings (Depends-on): Update.
8087         * modules/sys_file (Depends-on): Update.
8088         * modules/sys_ioctl (Depends-on): Update.
8089         * modules/sys_select (Depends-on): Update.
8090         * modules/sys_socket (Depends-on): Update.
8091         * modules/sys_stat (Depends-on): Update.
8092         * modules/sys_time (Depends-on): Update.
8093         * modules/sys_times (Depends-on): Update.
8094         * modules/sys_utsname (Depends-on): Update.
8095         * modules/sys_wait (Depends-on): Update.
8096         * modules/termios (Depends-on): Update.
8097         * modules/time (Depends-on): Update.
8098         * modules/unistd (Depends-on): Update.
8099         * modules/wchar (Depends-on): Update.
8100         * modules/wctype-h (Depends-on): Update.
8101         * MODULES.html.sh (Support for building libraries and executables):
8102         Update.
8103
8104         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
8105         * modules/snippet/unused-parameter: Renamed from
8106         modules/unused-parameter.
8107         (Files, Makefile.am): Update.
8108         * build-aux/snippet/unused-parameter.h: Renamed from
8109         build-aux/unused-parameter.h.
8110         * modules/selinux-h (Depends-on): Update.
8111         * modules/unistr/base (Depends-on): Update.
8112         * MODULES.html.sh (Core language properties): Update.
8113
8114         Rename module 'link-warning' to 'snippet/link-warning'.
8115         * modules/snippet/link-warning: Renamed from modules/link-warning.
8116         (Files, Makefile.am): Update.
8117         * build-aux/snippet/link-warning.h: Renamed from
8118         build-aux/link-warning.h.
8119         * MODULES.html.sh (Support for building libraries and executables):
8120         Update.
8121
8122         Rename module 'c++defs' to 'snippet/c++defs'.
8123         * modules/snippet/c++defs: Renamed from modules/c++defs.
8124         (Files, Makefile.am): Update.
8125         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
8126         * modules/arpa_inet (Depends-on): Update.
8127         * modules/ctype (Depends-on): Update.
8128         * modules/dirent (Depends-on): Update.
8129         * modules/fcntl-h (Depends-on): Update.
8130         * modules/glob (Depends-on): Update.
8131         * modules/iconv-h (Depends-on): Update.
8132         * modules/langinfo (Depends-on): Update.
8133         * modules/locale (Depends-on): Update.
8134         * modules/math (Depends-on): Update.
8135         * modules/netdb (Depends-on): Update.
8136         * modules/poll-h (Depends-on): Update.
8137         * modules/pty (Depends-on): Update.
8138         * modules/search (Depends-on): Update.
8139         * modules/signal (Depends-on): Update.
8140         * modules/spawn (Depends-on): Update.
8141         * modules/stdio (Depends-on): Update.
8142         * modules/stdlib (Depends-on): Update.
8143         * modules/string (Depends-on): Update.
8144         * modules/strings (Depends-on): Update.
8145         * modules/sys_ioctl (Depends-on): Update.
8146         * modules/sys_select (Depends-on): Update.
8147         * modules/sys_socket (Depends-on): Update.
8148         * modules/sys_stat (Depends-on): Update.
8149         * modules/sys_time (Depends-on): Update.
8150         * modules/sys_wait (Depends-on): Update.
8151         * modules/termios (Depends-on): Update.
8152         * modules/time (Depends-on): Update.
8153         * modules/unistd (Depends-on): Update.
8154         * modules/wchar (Depends-on): Update.
8155         * modules/wctype-h (Depends-on): Update.
8156
8157         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
8158         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
8159         (Files, Makefile.am): Update.
8160         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
8161         * modules/argv-iter (Depends-on): Update.
8162         * modules/arpa_inet (Depends-on): Update.
8163         * modules/dirent (Depends-on): Update.
8164         * modules/fcntl-h (Depends-on): Update.
8165         * modules/fnmatch (Depends-on): Update.
8166         * modules/getopt-posix (Depends-on): Update.
8167         * modules/glob (Depends-on): Update.
8168         * modules/iconv-h (Depends-on): Update.
8169         * modules/inttypes-incomplete (Depends-on): Update.
8170         * modules/locale (Depends-on): Update.
8171         * modules/math (Depends-on): Update.
8172         * modules/netdb (Depends-on): Update.
8173         * modules/search (Depends-on): Update.
8174         * modules/signal (Depends-on): Update.
8175         * modules/spawn (Depends-on): Update.
8176         * modules/stdio (Depends-on): Update.
8177         * modules/stdlib (Depends-on): Update.
8178         * modules/string (Depends-on): Update.
8179         * modules/strings (Depends-on): Update.
8180         * modules/sys_socket (Depends-on): Update.
8181         * modules/sys_stat (Depends-on): Update.
8182         * modules/sys_time (Depends-on): Update.
8183         * modules/sys_times (Depends-on): Update.
8184         * modules/sys_utsname (Depends-on): Update.
8185         * modules/time (Depends-on): Update.
8186         * modules/unistd (Depends-on): Update.
8187         * modules/wchar (Depends-on): Update.
8188         * MODULES.html.sh (Support for building libraries and executables):
8189         Update.
8190
8191 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
8192
8193         Improvements on _Noreturn and related modules.
8194
8195         modules/_Exit-tests: test _Noreturn too
8196         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
8197         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
8198         (main): Use them.
8199
8200         stdnoreturn, stdnoreturn-tests: remove modules
8201         They're not needed here and a bit premature for use elsewhere.  See
8202         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
8203         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
8204         * tests/test-stdnoreturn.c: Remove files.
8205         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
8206         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
8207         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
8208         and using noreturn.
8209         * modules/openat, modules/sigpipe-die, modules/xalloc:
8210         * modules/xmemdup0, modules/xstrtol:
8211         Remove dependency on stdnoreturn.
8212
8213         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
8214         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
8215         Reparenthesize to avoid GCC warning.
8216         Support Microsoft's syntax.
8217         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
8218
8219         _Noreturn-tests: remove module
8220         * modules/_Noreturn-tests: Remove.
8221         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
8222         * tests/test-_Noreturn.c: Remove.
8223         * tests/test-stdnoreturn.c: Merge from the old
8224         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
8225
8226 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
8227
8228         _Noreturn, stdnoreturn, and related modules.
8229
8230         * top/maint.mk: Adjust to new noreturn support.
8231         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
8232         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
8233
8234         xalloc: use stdnoreturn.h
8235         * lib/xalloc.h: Include <stdnoreturn.h>.
8236         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8237         * modules/xalloc (Depends-on): Add stdnoreturn.
8238
8239         xstrtol: use stdnoreturn.h
8240         * lib/xstrtol.h: Include <stdnoreturn.h>.
8241         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8242         * modules/xstrtol (Depends-on): Add stdnoreturn.
8243
8244         xmemdup0: use stdnoreturn.h
8245         * lib/xmemdup0.h: Include <stdnoreturn.h>.
8246         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8247         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
8248
8249         sigpipe-die: use stdnoreturn.h
8250         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
8251         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8252         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
8253
8254         openat: use stdnoreturn.h
8255         * lib/openat.h: Include <stdnoreturn.h>.
8256         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8257         * modules/openat (Depends-on): Add stdnoreturn.
8258
8259         * lib/openat-die.c (openat_save_fail): Modernize comment.
8260
8261         * lib/xalloc-die.c (xalloc_die): Modernize comment.
8262
8263         * lib/glthread/thread.h: Modernize comment.
8264
8265         obstack: use _Noreturn
8266         * lib/obstack.c (__attribute__): Remove macro.
8267         (print_and_abort): Use _Noreturn.
8268
8269         c-stack: use _Noreturn
8270         * lib/c-stack.c (die, overflow_handler, segv_handler):
8271         Use _Noreturn rather than __attribute__((noreturn)).
8272
8273         argmatch-tests, exclude_tests: use _Noreturn
8274         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
8275         Remove.
8276         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
8277
8278         stdlib: use _Noreturn
8279         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
8280         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
8281         * modules/stdlib (Depends-on): Add _Noreturn.
8282         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
8283
8284         stdnoreturn-tests: new module
8285         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
8286
8287         stdnoreturn: new module
8288         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
8289         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
8290
8291         _Noreturn-tests: new module
8292         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
8293
8294         _Noreturn: new module
8295         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
8296         New section, mentioning it.
8297         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
8298
8299         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
8300
8301 2011-07-11  Eric Blake  <eblake@redhat.com>
8302
8303         ffs: new module
8304         * modules/ffs: New file.
8305         * m4/ffs.m4: Likewise.
8306         * lib/ffs.c: Likewise.
8307         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
8308         * modules/strings (Makefile.am): Substitute witness.
8309         (Depends-on): Add c++defs.
8310         * lib/strings.in.h (ffs): Declare.
8311         * modules/ffs-tests: New test file.
8312         * tests/test-ffs.c: Test new module.
8313         * MODULES.html.sh (Integer arithmetic functions): Mention it.
8314         * doc/posix-functions/ffs.texi (ffs): Likewise.
8315
8316         regex: avoid compiler warning
8317         * lib/regex.c (includes): Include <strings.h>, for use of
8318         strcasecmp in regcomp.c.
8319         Reported by Joachim Schmitz.
8320
8321 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8322
8323         stdint: respect system's intmax_t if INTMAX_MAX
8324         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
8325         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
8326         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
8327         long but int64_t is long long, and where we will clash with the
8328         system intmax_t if we override it.  See
8329         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
8330         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
8331         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
8332         similarly for UINTMAX_C.
8333
8334 2011-07-08  Bruno Haible  <bruno@clisp.org>
8335
8336         pthread_sigmask tests: Avoid a compiler warning.
8337         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
8338         non-zero.
8339
8340         sigprocmask tests: A better way to avoid a compiler warning.
8341         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
8342         (main): Complain if system() returns non-zero.
8343         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
8344
8345 2011-07-08  Bruno Haible  <bruno@clisp.org>
8346
8347         pthread_sigmask: Work around IRIX bug.
8348         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
8349         bug.
8350         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
8351         there may be unblocked pending signals.
8352         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
8353
8354 2011-07-08  Bruno Haible  <bruno@clisp.org>
8355
8356         pthread_sigmask: Work around Cygwin bug.
8357         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
8358         bug.
8359         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
8360         the system's pthread_sigmask function.
8361         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
8362
8363 2011-07-08  Bruno Haible  <bruno@clisp.org>
8364
8365         pthread_sigmask: Work around bug in single-threaded implementation.
8366         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
8367         FreeBSD, HP-UX, Solaris bug.
8368         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
8369         * lib/pthread_sigmask.c: Include <stddef.h>.
8370         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
8371         the system's pthread_sigmask function.
8372         * modules/pthread_sigmask (configure.ac): Invoke
8373         gl_PREREQ_PTHREAD_SIGMASK.
8374         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
8375         HP-UX, Solaris.
8376
8377 2011-07-08  Eric Blake  <eblake@redhat.com>
8378
8379         test-sigprocmask: avoid compiler warning
8380         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
8381         * tests/test-sigprocmask.c (main): Use it to silence warning.
8382         Reported by Jim Meyering.
8383
8384         test-snprintf: avoid compiler warning
8385         * tests/test-snprintf.c (main): Avoid shadowed declaration.
8386         * tests/test-vsnprintf.c (main): Likewise.
8387         Reported by Jim Meyering.
8388
8389 2011-07-08  Bruno Haible  <bruno@clisp.org>
8390
8391         Tests for module 'pthread_sigmask'.
8392         * modules/pthread_sigmask-tests: New file.
8393         * tests/test-pthread_sigmask1.c: New file, based on
8394         tests/test-sigprocmask.c.
8395         * tests/test-pthread_sigmask2.c: New file.
8396
8397 2011-07-08  Jim Meyering  <meyering@redhat.com>
8398
8399         test-getopt.h: avoid warning about an unused variable
8400         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
8401
8402 2011-07-07  Jim Meyering  <meyering@redhat.com>
8403
8404         maint: reduce list of files exempt from sc_prohibit_leading_TABs
8405         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
8406         now that it no longer contains leading TABs.
8407         Remove unused "url=FIXME" statement.
8408
8409 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8410
8411         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
8412         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
8413         When gl_THREADLIB is not in use, assume that the POSIX sematics
8414         are desired.  This is better for Emacs, which uses POSIX semantics
8415         on GNUish and/or POSIXish platforms, and does not use threads at
8416         all otherwise.
8417
8418         pthread_sigmask: fix typo when testing for libraries
8419         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
8420         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
8421
8422 2011-07-08  Eric Blake  <eblake@redhat.com>
8423
8424         fts: introduce FTS_NOATIME
8425         * lib/fts_.h (FTS_NOATIME): New bit flag.
8426         (FTS_OPTIONMASK): Adjust.
8427         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
8428         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
8429
8430 2011-07-08  Bruno Haible  <bruno@clisp.org>
8431
8432         Tests for module 'thread'.
8433         * modules/thread-tests: New file.
8434         * tests/test-thread_self.c: New file.
8435         * tests/test-thread_create.cc: New file.
8436
8437 2011-07-08  Bruno Haible  <bruno@clisp.org>
8438
8439         thread: Avoid gcc warnings when using gl_thread_self().
8440         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
8441         'void *'.
8442         (gl_thread_self_pointer): Update.
8443
8444 2011-07-07  Bruno Haible  <bruno@clisp.org>
8445
8446         signal-c++-tests: Check declaration of pthread_sigmask.
8447         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
8448         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
8449         $(LIB_PTHREAD_SIGMASK).
8450
8451 2011-07-07  Bruno Haible  <bruno@clisp.org>
8452
8453         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
8454         * lib/signal.in.h (pthread_sigmask): Override if
8455         REPLACE_PTHREAD_SIGMASK is 1.
8456         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
8457         REPLACE_PTHREAD_SIGMASK.
8458         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
8459         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
8460         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
8461         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
8462         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
8463
8464 2011-07-07  Bruno Haible  <bruno@clisp.org>
8465
8466         pthread_sigmask: Ensure declaration in <signal.h>.
8467         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
8468         include <pthread.h>.
8469         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
8470         problem.
8471
8472 2011-07-07  Bruno Haible  <bruno@clisp.org>
8473
8474         pthread_sigmask: Document the module.
8475         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
8476
8477 2011-07-07  Bruno Haible  <bruno@clisp.org>
8478
8479         pthread_sigmask: Follow gnulib conventions.
8480         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
8481         gl_PTHREAD_SIGMASK.
8482         * modules/pthread_sigmask (configure.ac): Update.
8483
8484 2011-07-07  Bruno Haible  <bruno@clisp.org>
8485
8486         pthread_sigmask: Make declaration C++ safe.
8487         * lib/signal.in.h: In two special conditions, just do an #include_next.
8488         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
8489         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
8490         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
8491         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
8492         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
8493         not REPLACE_PTHREAD_MASK.
8494         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
8495         not REPLACE_PTHREAD_MASK.
8496         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
8497
8498 2011-07-07  Bruno Haible  <bruno@clisp.org>
8499
8500         pthread_sigmask: Fix return value.
8501         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
8502         * lib/pthread_sigmask.c: New file.
8503         * modules/pthread_sigmask (Files): Add it.
8504         (configure.ac): Invoke AC_LIBOBJ.
8505
8506 2011-07-07  Eric Blake  <eblake@redhat.com>
8507
8508         getopt: more portable argv creation
8509         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
8510         const, use char arrays rather than strings.
8511         Suggested by Paul Eggert.
8512
8513 2011-07-07  Bruno Haible  <bruno@clisp.org>
8514
8515         Tests for module 'sigprocmask'.
8516         * modules/sigprocmask-tests: New file.
8517         * tests/test-sigprocmask.c: New file.
8518
8519 2011-07-07  Bruno Haible  <bruno@clisp.org>
8520
8521         float tests: Tweak.
8522         * tests/test-float.c (main): Tweak skip message.
8523
8524 2011-07-07  Eric Blake  <eblake@redhat.com>
8525
8526         getopt: avoid compiler warning during configure
8527         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
8528         assigning string literals to non-const pointer.
8529
8530         getopt-gnu: avoid crash in glibc getopt
8531         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
8532         * tests/test-getopt.h (test_getopt): Enhance test.
8533         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8534         * doc/posix-functions/getopt.texi (getopt): Document it.
8535         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
8536         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
8537         Likewise.
8538
8539 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
8540
8541         getopt: handle W; without long options in getopt [BZ #12922]
8542         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
8543         but no long options are defined, just return 'W'.
8544
8545 2011-07-07  Bruno Haible  <bruno@clisp.org>
8546
8547         Avoid literal tabs.
8548         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
8549         variable containing a tab instead of a literal tab.
8550         Reported by Jim Meyering.
8551
8552 2011-07-07  Bruno Haible  <bruno@clisp.org>
8553
8554         Comments.
8555         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
8556
8557 2011-07-06  Bruno Haible  <bruno@clisp.org>
8558
8559         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
8560         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
8561         <winsock2.h>.
8562         (rpl_fd_isset, FD_ISSET): New definitions, copied from
8563         lib/sys_socket.in.h.
8564         (close, gethostname): Hide declarations from <winsock2.h>.
8565         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
8566         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
8567         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
8568         (select): Don't override if gnulib's <sys/select.h> was already
8569         included.
8570         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
8571         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
8572         setsockopt, shutdown, select): Tweak indentation.
8573
8574 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8575
8576         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
8577         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
8578         in an application that does not use the sys_select module.
8579
8580 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
8581
8582         poll: do not return 0 on timeout=-1
8583         * lib/poll.c: Loop with yield if no events occured
8584
8585 2011-07-06  Eric Blake  <eblake@redhat.com>
8586
8587         pthread_sigmask: always replace when not using pthread
8588         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
8589         replacement when using some threading other than pthread.  Fix
8590         logic bug.
8591
8592 2011-07-06  Bruno Haible  <bruno@clisp.org>
8593
8594         Comments.
8595         * m4/printf.m4: Update comments about mingw.
8596
8597 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8598
8599         sys_select: define sigset_t more portably
8600         * lib/sys_select.in.h: Always include <sys/types.h>, since
8601         we now need sigset_t and mingw defines it there.
8602         Include <signal.h> before split inclusion guard, to avoid
8603         mishaps on Solaris, whose <signal.h> eventually includes us.
8604         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
8605         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
8606         which come from ...
8607         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
8608         gl_CHECK_TYPE_SIGSET_T.
8609         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
8610         does the real work.
8611         * modules/sys_select (Depends-on): Add 'signal'.
8612
8613         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
8614         Suggested by Bruno Haible.
8615
8616         pselect: Use pthread_sigmask, not sigprocmask.
8617         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
8618         multithreaded apps better than sigprocmask does.
8619         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
8620         sigprocmask directly.
8621
8622 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
8623
8624         * lib/pselect.c (pselect): Use plain name, without "rpl_".
8625         Don't #undef,  since we don't need any underlying pselect.
8626         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
8627         (Depends-on): Add select.
8628         (Link): Add $(LIBSOCKET).
8629         These changes suggested by Bruno Haible.
8630
8631         pselect: document better
8632         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
8633         * doc/posix-functions/pselect.texi (pselect): Document new module.
8634
8635         pthread_sigmask: new module
8636         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
8637         * doc/posix-functions/pthread_sigmask.texi: Document new module.
8638         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
8639         This is done only as a macro; I don't know how well that'll
8640         work for C++.  Move <sys/types.h> include before the include_next,
8641         to avoid mishap on Solaris.
8642         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
8643         * modules/signal (Makefile.am): Substitute the check's results.
8644         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
8645
8646         test-pselect: new module
8647         * modules/pselect-tests, tests/test-pselect.c: New files.
8648         * tests/test-select.c, tests/test-sys_select-c++.cc:
8649         If TEST_PSELECT is defined, test pselect instead of testing select.
8650
8651         * tests/test-sys_select.c (sigset_t): Test for it, too.
8652         Suggested by Bruno Haible.
8653
8654 2011-07-05  Eric Blake  <eblake@redhat.com>
8655
8656         snprintf: guarantee %1$d, for libintl
8657         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
8658         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
8659         * doc/posix-functions/snprintf.texi (snprintf): Update.
8660         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
8661         * tests/test-snprintf.c (main): Enhance test.
8662         * tests/test-vsnprintf.c (main): Likewise.
8663
8664 2011-07-05  Jim Meyering  <meyering@redhat.com>
8665
8666         maint: exempt stdio-read.c and stdio-write.c from the cppi check
8667         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
8668         per Bruno's request, to accommodate this idiom (no space after "#")
8669         even when the function is inside an #if block:
8670         char *
8671         gets (char *s)
8672         #undef gets
8673         {
8674           ...
8675         }
8676
8677 2011-07-04  Jim Meyering  <meyering@redhat.com>
8678
8679         maint: indent with spaces, not TABs, and add a rule to check this
8680         * tests/test-userspec.c: Indent with spaces, not TABs.
8681         * tests/test-argp.c: Likewise.
8682         * tests/test-c-stack2.sh: Likewise.
8683         * tests/test-parse-duration.sh: Likewise
8684         * m4/strtod.m4: Likewise.
8685         * m4/alloca.m4: Likewise.
8686         * m4/pselect.m4: Likewise.
8687         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
8688
8689 2011-07-03  Jim Meyering  <meyering@redhat.com>
8690
8691         maint.mk: correct omissions in prohibit_argmatch_without_use check
8692         This rule would mistakenly report that argmatch.h is included without
8693         use even when both the argmatch and invalid_arg macro were used.
8694         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
8695         of argmatch and invalid_arg.
8696
8697 2011-07-03  Bruno Haible  <bruno@clisp.org>
8698
8699         Comments about EINTR.
8700         * lib/safe-read.h: Explain the purpose of this module.
8701         * lib/safe-write.h: Likewise.
8702         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
8703         module.
8704         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
8705         module.
8706         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8707
8708 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8709
8710         xnanosleep: Rewrite to use new dtotimespec module.
8711         It has the conversion code that used to be in xnanosleep.
8712         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
8713         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
8714         (TIME_T_MAX): Remove.
8715         (xnanosleep): Rewrite in terms of dtotimespec.
8716         * modules/xnanosleep (Depends-on): Add dtotimespec.
8717         Remove intprops, stdbool.
8718
8719         timespec-add, timespec-sub: new modules
8720         * lib/timespec.h (timespec_add, timespec_sub): New decls.
8721         * lib/timespec-add.c, lib/timespec-sub.c:
8722         * modules/timespec-add, modules/timespec-sub: New files.
8723
8724         dtotimespec: new module
8725         * lib/timespec.h (dtotimespec): New decl.
8726         * lib/dtotimespec.c, modules/dtotimespec: New files.
8727
8728         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
8729
8730         pselect: new module
8731         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
8732         (pselect): New decls.
8733         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
8734         since the standard pselect decl uses 'restrict'.
8735         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
8736         HAVE_PSELECT, REPLACE_PSELECT.
8737         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
8738         HAVE_PSELECT, REPLACE_PSELECT.
8739         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
8740
8741         sys_select: don't depend on sys_socket
8742         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
8743         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
8744         This fix works on GNU and GNU-like platforms, but has not been tested
8745         on native Windows.
8746         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
8747         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
8748         gl_HEADER_SYS_SOCKET.
8749         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
8750         gl_PREREQ_SYS_H_WINSOCK2.
8751
8752 2011-06-29  Eric Blake  <eblake@redhat.com>
8753
8754         pipe2: fix C89 compile problem
8755         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
8756         Reported by Bruno Haible.
8757
8758         pipe, pipe2: don't corrupt fd on error
8759         * lib/pipe.c (pipe): Leave fd unchanged on error.
8760         * lib/pipe2.c (pipe2): Likewise.
8761         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
8762         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
8763
8764 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
8765
8766         mmap-anon: do not use regular expressions inadvertently
8767         * m4/mmap-anon.m4: Remove trailing period from strings sought
8768         in the output.
8769
8770 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
8771
8772         nanosleep: fix integer overflow problem
8773         * lib/nanosleep.c (my_usleep): Don't assume signed integer
8774         arithmetic wraps around on overflow.
8775
8776         nanosleep: simplify carrying
8777         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
8778         first call to the underyling nanosleep, not for the last one.
8779         This doesn't fix any bugs, but it simplifies the computation of
8780         the remaining delay.  Found while auditing integer overflow issues.
8781
8782         dup2: remove test for existence of fcntl
8783         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
8784         "#if HAVE_FCNTL", in the configure-time test program.
8785         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
8786         and therefore speeds up "configure" a bit.  Found while
8787         adding the dup2 module to Emacs.
8788
8789 2011-06-24  Eric Blake  <eblake@redhat.com>
8790
8791         maint.mk: enhance useless header checks
8792         * top/maint.mk (_sc_header_without_use): Check both include
8793         styles.
8794         (sc_prohibit_assert_without_use)
8795         (sc_prohibit_close_stream_without_use)
8796         (sc_prohibit_getopt_without_use)
8797         (sc_prohibit_quotearg_without_use)
8798         (sc_prohibit_quote_without_use)
8799         (sc_prohibit_long_options_without_use)
8800         (sc_prohibit_inttostr_without_use)
8801         (sc_prohibit_ignore_value_without_use)
8802         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
8803         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
8804         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
8805         (sc_prohibit_hash_pjw_without_use)
8806         (sc_prohibit_safe_read_without_use)
8807         (sc_prohibit_argmatch_without_use)
8808         (sc_prohibit_canonicalize_without_use)
8809         (sc_prohibit_root_dev_ino_without_use)
8810         (sc_prohibit_openat_without_use)
8811         (sc_prohibit_c_ctype_without_use)
8812         (sc_prohibit_signal_without_use)
8813         (sc_prohibit_stdio--_without_use)
8814         (sc_prohibit_stdio-safer_without_use)
8815         (sc_prohibit_strings_without_use)
8816         (sc_prohibit_intprops_without_use)
8817         (sc_prohibit_stddef_without_use)
8818         (sc_prohibit_xfreopen_without_use): Update clients.
8819
8820 2011-06-24  Jim Meyering  <meyering@redhat.com>
8821
8822         syntax-check: keep one maint.mk rule in sync with its header
8823         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
8824         of the bug Eric has just fixed, with today's commit 25e4c2ec.
8825         I prefer to avoid temporary files here, so use <(...), but that
8826         is not supported by /bin/sh, so...
8827         (SHELL): Define to /bin/bash.
8828
8829 2011-06-24  Eric Blake  <eblake@redhat.com>
8830
8831         maint.mk: update sc_prohibit_intprops_without_use
8832         * top/maint.mk (_intprops_names): Match recent changes.
8833
8834 2011-06-24  Bruno Haible  <bruno@clisp.org>
8835
8836         strerror-override: No-op tweak.
8837         * lib/strerror-override.h (strerror_override): Reorder conditions,
8838         for consistency with lib/strerror-override.c.
8839
8840 2011-06-23  Eric Blake  <eblake@redhat.com>
8841
8842         maint.mk: test further PATH_MAX issues
8843         * top/maint.mk (sc_prohibit_path_max_array): Rename...
8844         (sc_prohibit_path_max_allocation): ...and also test alloca.
8845         Suggested by Jim Meyering.
8846
8847 2011-06-22  Eric Blake  <eblake@redhat.com>
8848
8849         maint.mk: add syntax-check to avoid char[PATH_MAX]
8850         * top/maint.mk (sc_prohibit_path_max_array): New rule.
8851
8852         stat: be robust to PATH_MAX definition
8853         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
8854         * modules/stat (Depends-on): Add verify.
8855
8856         link: work around IRIX bug
8857         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
8858         * lib/link.c (rpl_link): Work around it.
8859         * tests/test-link.h (test_link): Enhance test.
8860         * doc/posix-functions/link.texi (link): Document the bug.
8861
8862         getopt: silence clang warning
8863         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
8864         dereference.
8865         Reported by Gustavo Martin Domato.
8866
8867 2011-06-22  Jim Meyering  <meyering@redhat.com>
8868
8869         bootstrap: do not insert a blank line into each .gitignore file
8870         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
8871
8872 2011-06-21  Eric Blake  <eblake@redhat.com>
8873
8874         perror: test for output mismatch
8875         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
8876         perror on IRIX.
8877
8878         strerror_r: fix OpenBSD behavior on out-of-range
8879         * lib/strerror_r.c (strerror_r): Always use maximal string.
8880         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
8881
8882         strerror_r: fix OpenBSD behavior on 0
8883         * lib/strerror-override.c (strerror_override): Also override 0
8884         when needed.
8885         * lib/strerror-override.h (strerror_override): Likewise.
8886         * lib/strerror.c (strerror): Simplify, now that 0 override is done
8887         earlier.
8888         * lib/strerror_r.c (strerror_r): Likewise.
8889         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
8890         behavior...
8891         (gl_FUNC_STRERROR_0): ...into new macro.
8892         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
8893         is overridden.
8894         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
8895         * modules/strerror-override (Files): Add strerror.m4.
8896         (configure.ac): Also provide override for 0 when needed.
8897         * doc/posix-functions/strerror.texi (strerror): Document this.
8898         * doc/posix-functions/perror.texi (perror): Likewise.
8899
8900         perror: adjust array size
8901         * modules/perror (Depends-on): Add strerror-override.
8902         * lib/perror.c (perror): Use it to avoid magic number.
8903
8904         strerror-override: reduce size
8905         * lib/strerror-override.c (strerror_override): Use fewer lines.
8906
8907 2011-06-20  Bruno Haible  <bruno@clisp.org>
8908
8909         pathmax: Ensure correct value for PATH_MAX on HP-UX.
8910         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
8911
8912 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
8913
8914         alloca: port to compilers that can optimize like GCC 4.6.0
8915         * lib/alloca.c (find_stack_direction): New signature, taken from
8916         Autoconf git.  This works with GCC 4.6.0.  This code should never
8917         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
8918         be used with other compilers that optimize as well as GCC 4.6.0 does.
8919         (alloca): Adjust to new signature.
8920         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
8921         New macro, which patches Autoconf in a similar way.
8922
8923         c-stack: stop worrying about stack direction
8924         * lib/c-stack.c (find_stack_direction): Remove.
8925         (segv_handler): Don't worry about stack direction growth, as it's
8926         too much of a pain to configure this correctly, given how compilers
8927         are optimizing-away our stack-growth detection code.  Instead, assume
8928         that any access to just before or just after the stack is OK.
8929         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
8930         Don't require AC_FUNC_ALLOCA; no longer needed.
8931
8932 2011-06-20  Eric Blake  <eblake@redhat.com>
8933
8934         test-stat: don't allocate PATH_MAX bytes
8935         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
8936         PATH_MAX-sized buffer.
8937         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
8938         * modules/stat-tests (Depends-on): Likewise.
8939         * tests/test-fstatat.c (includes): Drop pathmax.h.
8940         * tests/test-stat.c (includes): Likewise.
8941         Reported by Bruno Haible.
8942
8943 2011-06-20  Bruno Haible  <bruno@clisp.org>
8944
8945         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
8946         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
8947         * lib/float.c: New file.
8948         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
8949         REPLACE_FLOAT_LDBL.
8950         * modules/float (Files): Add lib/float.c.
8951         (configure.ac): Invoke AC_LIBOBJ.
8952         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
8953
8954 2011-06-20  Bruno Haible  <bruno@clisp.org>
8955
8956         Tests for module 'float'.
8957         * modules/float-tests: New file.
8958         * tests/test-float.c: New file.
8959
8960 2011-06-19  Bruno Haible  <bruno@clisp.org>
8961
8962         isinf: Coding style.
8963         * lib/isinf.c: Use GNU coding style.
8964
8965 2011-06-19  Bruno Haible  <bruno@clisp.org>
8966
8967         linkat test: Avoid test failure on AIX 7.1.
8968         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
8969         * tests/test-link.h (test_link): Likewise.
8970
8971 2011-06-19  Bruno Haible  <bruno@clisp.org>
8972
8973         pread test: Avoid test failure on OpenBSD 4.9.
8974         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
8975
8976 2011-06-19  Bruno Haible  <bruno@clisp.org>
8977
8978         sprintf-posix: Fix test failure on AIX 7.1.
8979         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
8980         * doc/posix-functions/dprintf.texi: Mention limited precision problem
8981         on AIX.
8982         * doc/posix-functions/fprintf.texi: Likewise.
8983         * doc/posix-functions/printf.texi: Likewise.
8984         * doc/posix-functions/snprintf.texi: Likewise.
8985         * doc/posix-functions/sprintf.texi: Likewise.
8986         * doc/posix-functions/vdprintf.texi: Likewise.
8987         * doc/posix-functions/vfprintf.texi: Likewise.
8988         * doc/posix-functions/vprintf.texi: Likewise.
8989         * doc/posix-functions/vsnprintf.texi: Likewise.
8990         * doc/posix-functions/vsprintf.texi: Likewise.
8991
8992 2011-06-19  Bruno Haible  <bruno@clisp.org>
8993
8994         roundl-ieee: Fix test failure on AIX 7.1.
8995         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
8996         * doc/posix-functions/roundl.texi: Mention problem with negative
8997         arguments.
8998
8999 2011-06-19  Bruno Haible  <bruno@clisp.org>
9000
9001         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
9002         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
9003         * doc/posix-functions/round.texi: Mention problem with negative
9004         arguments.
9005         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
9006
9007 2011-06-19  Bruno Haible  <bruno@clisp.org>
9008
9009         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
9010         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
9011         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
9012         * doc/posix-functions/roundf.texi: Mention problem with negative
9013         arguments.
9014         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
9015
9016 2011-06-19  Bruno Haible  <bruno@clisp.org>
9017
9018         ceilf-ieee: Work around bug on MacOS X 10.5.
9019         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
9020
9021         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
9022         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
9023         IEEE compliant, avoid compiler optimizations.
9024         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
9025         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
9026         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
9027         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
9028         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
9029         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
9030         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9031         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
9032         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
9033         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
9034
9035 2011-06-19  Bruno Haible  <bruno@clisp.org>
9036
9037         ceilf-ieee: Work around bug on AIX 7.1.
9038         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
9039         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
9040
9041 2011-06-19  Bruno Haible  <bruno@clisp.org>
9042
9043         ceil-ieee: Work around bug on AIX 7.1.
9044         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
9045         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
9046
9047 2011-06-18  Bruno Haible  <bruno@clisp.org>
9048
9049         fsync test: Avoid test failure on MacOS X and AIX.
9050         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
9051         EINVAL.
9052
9053 2011-06-18  Bruno Haible  <bruno@clisp.org>
9054
9055         openat, fdopendir tests: Fix link errors.
9056         * modules/openat-tests (Depends-on): Add progname.
9057         * modules/fdopendir-tests (Depends-on): Likewise.
9058         * tests/test-fchownat.c: Include progname.h.
9059         (main): Call set_program_name.
9060         * tests/test-fstatat.c: Include progname.h.
9061         (main): Call set_program_name.
9062         * tests/test-mkdirat.c: Include progname.h.
9063         (main): Call set_program_name.
9064         * tests/test-openat.c: Include progname.h.
9065         (main): Call set_program_name.
9066         * tests/test-unlinkat.c: Include progname.h.
9067         (main): Call set_program_name.
9068         * tests/test-fdopendir.c: Include progname.h.
9069         (main): Call set_program_name.
9070
9071 2011-06-18  Bruno Haible  <bruno@clisp.org>
9072
9073         Doc update.
9074         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
9075         HP-UX.
9076         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
9077
9078 2011-06-18  Bruno Haible  <bruno@clisp.org>
9079
9080         getcwd tests: Avoid compilation error on HP-UX 11.31.
9081         * modules/getcwd-tests (Depends-on): Add pathmax.
9082         * tests/test-getcwd.c: Include pathmax.h.
9083
9084 2011-06-18  Bruno Haible  <bruno@clisp.org>
9085
9086         isfinite, isinf: Fix link error on AIX 6 and 7.
9087         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
9088         needed, also test the macro with a 'float' argument.
9089         * m4/isinf.m4 (gl_ISINF): Likewise.
9090
9091 2011-06-18  Bruno Haible  <bruno@clisp.org>
9092
9093         getloadavg: Don't clobber LIBS. Regression from previous commit.
9094         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
9095         AC_CHECK_LIB from here...
9096         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
9097         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
9098         gl_func_getloadavg_done.
9099         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9100
9101 2011-06-18  Bruno Haible  <bruno@clisp.org>
9102
9103         clean-temp: Improve documentation.
9104         * lib/clean-temp.h: Explain better how to use this module.
9105         Reported by John Darrington <john@darrington.wattle.id.au>.
9106
9107 2011-06-17  Bruno Haible  <bruno@clisp.org>
9108
9109         pread, pwrite: Avoid cc warning on AIX.
9110         * lib/unistd.in.h (pread): Undefine before defining as a macro.
9111         (pwrite): Likewise.
9112
9113 2011-06-17  Bruno Haible  <bruno@clisp.org>
9114
9115         spawn-pipe tests: Fix link error.
9116         * tests/test-spawn-pipe-child.c: Undefine fprintf.
9117         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9118
9119 2011-06-17  Bruno Haible  <bruno@clisp.org>
9120
9121         Tests: Remove unnecessary dependency.
9122         * modules/canonicalize-tests (Depends-on): Remove progname.
9123         * modules/chown-tests (Depends-on): Likewise.
9124         * modules/dirname-tests (Depends-on): Likewise.
9125         * modules/fdopendir-tests (Depends-on): Likewise.
9126         * modules/fdutimensat-tests (Depends-on): Likewise.
9127         * modules/hash-tests (Depends-on): Likewise.
9128         * modules/lchown-tests (Depends-on): Likewise.
9129         * modules/linkat-tests (Depends-on): Likewise.
9130         * modules/renameat-tests (Depends-on): Likewise.
9131         * modules/spawn-pipe-tests (Depends-on): Likewise.
9132         * modules/utimensat-tests (Depends-on): Likewise.
9133
9134 2011-06-17  Bruno Haible  <bruno@clisp.org>
9135
9136         spawn-pipe tests: Fix link error.
9137         * tests/test-spawn-pipe-child.c: Undefine fflush.
9138
9139 2011-06-17  Bruno Haible  <bruno@clisp.org>
9140
9141         Fix tests link errors.
9142         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
9143         * modules/chown-tests (Makefile.am): Don't link test-chown with
9144         LIBINTL.
9145         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
9146         LIBINTL.
9147         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
9148         LIBINTL.
9149         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
9150         LIBINTL.
9151
9152 2011-06-16  Bruno Haible  <bruno@clisp.org>
9153
9154         crypto/gc-sha1: Fix recent regression.
9155         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
9156         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
9157
9158         crypto/gc-md5: Fix recent regression.
9159         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
9160
9161         crypto/gc-md4: Fix recent regression.
9162         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
9163         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
9164
9165         crypto/gc-arctwo: Fix recent regression.
9166         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
9167         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
9168
9169         crypto/gc-rijndael: Fix recent regression.
9170         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
9171         (configure.ac): Invoke AC_LIBOBJ here.
9172         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
9173         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9174
9175         crypto/gc-hmac-sha1: Fix recent regression.
9176         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
9177         (configure.ac): Invoke AC_LIBOBJ here.
9178         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
9179         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9180
9181         crypto/gc-hmac-md5: Fix recent regression.
9182         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
9183         (configure.ac): Invoke AC_LIBOBJ here.
9184         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
9185         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9186
9187         crypto/gc-des: Fix recent regression.
9188         * modules/crypto/gc-des (Files): Remove m4/des.m4.
9189         (configure.ac): Invoke AC_LIBOBJ here.
9190         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
9191         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9192
9193         crypto/gc-arcfour: Fix recent regression.
9194         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
9195         (configure.ac): Invoke AC_LIBOBJ here.
9196         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
9197         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9198
9199 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
9200
9201         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
9202         After the 2011-05-21 change, this macro requires
9203         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
9204         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
9205
9206 2011-06-16  Bruno Haible  <bruno@clisp.org>
9207
9208         fprintftime: Move AC_LIBOBJ invocations to module description.
9209         * m4/fprintftime.m4: Remove file.
9210         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
9211         (configure.ac): Remove gl_FPRINTFTIME call.
9212         (Makefile.am): Augment lib_SOURCES.
9213         Reported by Jim Meyering.
9214
9215 2011-06-16  Bruno Haible  <bruno@clisp.org>
9216
9217         tmpfile-safer: Finish 2011-05-23 commit.
9218         * m4/stdio-safer.m4: Really remove file.
9219         Reported by Jim Meyering.
9220
9221 2011-06-16  Bruno Haible  <bruno@clisp.org>
9222
9223         syntax-check: Fix typo.
9224         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
9225         printf-posix.m4.
9226         Reported by Jim Meyering.
9227
9228 2011-06-13  Jim Meyering  <meyering@redhat.com>
9229
9230         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
9231         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
9232
9233 2011-05-23  Bruno Haible  <bruno@clisp.org>
9234
9235         yesno: Move AC_LIBOBJ invocations to module description.
9236         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
9237         * modules/yesno (Makefile.am): Augment lib_SOURCES.
9238
9239 2011-05-23  Bruno Haible  <bruno@clisp.org>
9240
9241         xstrtol: Move AC_LIBOBJ invocations to module description.
9242         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
9243         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
9244
9245 2011-05-23  Bruno Haible  <bruno@clisp.org>
9246
9247         xstrtold: Move AC_LIBOBJ invocations to module description.
9248         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
9249         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
9250
9251 2011-05-23  Bruno Haible  <bruno@clisp.org>
9252
9253         xstrtod: Move AC_LIBOBJ invocations to module description.
9254         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
9255         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
9256
9257 2011-05-23  Bruno Haible  <bruno@clisp.org>
9258
9259         xnanosleep: Move AC_LIBOBJ invocations to module description.
9260         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
9261         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
9262
9263 2011-05-23  Bruno Haible  <bruno@clisp.org>
9264
9265         xgetcwd: Move AC_LIBOBJ invocations to module description.
9266         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
9267         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
9268
9269 2011-05-23  Bruno Haible  <bruno@clisp.org>
9270
9271         xalloc: Move AC_LIBOBJ invocations to module description.
9272         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
9273         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
9274
9275 2011-05-23  Bruno Haible  <bruno@clisp.org>
9276
9277         write-any-file: Move AC_LIBOBJ invocations to module description.
9278         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
9279         invocation.
9280         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
9281
9282 2011-05-23  Bruno Haible  <bruno@clisp.org>
9283
9284         utimens: Move AC_LIBOBJ invocations to module description.
9285         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
9286         * modules/utimens (Makefile.am): Augment lib_SOURCES.
9287
9288 2011-05-23  Bruno Haible  <bruno@clisp.org>
9289
9290         utimecmp: Move AC_LIBOBJ invocations to module description.
9291         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
9292         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
9293
9294 2011-05-23  Bruno Haible  <bruno@clisp.org>
9295
9296         userspec: Move AC_LIBOBJ invocations to module description.
9297         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
9298         * modules/userspec (Makefile.am): Augment lib_SOURCES.
9299
9300 2011-05-23  Bruno Haible  <bruno@clisp.org>
9301
9302         unlinkdir: Move AC_LIBOBJ invocations to module description.
9303         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
9304         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
9305
9306 2011-05-23  Bruno Haible  <bruno@clisp.org>
9307
9308         unistd-safer: Move AC_LIBOBJ invocations to module description.
9309         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
9310         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
9311
9312 2011-05-23  Bruno Haible  <bruno@clisp.org>
9313
9314         tempname: Move AC_LIBOBJ invocations to module description.
9315         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
9316         * modules/tempname (Makefile.am): Augment lib_SOURCES.
9317
9318 2011-05-23  Bruno Haible  <bruno@clisp.org>
9319
9320         strftime: Move AC_LIBOBJ invocations to module description.
9321         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
9322         * modules/strftime (Makefile.am): Augment lib_SOURCES.
9323
9324 2011-05-23  Bruno Haible  <bruno@clisp.org>
9325
9326         stdlib-safer: Move AC_LIBOBJ invocations to module description.
9327         * m4/stdlib-safer.m4: Remove file.
9328         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
9329         (configure.ac): Remove gl_STDLIB_SAFER call.
9330         (Makefile.am): Augment lib_SOURCES.
9331
9332 2011-05-23  Bruno Haible  <bruno@clisp.org>
9333
9334         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
9335         * m4/stdio-safer.m4: Remove file.
9336         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
9337         (configure.ac): Remove gl_TMPFILE_SAFER call.
9338         (Makefile.am): Augment lib_SOURCES.
9339
9340 2011-05-23  Bruno Haible  <bruno@clisp.org>
9341
9342         popen-safer: Move AC_LIBOBJ invocations to module description.
9343         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
9344         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
9345         (configure.ac): Remove gl_POPEN_SAFER call.
9346         (Makefile.am): Augment lib_SOURCES.
9347
9348 2011-05-23  Bruno Haible  <bruno@clisp.org>
9349
9350         freopen-safer: Move AC_LIBOBJ invocations to module description.
9351         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
9352         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
9353         (configure.ac): Remove gl_FREOPEN_SAFER call.
9354         (Makefile.am): Augment lib_SOURCES.
9355
9356 2011-05-23  Bruno Haible  <bruno@clisp.org>
9357
9358         fopen-safer: Move AC_LIBOBJ invocations to module description.
9359         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
9360         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
9361         (configure.ac): Remove gl_FOPEN_SAFER call.
9362         (Makefile.am): Augment lib_SOURCES.
9363
9364 2011-05-23  Bruno Haible  <bruno@clisp.org>
9365
9366         crypto/sha512: Move AC_LIBOBJ invocations to module description.
9367         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
9368         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
9369
9370 2011-05-23  Bruno Haible  <bruno@clisp.org>
9371
9372         crypto/sha256: Move AC_LIBOBJ invocations to module description.
9373         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
9374         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
9375
9376 2011-05-23  Bruno Haible  <bruno@clisp.org>
9377
9378         crypto/sha1: Move AC_LIBOBJ invocations to module description.
9379         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
9380         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
9381
9382 2011-05-23  Bruno Haible  <bruno@clisp.org>
9383
9384         settime: Move AC_LIBOBJ invocations to module description.
9385         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
9386         * modules/settime (Makefile.am): Augment lib_SOURCES.
9387
9388 2011-05-23  Bruno Haible  <bruno@clisp.org>
9389
9390         savedir: Move AC_LIBOBJ invocations to module description.
9391         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
9392         * modules/savedir (Makefile.am): Augment lib_SOURCES.
9393
9394 2011-05-23  Bruno Haible  <bruno@clisp.org>
9395
9396         save-cwd: Move AC_LIBOBJ invocations to module description.
9397         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
9398         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
9399
9400 2011-05-23  Bruno Haible  <bruno@clisp.org>
9401
9402         same: Move AC_LIBOBJ invocations to module description.
9403         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
9404         * modules/same (Makefile.am): Augment lib_SOURCES.
9405
9406 2011-05-23  Bruno Haible  <bruno@clisp.org>
9407
9408         safe-write: Move AC_LIBOBJ invocations to module description.
9409         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
9410         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
9411         instead of gl_SAFE_WRITE.
9412         (Makefile.am): Augment lib_SOURCES.
9413
9414 2011-05-23  Bruno Haible  <bruno@clisp.org>
9415
9416         safe-read: Move AC_LIBOBJ invocations to module description.
9417         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
9418         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
9419         of gl_SAFE_READ.
9420         (Makefile.am): Augment lib_SOURCES.
9421
9422 2011-05-23  Bruno Haible  <bruno@clisp.org>
9423
9424         safe-alloc: Move AC_LIBOBJ invocations to module description.
9425         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
9426         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
9427
9428 2011-05-23  Bruno Haible  <bruno@clisp.org>
9429
9430         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
9431         * m4/rijndael.m4: Remove file.
9432         * modules/crypto/rijndael (Files): Remove it.
9433         (configure.ac): Remove gl_RIJNDAEL call.
9434         (Makefile.am): Augment lib_SOURCES.
9435
9436 2011-05-23  Bruno Haible  <bruno@clisp.org>
9437
9438         readtokens: Move AC_LIBOBJ invocations to module description.
9439         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
9440         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
9441
9442 2011-05-23  Bruno Haible  <bruno@clisp.org>
9443
9444         read-file: Move AC_LIBOBJ invocations to module description.
9445         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
9446         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
9447         of gl_FUNC_READ_FILE.
9448         (Makefile.am): Augment lib_SOURCES.
9449
9450 2011-05-23  Bruno Haible  <bruno@clisp.org>
9451
9452         quotearg: Move AC_LIBOBJ invocations to module description.
9453         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
9454         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
9455
9456 2011-05-23  Bruno Haible  <bruno@clisp.org>
9457
9458         quote: Move AC_LIBOBJ invocations to module description.
9459         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
9460         * modules/quote (Makefile.am): Augment lib_SOURCES.
9461
9462 2011-05-23  Bruno Haible  <bruno@clisp.org>
9463
9464         posixver: Move AC_LIBOBJ invocations to module description.
9465         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
9466         * modules/posixver (Makefile.am): Augment lib_SOURCES.
9467
9468 2011-05-23  Bruno Haible  <bruno@clisp.org>
9469
9470         posixtm: Move AC_LIBOBJ invocations to module description.
9471         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
9472         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
9473
9474 2011-05-23  Bruno Haible  <bruno@clisp.org>
9475
9476         physmem: Move AC_LIBOBJ invocations to module description.
9477         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
9478         * modules/physmem (Makefile.am): Augment lib_SOURCES.
9479
9480 2011-05-23  Bruno Haible  <bruno@clisp.org>
9481
9482         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
9483         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
9484         invocation.
9485         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
9486
9487 2011-05-23  Bruno Haible  <bruno@clisp.org>
9488
9489         mpsort: Move AC_LIBOBJ invocations to module description.
9490         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
9491         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
9492
9493 2011-05-23  Bruno Haible  <bruno@clisp.org>
9494
9495         modechange: Move AC_LIBOBJ invocations to module description.
9496         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
9497         * modules/modechange (Makefile.am): Augment lib_SOURCES.
9498
9499 2011-05-23  Bruno Haible  <bruno@clisp.org>
9500
9501         mkdir-p: Move AC_LIBOBJ invocations to module description.
9502         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
9503         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
9504
9505 2011-05-23  Bruno Haible  <bruno@clisp.org>
9506
9507         mkancesdirs: Move AC_LIBOBJ invocations to module description.
9508         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
9509         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
9510
9511 2011-05-23  Bruno Haible  <bruno@clisp.org>
9512
9513         mgetgroups: Move AC_LIBOBJ invocations to module description.
9514         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
9515         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
9516
9517 2011-05-23  Bruno Haible  <bruno@clisp.org>
9518
9519         memxor: Move AC_LIBOBJ invocations to module description.
9520         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
9521         * modules/memxor (Makefile.am): Augment lib_SOURCES.
9522
9523 2011-05-23  Bruno Haible  <bruno@clisp.org>
9524
9525         memcoll: Move AC_LIBOBJ invocations to module description.
9526         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
9527         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
9528
9529 2011-05-23  Bruno Haible  <bruno@clisp.org>
9530
9531         memcasecmp: Move AC_LIBOBJ invocations to module description.
9532         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
9533         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
9534
9535 2011-05-23  Bruno Haible  <bruno@clisp.org>
9536
9537         crypto/md5: Move AC_LIBOBJ invocations to module description.
9538         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
9539         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
9540
9541 2011-05-23  Bruno Haible  <bruno@clisp.org>
9542
9543         crypto/md4: Move AC_LIBOBJ invocations to module description.
9544         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
9545         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
9546
9547 2011-05-23  Bruno Haible  <bruno@clisp.org>
9548
9549         crypto/md2: Move AC_LIBOBJ invocations to module description.
9550         * m4/md2.m4: Remove file.
9551         * modules/crypto/md2 (Files): Remove it.
9552         (configure.ac): Remove gl_MD2 call.
9553         (Makefile.am): Augment lib_SOURCES.
9554
9555 2011-05-23  Bruno Haible  <bruno@clisp.org>
9556
9557         long-options: Move AC_LIBOBJ invocations to module description.
9558         * m4/long-options.m4: Remove file.
9559         * modules/long-options (Files): Remove it.
9560         (configure.ac): Remove gl_LONG_OPTIONS call.
9561         (Makefile.am): Augment lib_SOURCES.
9562
9563 2011-05-23  Bruno Haible  <bruno@clisp.org>
9564
9565         i-ring: Move AC_LIBOBJ invocations to module description.
9566         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
9567         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
9568
9569 2011-05-23  Bruno Haible  <bruno@clisp.org>
9570
9571         idcache: Move AC_LIBOBJ invocations to module description.
9572         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
9573         * modules/idcache (Makefile.am): Augment lib_SOURCES.
9574
9575 2011-05-23  Bruno Haible  <bruno@clisp.org>
9576
9577         human: Move AC_LIBOBJ invocations to module description.
9578         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
9579         * modules/human (Makefile.am): Augment lib_SOURCES.
9580
9581 2011-05-23  Bruno Haible  <bruno@clisp.org>
9582
9583         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
9584         * m4/hmac-sha1.m4: Remove file.
9585         * modules/crypto/hmac-sha1 (Files): Remove it.
9586         (configure.ac): Remove gl_HMAC_SHA1 call.
9587         (Makefile.am): Augment lib_SOURCES.
9588
9589 2011-05-23  Bruno Haible  <bruno@clisp.org>
9590
9591         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
9592         * m4/hmac-md5.m4: Remove file.
9593         * modules/crypto/hmac-md5 (Files): Remove it.
9594         (configure.ac): Remove gl_HMAC_MD5 call.
9595         (Makefile.am): Augment lib_SOURCES.
9596
9597 2011-05-23  Bruno Haible  <bruno@clisp.org>
9598
9599         hash: Move AC_LIBOBJ invocations to module description.
9600         * m4/hash.m4: Remove file.
9601         * modules/hash (Files): Remove it.
9602         (configure.ac): Remove gl_HASH call.
9603         (Makefile.am): Augment lib_SOURCES.
9604
9605 2011-05-23  Bruno Haible  <bruno@clisp.org>
9606
9607         hard-locale: Move AC_LIBOBJ invocations to module description.
9608         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
9609         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
9610
9611 2011-05-23  Bruno Haible  <bruno@clisp.org>
9612
9613         getugroups: Move AC_LIBOBJ invocations to module description.
9614         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
9615         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
9616
9617 2011-05-23  Bruno Haible  <bruno@clisp.org>
9618
9619         gettime: Move AC_LIBOBJ invocations to module description.
9620         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
9621         * modules/gettime (Makefile.am): Augment lib_SOURCES.
9622
9623 2011-05-23  Bruno Haible  <bruno@clisp.org>
9624
9625         getndelim2: Move AC_LIBOBJ invocations to module description.
9626         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
9627         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
9628
9629 2011-05-23  Bruno Haible  <bruno@clisp.org>
9630
9631         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
9632         * m4/gc-pbkdf2-sha1.m4: Remove file.
9633         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
9634         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
9635         (Makefile.am): Augment lib_SOURCES.
9636
9637 2011-05-23  Bruno Haible  <bruno@clisp.org>
9638
9639         fts: Move AC_LIBOBJ invocations to module description.
9640         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
9641         * modules/fts (configure.ac): ... to here.
9642
9643 2011-05-23  Bruno Haible  <bruno@clisp.org>
9644
9645         file-type: Move AC_LIBOBJ invocations to module description.
9646         * m4/file-type.m4: Remove file.
9647         * modules/file-type (Files): Remove it.
9648         (configure.ac): Remove gl_FILE_TYPE call.
9649         (Makefile.am): Augment lib_SOURCES.
9650
9651 2011-05-23  Bruno Haible  <bruno@clisp.org>
9652
9653         filenamecat*: Respect rules for use of AC_LIBOBJ.
9654         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
9655         Remove AC_LIBOBJ invocation.
9656         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
9657         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
9658
9659 2011-05-23  Bruno Haible  <bruno@clisp.org>
9660
9661         filemode: Move AC_LIBOBJ invocations to module description.
9662         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
9663         * modules/filemode (Makefile.am): Augment lib_SOURCES.
9664
9665 2011-05-23  Bruno Haible  <bruno@clisp.org>
9666
9667         openat-safer: Move AC_LIBOBJ invocations to module description.
9668         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
9669         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
9670
9671 2011-05-23  Bruno Haible  <bruno@clisp.org>
9672
9673         fcntl-safer: Move AC_LIBOBJ invocations to module description.
9674         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
9675         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
9676
9677 2011-05-23  Bruno Haible  <bruno@clisp.org>
9678
9679         exclude: Move AC_LIBOBJ invocations to module description.
9680         * m4/exclude.m4: Remove file.
9681         * modules/exclude (Files): Remove it.
9682         (configure.ac): Remove gl_EXCLUDE call.
9683         (Makefile.am): Augment lib_SOURCES.
9684
9685 2011-05-23  Bruno Haible  <bruno@clisp.org>
9686
9687         dirname*: Respect rules for use of AC_LIBOBJ.
9688         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
9689         invocations.
9690         * modules/dirname (Makefile.am): Augment lib_SOURCES.
9691         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
9692
9693 2011-05-23  Bruno Haible  <bruno@clisp.org>
9694
9695         dirent-safer: Move AC_LIBOBJ invocations to module description.
9696         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
9697         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
9698
9699 2011-05-23  Bruno Haible  <bruno@clisp.org>
9700
9701         crypto/des: Move AC_LIBOBJ invocations to module description.
9702         * m4/des.m4: Remove file.
9703         * modules/crypto/des (Files): Remove it.
9704         (configure.ac): Remove gl_DES call.
9705         (Makefile.am): Augment lib_SOURCES.
9706
9707 2011-05-23  Bruno Haible  <bruno@clisp.org>
9708
9709         cycle-check: Move AC_LIBOBJ invocations to module description.
9710         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
9711         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
9712
9713 2011-05-23  Bruno Haible  <bruno@clisp.org>
9714
9715         c-strtold: Move AC_LIBOBJ invocations to module description.
9716         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
9717         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
9718
9719 2011-05-23  Bruno Haible  <bruno@clisp.org>
9720
9721         c-strtod: Move AC_LIBOBJ invocations to module description.
9722         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
9723         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
9724
9725 2011-05-23  Bruno Haible  <bruno@clisp.org>
9726
9727         crc: Move AC_LIBOBJ invocations to module description.
9728         * m4/crc.m4: Remove file.
9729         * modules/crc (Files): Remove it.
9730         (configure.ac): Remove gl_CRC call.
9731         (Makefile.am): Augment lib_SOURCES.
9732
9733 2011-05-23  Bruno Haible  <bruno@clisp.org>
9734
9735         close-stream: Move AC_LIBOBJ invocations to module description.
9736         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
9737         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
9738
9739 2011-05-23  Bruno Haible  <bruno@clisp.org>
9740
9741         closeout: Move AC_LIBOBJ invocations to module description.
9742         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
9743         * modules/closeout (Makefile.am): Augment lib_SOURCES.
9744
9745 2011-05-23  Bruno Haible  <bruno@clisp.org>
9746
9747         closein: Move AC_LIBOBJ invocations to module description.
9748         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
9749         * modules/closein (Makefile.am): Augment lib_SOURCES.
9750
9751 2011-05-23  Bruno Haible  <bruno@clisp.org>
9752
9753         cloexec: Move AC_LIBOBJ invocations to module description.
9754         * m4/cloexec.m4: Remove file.
9755         * modules/cloexec (Files): Remove it.
9756         (configure.ac): Remove gl_CLOEXEC call.
9757         (Makefile.am): Augment lib_SOURCES.
9758
9759 2011-05-23  Bruno Haible  <bruno@clisp.org>
9760
9761         check-version: Move AC_LIBOBJ invocations to module description.
9762         * m4/check-version.m4: Remove file.
9763         * modules/check-version (Files): Remove it.
9764         (configure.ac): Remove gl_CHECK_VERSION call.
9765         (Makefile.am): Augment lib_SOURCES.
9766
9767 2011-05-23  Bruno Haible  <bruno@clisp.org>
9768
9769         chdir-safer: Move AC_LIBOBJ invocations to module description.
9770         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
9771         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
9772
9773 2011-05-23  Bruno Haible  <bruno@clisp.org>
9774
9775         canonicalize: Move AC_LIBOBJ invocations to module description.
9776         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
9777         AC_LIBOBJ invocation.
9778         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
9779
9780 2011-05-23  Bruno Haible  <bruno@clisp.org>
9781
9782         canon-host: Move AC_LIBOBJ invocations to module description.
9783         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
9784         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
9785         instead of gl_CANON_HOST.
9786         (Makefile.am): Augment lib_SOURCES.
9787
9788 2011-05-23  Bruno Haible  <bruno@clisp.org>
9789
9790         backupfile: Move AC_LIBOBJ invocations to module description.
9791         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
9792         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
9793
9794 2011-05-23  Bruno Haible  <bruno@clisp.org>
9795
9796         argmatch: Move AC_LIBOBJ invocations to module description.
9797         * m4/argmatch.m4: Remove file.
9798         * modules/argmatch (Files): Remove it.
9799         (configure.ac): Remove gl_ARGMATCH call.
9800         (Makefile.am): Augment lib_SOURCES.
9801
9802 2011-05-23  Bruno Haible  <bruno@clisp.org>
9803
9804         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
9805         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
9806         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
9807
9808 2011-05-23  Bruno Haible  <bruno@clisp.org>
9809
9810         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
9811         * m4/arcfour.m4: Remove file.
9812         * modules/crypto/arcfour (Files): Remove it.
9813         (configure.ac): Remove gl_ARCFOUR call.
9814         (Makefile.am): Augment lib_SOURCES.
9815
9816 2011-05-22  Bruno Haible  <bruno@clisp.org>
9817
9818         write: Move AC_LIBOBJ invocations to module description.
9819         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
9820         * modules/write (configure.ac): ... to here.
9821
9822 2011-05-22  Bruno Haible  <bruno@clisp.org>
9823
9824         wmemset: Move AC_LIBOBJ invocations to module description.
9825         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
9826         here...
9827         * modules/wmemset (configure.ac): ... to here.
9828
9829 2011-05-22  Bruno Haible  <bruno@clisp.org>
9830
9831         wmemmove: Move AC_LIBOBJ invocations to module description.
9832         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
9833         here...
9834         * modules/wmemmove (configure.ac): ... to here.
9835
9836 2011-05-22  Bruno Haible  <bruno@clisp.org>
9837
9838         wmemcpy: Move AC_LIBOBJ invocations to module description.
9839         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
9840         here...
9841         * modules/wmemcpy (configure.ac): ... to here.
9842
9843 2011-05-22  Bruno Haible  <bruno@clisp.org>
9844
9845         wmemcmp: Move AC_LIBOBJ invocations to module description.
9846         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
9847         here...
9848         * modules/wmemcmp (configure.ac): ... to here.
9849
9850 2011-05-22  Bruno Haible  <bruno@clisp.org>
9851
9852         wmemchr: Move AC_LIBOBJ invocations to module description.
9853         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
9854         here...
9855         * modules/wmemchr (configure.ac): ... to here.
9856
9857 2011-05-22  Bruno Haible  <bruno@clisp.org>
9858
9859         wcswidth: Move AC_LIBOBJ invocations to module description.
9860         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
9861         here...
9862         * modules/wcswidth (configure.ac): ... to here.
9863
9864 2011-05-22  Bruno Haible  <bruno@clisp.org>
9865
9866         wcwidth: Respect rules for use of AC_LIBOBJ.
9867         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
9868         invocation from here...
9869         * modules/wcwidth (configure.ac): ... to here.
9870         (Depends-on): Update conditions.
9871
9872 2011-05-22  Bruno Haible  <bruno@clisp.org>
9873
9874         wctype: Move AC_LIBOBJ invocations to module description.
9875         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
9876         invocation from here...
9877         * modules/wctype (configure.ac): ... to here.
9878         (Depends-on): Update conditions.
9879
9880 2011-05-22  Bruno Haible  <bruno@clisp.org>
9881
9882         wctrans: Move AC_LIBOBJ invocations to module description.
9883         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
9884         invocation from here...
9885         * modules/wctrans (configure.ac): ... to here.
9886
9887 2011-05-22  Bruno Haible  <bruno@clisp.org>
9888
9889         wctomb: Move AC_LIBOBJ invocations to module description.
9890         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
9891         invocations from here...
9892         * modules/wctomb (configure.ac): ... to here.
9893
9894 2011-05-22  Bruno Haible  <bruno@clisp.org>
9895
9896         wctob: Move AC_LIBOBJ invocations to module description.
9897         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
9898         gl_PREREQ_WCTOB invocations from here...
9899         * modules/wctob (configure.ac): ... to here.
9900         (Depends-on): Update conditions.
9901
9902 2011-05-22  Bruno Haible  <bruno@clisp.org>
9903
9904         wcsxfrm: Move AC_LIBOBJ invocations to module description.
9905         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
9906         here...
9907         * modules/wcsxfrm (configure.ac): ... to here.
9908
9909 2011-05-22  Bruno Haible  <bruno@clisp.org>
9910
9911         wcstok: Move AC_LIBOBJ invocations to module description.
9912         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
9913         * modules/wcstok (configure.ac): ... to here.
9914
9915 2011-05-22  Bruno Haible  <bruno@clisp.org>
9916
9917         wcsstr: Move AC_LIBOBJ invocations to module description.
9918         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
9919         * modules/wcsstr (configure.ac): ... to here.
9920
9921 2011-05-22  Bruno Haible  <bruno@clisp.org>
9922
9923         wcsspn: Move AC_LIBOBJ invocations to module description.
9924         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
9925         * modules/wcsspn (configure.ac): ... to here.
9926
9927 2011-05-22  Bruno Haible  <bruno@clisp.org>
9928
9929         wcsrtombs: Move AC_LIBOBJ invocations to module description.
9930         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
9931         gl_PREREQ_WCSRTOMBS invocations from here...
9932         * modules/wcsrtombs (configure.ac): ... to here.
9933
9934 2011-05-22  Bruno Haible  <bruno@clisp.org>
9935
9936         wcsrchr: Move AC_LIBOBJ invocations to module description.
9937         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
9938         here...
9939         * modules/wcsrchr (configure.ac): ... to here.
9940
9941 2011-05-22  Bruno Haible  <bruno@clisp.org>
9942
9943         wcspbrk: Move AC_LIBOBJ invocations to module description.
9944         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
9945         here...
9946         * modules/wcspbrk (configure.ac): ... to here.
9947
9948 2011-05-22  Bruno Haible  <bruno@clisp.org>
9949
9950         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
9951         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
9952         gl_PREREQ_WCSNRTOMBS invocations from here...
9953         * modules/wcsnrtombs (configure.ac): ... to here.
9954
9955 2011-05-22  Bruno Haible  <bruno@clisp.org>
9956
9957         wcsnlen: Move AC_LIBOBJ invocations to module description.
9958         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
9959         here...
9960         * modules/wcsnlen (configure.ac): ... to here.
9961
9962 2011-05-22  Bruno Haible  <bruno@clisp.org>
9963
9964         wcsncpy: Move AC_LIBOBJ invocations to module description.
9965         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
9966         here...
9967         * modules/wcsncpy (configure.ac): ... to here.
9968
9969 2011-05-22  Bruno Haible  <bruno@clisp.org>
9970
9971         wcsncmp: Move AC_LIBOBJ invocations to module description.
9972         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
9973         here...
9974         * modules/wcsncmp (configure.ac): ... to here.
9975
9976 2011-05-22  Bruno Haible  <bruno@clisp.org>
9977
9978         wcsncat: Move AC_LIBOBJ invocations to module description.
9979         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
9980         here...
9981         * modules/wcsncat (configure.ac): ... to here.
9982
9983 2011-05-22  Bruno Haible  <bruno@clisp.org>
9984
9985         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
9986         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
9987         from here...
9988         * modules/wcsncasecmp (configure.ac): ... to here.
9989
9990 2011-05-22  Bruno Haible  <bruno@clisp.org>
9991
9992         wcslen: Move AC_LIBOBJ invocations to module description.
9993         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
9994         * modules/wcslen (configure.ac): ... to here.
9995
9996 2011-05-22  Bruno Haible  <bruno@clisp.org>
9997
9998         wcsdup: Move AC_LIBOBJ invocations to module description.
9999         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
10000         * modules/wcsdup (configure.ac): ... to here.
10001
10002 2011-05-22  Bruno Haible  <bruno@clisp.org>
10003
10004         wcscspn: Move AC_LIBOBJ invocations to module description.
10005         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
10006         here...
10007         * modules/wcscspn (configure.ac): ... to here.
10008
10009 2011-05-22  Bruno Haible  <bruno@clisp.org>
10010
10011         wcscpy: Move AC_LIBOBJ invocations to module description.
10012         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
10013         * modules/wcscpy (configure.ac): ... to here.
10014
10015 2011-05-22  Bruno Haible  <bruno@clisp.org>
10016
10017         wcscoll: Move AC_LIBOBJ invocations to module description.
10018         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
10019         here...
10020         * modules/wcscoll (configure.ac): ... to here.
10021
10022 2011-05-22  Bruno Haible  <bruno@clisp.org>
10023
10024         wcscmp: Move AC_LIBOBJ invocations to module description.
10025         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
10026         * modules/wcscmp (configure.ac): ... to here.
10027
10028 2011-05-22  Bruno Haible  <bruno@clisp.org>
10029
10030         wcschr: Move AC_LIBOBJ invocations to module description.
10031         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
10032         * modules/wcschr (configure.ac): ... to here.
10033
10034 2011-05-22  Bruno Haible  <bruno@clisp.org>
10035
10036         wcscat: Move AC_LIBOBJ invocations to module description.
10037         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
10038         * modules/wcscat (configure.ac): ... to here.
10039
10040 2011-05-22  Bruno Haible  <bruno@clisp.org>
10041
10042         wcscasecmp: Move AC_LIBOBJ invocations to module description.
10043         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
10044         here...
10045         * modules/wcscasecmp (configure.ac): ... to here.
10046
10047 2011-05-22  Bruno Haible  <bruno@clisp.org>
10048
10049         wcrtomb: Move AC_LIBOBJ invocations to module description.
10050         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
10051         invocations from here...
10052         * modules/wcrtomb (configure.ac): ... to here.
10053
10054 2011-05-22  Bruno Haible  <bruno@clisp.org>
10055
10056         wcpncpy: Move AC_LIBOBJ invocations to module description.
10057         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
10058         here...
10059         * modules/wcpncpy (configure.ac): ... to here.
10060
10061 2011-05-22  Bruno Haible  <bruno@clisp.org>
10062
10063         wcpcpy: Move AC_LIBOBJ invocations to module description.
10064         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
10065         * modules/wcpcpy (configure.ac): ... to here.
10066
10067 2011-05-22  Bruno Haible  <bruno@clisp.org>
10068
10069         waitpid: Move AC_LIBOBJ invocations to module description.
10070         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
10071         invocation from here...
10072         * modules/waitpid (configure.ac): ... to here.
10073
10074 2011-05-22  Bruno Haible  <bruno@clisp.org>
10075
10076         utimensat: Move AC_LIBOBJ invocations to module description.
10077         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
10078         here...
10079         * modules/utimensat (configure.ac): ... to here.
10080
10081 2011-05-22  Bruno Haible  <bruno@clisp.org>
10082
10083         usleep: Move AC_LIBOBJ invocations to module description.
10084         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
10085         here...
10086         * modules/usleep (configure.ac): ... to here.
10087
10088 2011-05-22  Bruno Haible  <bruno@clisp.org>
10089
10090         unlockpt: Move AC_LIBOBJ invocations to module description.
10091         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
10092         gl_PREREQ_UNLOCKPT invocations from here...
10093         * modules/unlockpt (configure.ac): ... to here.
10094
10095 2011-05-22  Bruno Haible  <bruno@clisp.org>
10096
10097         unlink: Respect rules for use of AC_LIBOBJ.
10098         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
10099         * modules/unlink (configure.ac): ... to here.
10100
10101 2011-05-22  Bruno Haible  <bruno@clisp.org>
10102
10103         uname: Move AC_LIBOBJ invocations to module description.
10104         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
10105         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
10106         here...
10107         * modules/uname (configure.ac): ... to here.
10108
10109 2011-05-22  Bruno Haible  <bruno@clisp.org>
10110
10111         ttyname_r: Move AC_LIBOBJ invocations to module description.
10112         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
10113         gl_PREREQ_TTYNAME_R invocations from here...
10114         * modules/ttyname_r (configure.ac): ... to here.
10115
10116 2011-05-22  Bruno Haible  <bruno@clisp.org>
10117
10118         tsearch: Move AC_LIBOBJ invocations to module description.
10119         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
10120         invocations from here...
10121         * modules/tsearch (configure.ac): ... to here.
10122
10123 2011-05-22  Bruno Haible  <bruno@clisp.org>
10124
10125         towctrans: Move AC_LIBOBJ invocations to module description.
10126         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
10127         AC_LIBOBJ invocation from here...
10128         * modules/towctrans (configure.ac): ... to here.
10129
10130 2011-05-22  Bruno Haible  <bruno@clisp.org>
10131
10132         tmpfile: Move AC_LIBOBJ invocations to module description.
10133         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
10134         invocations from here...
10135         * modules/tmpfile (configure.ac): ... to here.
10136
10137 2011-05-22  Bruno Haible  <bruno@clisp.org>
10138
10139         times: Move AC_LIBOBJ invocations to module description.
10140         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
10141         * modules/times (configure.ac): ... to here.
10142
10143 2011-05-22  Bruno Haible  <bruno@clisp.org>
10144
10145         time_r: Move AC_LIBOBJ invocations to module description.
10146         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
10147         invocations from here...
10148         * modules/time_r (configure.ac): ... to here.
10149
10150 2011-05-22  Bruno Haible  <bruno@clisp.org>
10151
10152         timegm: Move AC_LIBOBJ invocations to module description.
10153         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
10154         invocations from here...
10155         * modules/timegm (configure.ac): ... to here.
10156
10157 2011-05-22  Bruno Haible  <bruno@clisp.org>
10158
10159         tcgetsid: Move AC_LIBOBJ invocations to module description.
10160         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
10161         and gl_PREREQ_TCGETSID invocations from here...
10162         * modules/tcgetsid (configure.ac): ... to here.
10163         (Depends-on): Update conditions.
10164
10165 2011-05-22  Bruno Haible  <bruno@clisp.org>
10166
10167         symlinkat: Move AC_LIBOBJ invocations to module description.
10168         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
10169         here...
10170         * modules/symlinkat (configure.ac): ... to here.
10171
10172 2011-05-22  Bruno Haible  <bruno@clisp.org>
10173
10174         symlink: Move AC_LIBOBJ invocations to module description.
10175         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
10176         here...
10177         * modules/symlink (configure.ac): ... to here.
10178
10179 2011-05-22  Bruno Haible  <bruno@clisp.org>
10180
10181         strverscmp: Move AC_LIBOBJ invocations to module description.
10182         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
10183         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
10184         from here...
10185         * modules/strverscmp (configure.ac): ... to here.
10186
10187 2011-05-22  Bruno Haible  <bruno@clisp.org>
10188
10189         strtok_r: Move AC_LIBOBJ invocations to module description.
10190         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
10191         and gl_PREREQ_STRTOK_R invocations from here...
10192         * modules/strtok_r (configure.ac): ... to here.
10193         (Depends-on): Update conditions.
10194
10195 2011-05-22  Bruno Haible  <bruno@clisp.org>
10196
10197         strtoumax: Move AC_LIBOBJ invocations to module description.
10198         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
10199         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
10200         from here...
10201         * modules/strtoumax (configure.ac): ... to here.
10202
10203 2011-05-22  Bruno Haible  <bruno@clisp.org>
10204
10205         strtoimax: Move AC_LIBOBJ invocations to module description.
10206         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
10207         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
10208         from here...
10209         * modules/strtoimax (configure.ac): ... to here.
10210
10211 2011-05-22  Bruno Haible  <bruno@clisp.org>
10212
10213         strtoull: Move AC_LIBOBJ invocations to module description.
10214         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
10215         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
10216         from here...
10217         * modules/strtoull (configure.ac): ... to here.
10218
10219 2011-05-22  Bruno Haible  <bruno@clisp.org>
10220
10221         strtoll: Move AC_LIBOBJ invocations to module description.
10222         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
10223         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
10224         here...
10225         * modules/strtoll (configure.ac): ... to here.
10226
10227 2011-05-22  Bruno Haible  <bruno@clisp.org>
10228
10229         strtoul: Move AC_LIBOBJ invocations to module description.
10230         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
10231         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
10232         * modules/strtoul (configure.ac): ... to here.
10233
10234 2011-05-22  Bruno Haible  <bruno@clisp.org>
10235
10236         strtol: Move AC_LIBOBJ invocations to module description.
10237         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
10238         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
10239         * modules/strtol (configure.ac): ... to here.
10240
10241 2011-05-22  Bruno Haible  <bruno@clisp.org>
10242
10243         strtod: Move AC_LIBOBJ invocations to module description.
10244         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
10245         invocations from here...
10246         * modules/strtod (configure.ac): ... to here.
10247
10248 2011-05-22  Bruno Haible  <bruno@clisp.org>
10249
10250         strstr*: Move AC_LIBOBJ invocations to module description.
10251         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
10252         invocations from here...
10253         * modules/strstr-simple (configure.ac): ... to here.
10254         * modules/strstr (configure.ac): ... and here.
10255
10256 2011-05-22  Bruno Haible  <bruno@clisp.org>
10257
10258         strsignal: Move AC_LIBOBJ invocations to module description.
10259         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
10260         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
10261         * modules/strsignal (configure.ac): ... to here.
10262         (Depends-on): Update conditions.
10263
10264 2011-05-22  Bruno Haible  <bruno@clisp.org>
10265
10266         strsep: Move AC_LIBOBJ invocations to module description.
10267         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
10268         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
10269         here...
10270         * modules/strsep (configure.ac): ... to here.
10271
10272 2011-05-22  Bruno Haible  <bruno@clisp.org>
10273
10274         strptime: Move AC_LIBOBJ invocations to module description.
10275         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
10276         gl_PREREQ_STRPTIME invocations from here...
10277         * modules/strptime (configure.ac): ... to here.
10278
10279 2011-05-22  Bruno Haible  <bruno@clisp.org>
10280
10281         strpbrk: Move AC_LIBOBJ invocations to module description.
10282         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
10283         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
10284         here...
10285         * modules/strpbrk (configure.ac): ... to here.
10286
10287 2011-05-22  Bruno Haible  <bruno@clisp.org>
10288
10289         strnlen: Move AC_LIBOBJ invocations to module description.
10290         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
10291         invocations from here...
10292         * modules/strnlen (configure.ac): ... to here.
10293
10294 2011-05-22  Bruno Haible  <bruno@clisp.org>
10295
10296         strndup: Move AC_LIBOBJ invocations to module description.
10297         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
10298         invocations from here...
10299         * modules/strndup (configure.ac): ... to here.
10300         (Depends-on): Update conditions.
10301
10302 2011-05-22  Bruno Haible  <bruno@clisp.org>
10303
10304         strncat: Move AC_LIBOBJ invocations to module description.
10305         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
10306         invocations from here...
10307         * modules/strncat (configure.ac): ... to here.
10308
10309 2011-05-22  Bruno Haible  <bruno@clisp.org>
10310
10311         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
10312         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
10313         invocations from here...
10314         * modules/strdup (configure.ac): ... to here.
10315         * modules/strdup-posix (configure.ac): ... and here.
10316
10317 2011-05-22  Bruno Haible  <bruno@clisp.org>
10318
10319         strcspn: Move AC_LIBOBJ invocations to module description.
10320         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
10321         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
10322         here...
10323         * modules/strcspn (configure.ac): ... to here.
10324
10325 2011-05-22  Bruno Haible  <bruno@clisp.org>
10326
10327         strchrnul: Move AC_LIBOBJ invocations to module description.
10328         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
10329         gl_PREREQ_STRCHRNUL invocations from here...
10330         * modules/strchrnul (configure.ac): ... to here.
10331
10332 2011-05-22  Bruno Haible  <bruno@clisp.org>
10333
10334         strcasestr*: Move AC_LIBOBJ invocations to module description.
10335         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
10336         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
10337         * modules/strcasestr-simple (configure.ac): ... to here.
10338         * modules/strcasestr (configure.ac): ... and here.
10339
10340 2011-05-22  Bruno Haible  <bruno@clisp.org>
10341
10342         strcase: Move AC_LIBOBJ invocations to module description.
10343         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
10344         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
10345         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
10346         gl_PREREQ_STRNCASECMP invocations from here...
10347         * modules/strcase (configure.ac): ... to here.
10348
10349 2011-05-22  Bruno Haible  <bruno@clisp.org>
10350
10351         stpncpy: Move AC_LIBOBJ invocations to module description.
10352         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
10353         here...
10354         * modules/stpncpy (configure.ac): ... to here.
10355
10356 2011-05-22  Bruno Haible  <bruno@clisp.org>
10357
10358         stpcpy: Move AC_LIBOBJ invocations to module description.
10359         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
10360         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
10361         here...
10362         * modules/stpcpy (configure.ac): ... to here.
10363
10364 2011-05-21  Bruno Haible  <bruno@clisp.org>
10365
10366         stat: Move AC_LIBOBJ invocations to module description.
10367         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
10368         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
10369         here...
10370         * modules/stat (configure.ac): ... to here.
10371
10372 2011-05-21  Bruno Haible  <bruno@clisp.org>
10373
10374         sleep: Move AC_LIBOBJ invocations to module description.
10375         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
10376         * modules/sleep (configure.ac): ... to here.
10377
10378 2011-05-21  Bruno Haible  <bruno@clisp.org>
10379
10380         signbit: Move AC_LIBOBJ invocations to module description.
10381         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
10382         * modules/signbit (configure.ac): ... to here.
10383
10384 2011-05-21  Bruno Haible  <bruno@clisp.org>
10385
10386         sigprocmask: Move AC_LIBOBJ invocations to module description.
10387         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
10388         gl_PREREQ_SIGPROMASK invocations from here...
10389         * modules/sigprocmask (configure.ac): ... to here.
10390
10391 2011-05-21  Bruno Haible  <bruno@clisp.org>
10392
10393         sigaction: Move AC_LIBOBJ invocations to module description.
10394         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
10395         gl_PREREQ_SIGACTION invocations from here...
10396         * modules/sigaction (configure.ac): ... to here.
10397
10398 2011-05-21  Bruno Haible  <bruno@clisp.org>
10399
10400         sig2str: Move AC_LIBOBJ invocations to module description.
10401         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
10402         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
10403         here...
10404         * modules/sig2str (configure.ac): ... to here.
10405
10406 2011-05-21  Bruno Haible  <bruno@clisp.org>
10407
10408         setlocale: Move AC_LIBOBJ invocations to module description.
10409         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
10410         gl_PREREQ_SETLOCALE invocations from here...
10411         * modules/setlocale (configure.ac): ... to here.
10412
10413 2011-05-21  Bruno Haible  <bruno@clisp.org>
10414
10415         unsetenv: Move AC_LIBOBJ invocations to module description.
10416         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
10417         and gl_PREREQ_UNSETENV invocations from here...
10418         * modules/unsetenv (configure.ac): ... to here.
10419         (Depends-on): Update.
10420
10421 2011-05-21  Bruno Haible  <bruno@clisp.org>
10422
10423         setenv: Move AC_LIBOBJ invocations to module description.
10424         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
10425         here...
10426         * modules/setenv (configure.ac): ... to here.
10427
10428 2011-05-21  Bruno Haible  <bruno@clisp.org>
10429
10430         selinux-h: Move AC_LIBOBJ invocations to module description.
10431         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
10432         AC_LIBOBJ invocation from here...
10433         * modules/selinux-h (configure.ac): ... to here.
10434
10435 2011-05-21  Bruno Haible  <bruno@clisp.org>
10436
10437         select: Respect rules for use of AC_LIBOBJ.
10438         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
10439         here...
10440         * modules/select (configure.ac): ... to here.
10441
10442 2011-05-21  Bruno Haible  <bruno@clisp.org>
10443
10444         scandir: Move AC_LIBOBJ invocations to module description.
10445         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
10446         invocations from here...
10447         * modules/scandir (configure.ac): ... to here.
10448
10449 2011-05-21  Bruno Haible  <bruno@clisp.org>
10450
10451         rpmatch: Move AC_LIBOBJ invocations to module description.
10452         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
10453         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
10454         here...
10455         * modules/rpmatch (configure.ac): ... to here.
10456
10457 2011-05-21  Bruno Haible  <bruno@clisp.org>
10458
10459         rmdir: Respect rules for use of AC_LIBOBJ.
10460         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
10461         * modules/rmdir (configure.ac): ... to here.
10462
10463 2011-05-21  Bruno Haible  <bruno@clisp.org>
10464
10465         renameat: Move AC_LIBOBJ invocations to module description.
10466         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
10467         here...
10468         * modules/renameat (configure.ac): ... to here.
10469
10470 2011-05-21  Bruno Haible  <bruno@clisp.org>
10471
10472         rename: Respect rules for use of AC_LIBOBJ.
10473         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
10474         here...
10475         * modules/rename (configure.ac): ... to here.
10476
10477 2011-05-21  Bruno Haible  <bruno@clisp.org>
10478
10479         remove: Move AC_LIBOBJ invocations to module description.
10480         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
10481         here...
10482         * modules/remove (configure.ac): ... to here.
10483
10484 2011-05-21  Bruno Haible  <bruno@clisp.org>
10485
10486         relocatable-lib: Move AC_LIBOBJ invocations to module description.
10487         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
10488         macro.
10489         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
10490         * modules/relocatable-lib (configure.ac): ... to here.
10491         * modules/relocatable-prog-wrapper (configure.ac): Invoke
10492         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
10493
10494 2011-05-21  Bruno Haible  <bruno@clisp.org>
10495
10496         relocatable-prog: Move AC_LIBOBJ invocations to module description.
10497         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
10498         here...
10499         * modules/relocatable-prog (configure.ac): ... to here.
10500
10501 2011-05-21  Bruno Haible  <bruno@clisp.org>
10502
10503         regex: Move AC_LIBOBJ invocations to module description.
10504         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
10505         invocations from here...
10506         * modules/regex (configure.ac): ... to here.
10507
10508 2011-05-21  Bruno Haible  <bruno@clisp.org>
10509
10510         realloc-*: Move AC_LIBOBJ invocations to module description.
10511         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
10512         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
10513         AC_LIBOBJ invocations from here...
10514         * modules/realloc-gnu (configure.ac): ... to here.
10515         * modules/realloc-posix (configure.ac): ... and here.
10516
10517 2011-05-21  Bruno Haible  <bruno@clisp.org>
10518
10519         readutmp: Move AC_LIBOBJ invocations to module description.
10520         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
10521         * modules/readutmp (configure.ac): ... to here.
10522
10523 2011-05-21  Bruno Haible  <bruno@clisp.org>
10524
10525         readlinkat: Move AC_LIBOBJ invocations to module description.
10526         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
10527         here...
10528         * modules/readlinkat (configure.ac): ... to here.
10529
10530 2011-05-21  Bruno Haible  <bruno@clisp.org>
10531
10532         readlink: Move AC_LIBOBJ invocations to module description.
10533         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
10534         gl_PREREQ_READLINK invocations from here...
10535         * modules/readlink (configure.ac): ... to here.
10536
10537 2011-05-21  Bruno Haible  <bruno@clisp.org>
10538
10539         readline: Move AC_LIBOBJ invocations to module description.
10540         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
10541         gl_PREREQ_READLINE invocations from here...
10542         * modules/readline (configure.ac): ... to here.
10543
10544 2011-05-21  Bruno Haible  <bruno@clisp.org>
10545
10546         read: Move AC_LIBOBJ invocations to module description.
10547         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
10548         * modules/read (configure.ac): ... to here.
10549
10550 2011-05-21  Bruno Haible  <bruno@clisp.org>
10551
10552         rawmemchr: Move AC_LIBOBJ invocations to module description.
10553         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
10554         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
10555         from here...
10556         * modules/rawmemchr (configure.ac): ... to here.
10557
10558 2011-05-21  Bruno Haible  <bruno@clisp.org>
10559
10560         random_r: Move AC_LIBOBJ invocations to module description.
10561         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
10562         gl_PREREQ_RANDOM_R invocations from here...
10563         * modules/random_r (configure.ac): ... to here.
10564
10565 2011-05-21  Bruno Haible  <bruno@clisp.org>
10566
10567         pwrite: Move AC_LIBOBJ invocations to module description.
10568         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
10569         * modules/pwrite (configure.ac): ... to here.
10570
10571 2011-05-21  Bruno Haible  <bruno@clisp.org>
10572
10573         putenv: Move AC_LIBOBJ invocations to module description.
10574         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
10575         * modules/putenv (configure.ac): ... to here.
10576
10577 2011-05-21  Bruno Haible  <bruno@clisp.org>
10578
10579         login_tty: Move AC_LIBOBJ invocations to module description.
10580         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
10581         * modules/login_tty (configure.ac): ... to here.
10582
10583 2011-05-21  Bruno Haible  <bruno@clisp.org>
10584
10585         openpty: Move AC_LIBOBJ invocations to module description.
10586         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
10587         * modules/openpty (configure.ac): ... to here.
10588
10589 2011-05-21  Bruno Haible  <bruno@clisp.org>
10590
10591         forkpty: Move AC_LIBOBJ invocations to module description.
10592         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
10593         * modules/forkpty (configure.ac): ... to here.
10594
10595 2011-05-21  Bruno Haible  <bruno@clisp.org>
10596
10597         ptsname: Move AC_LIBOBJ invocations to module description.
10598         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
10599         invocations from here...
10600         * modules/ptsname (configure.ac): ... to here.
10601
10602 2011-05-21  Bruno Haible  <bruno@clisp.org>
10603
10604         pread: Move AC_LIBOBJ invocations to module description.
10605         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
10606         * modules/pread (configure.ac): ... to here.
10607
10608 2011-05-21  Bruno Haible  <bruno@clisp.org>
10609
10610         posix_spawn*: Move AC_LIBOBJ invocations to module description.
10611         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
10612         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
10613         * modules/posix_spawn (configure.ac): ... to here.
10614         * modules/posix_spawnp (configure.ac): ... and here.
10615
10616 2011-05-21  Bruno Haible  <bruno@clisp.org>
10617
10618         popen: Move AC_LIBOBJ invocations to module description.
10619         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
10620         invocations from here...
10621         * modules/popen (configure.ac): ... to here.
10622
10623 2011-05-21  Bruno Haible  <bruno@clisp.org>
10624
10625         poll: Move AC_LIBOBJ invocations to module description.
10626         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
10627         invocations from here...
10628         * modules/poll (configure.ac): ... to here.
10629
10630 2011-05-21  Bruno Haible  <bruno@clisp.org>
10631
10632         pipe-posix: Move AC_LIBOBJ invocations to module description.
10633         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
10634         * modules/pipe-posix (configure.ac): ... to here.
10635
10636 2011-05-21  Bruno Haible  <bruno@clisp.org>
10637
10638         openat: Respect rules for use of AC_LIBOBJ.
10639         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
10640         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
10641         * modules/openat (configure.ac): ... to here.
10642
10643 2011-05-21  Bruno Haible  <bruno@clisp.org>
10644
10645         obstack-printf*: Move AC_LIBOBJ invocations to module description.
10646         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
10647         invocation from here...
10648         * modules/obstack-printf (configure.ac): ... to here.
10649         * modules/obstack-printf-posix (configure.ac): ... and here.
10650
10651 2011-05-21  Bruno Haible  <bruno@clisp.org>
10652
10653         nl_langinfo: Move AC_LIBOBJ invocations to module description.
10654         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
10655         from here...
10656         * modules/nl_langinfo (configure.ac): ... to here.
10657
10658 2011-05-21  Bruno Haible  <bruno@clisp.org>
10659
10660         nanosleep: Move AC_LIBOBJ invocations to module description.
10661         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
10662         gl_PREREQ_NANOSLEEP invocations from here...
10663         * modules/nanosleep (configure.ac): ... to here.
10664
10665 2011-05-21  Bruno Haible  <bruno@clisp.org>
10666
10667         mountlist: Move AC_LIBOBJ invocations to module description.
10668         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
10669         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
10670         * modules/mountlist (configure.ac): ... to here.
10671
10672 2011-05-21  Bruno Haible  <bruno@clisp.org>
10673
10674         mktime: Respect rules for use of AC_LIBOBJ.
10675         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
10676         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
10677         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
10678         (gl_FUNC_MKTIME_INTERNAL): ... and here...
10679         * modules/mktime (configure.ac): ... to here.
10680         * modules/mktime-internal (configure.ac): ... and here.
10681         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
10682
10683 2011-05-21  Bruno Haible  <bruno@clisp.org>
10684
10685         mkstemps: Move AC_LIBOBJ invocations to module description.
10686         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
10687         here...
10688         * modules/mkstemps (configure.ac): ... to here.
10689
10690 2011-05-21  Bruno Haible  <bruno@clisp.org>
10691
10692         mkstemp: Move AC_LIBOBJ invocations to module description.
10693         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
10694         gl_PREREQ_MKSTEMP invocations from here...
10695         * modules/mkstemp (configure.ac): ... to here.
10696
10697 2011-05-21  Bruno Haible  <bruno@clisp.org>
10698
10699         mkostemps: Move AC_LIBOBJ invocations to module description.
10700         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
10701         here...
10702         * modules/mkostemps (configure.ac): ... to here.
10703
10704 2011-05-21  Bruno Haible  <bruno@clisp.org>
10705
10706         mkostemp: Move AC_LIBOBJ invocations to module description.
10707         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
10708         gl_PREREQ_MKOSTEMP invocations from here...
10709         * modules/mkostemp (configure.ac): ... to here.
10710
10711 2011-05-21  Bruno Haible  <bruno@clisp.org>
10712
10713         mknod: Move AC_LIBOBJ invocations to module description.
10714         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
10715         * modules/mknod (configure.ac): ... to here.
10716
10717 2011-05-21  Bruno Haible  <bruno@clisp.org>
10718
10719         mkfifoat: Move AC_LIBOBJ invocations to module description.
10720         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
10721         here...
10722         * modules/mkfifoat (configure.ac): ... to here.
10723
10724 2011-05-21  Bruno Haible  <bruno@clisp.org>
10725
10726         mkfifo: Respect rules for use of AC_LIBOBJ.
10727         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
10728         here...
10729         * modules/mkfifo (configure.ac): ... to here.
10730
10731 2011-05-21  Bruno Haible  <bruno@clisp.org>
10732
10733         mkdtemp: Move AC_LIBOBJ invocations to module description.
10734         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
10735         invocations from here...
10736         * modules/mkdtemp (configure.ac): ... to here.
10737
10738 2011-05-21  Bruno Haible  <bruno@clisp.org>
10739
10740         mkdir: Move AC_LIBOBJ invocations to module description.
10741         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
10742         * modules/mkdir (configure.ac): ... to here.
10743
10744 2011-05-21  Bruno Haible  <bruno@clisp.org>
10745
10746         memset: Move AC_LIBOBJ invocations to module description.
10747         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
10748         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
10749         here...
10750         * modules/memset (configure.ac): ... to here.
10751
10752 2011-05-21  Bruno Haible  <bruno@clisp.org>
10753
10754         memrchr: Move AC_LIBOBJ invocations to module description.
10755         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
10756         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
10757         here...
10758         * modules/memrchr (configure.ac): ... to here.
10759
10760 2011-05-21  Bruno Haible  <bruno@clisp.org>
10761
10762         mempcpy: Move AC_LIBOBJ invocations to module description.
10763         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
10764         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
10765         here...
10766         * modules/mempcpy (configure.ac): ... to here.
10767
10768 2011-05-21  Bruno Haible  <bruno@clisp.org>
10769
10770         memmove: Move AC_LIBOBJ invocations to module description.
10771         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
10772         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
10773         here...
10774         * modules/memmove (configure.ac): ... to here.
10775
10776 2011-05-21  Bruno Haible  <bruno@clisp.org>
10777
10778         memmem*: Move AC_LIBOBJ invocations to module description.
10779         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
10780         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
10781         here...
10782         (gl_FUNC_MEMMEM): ... and here...
10783         * modules/memmem-simple (configure.ac): ... to here.
10784         * modules/memmem (configure.ac): ... and here.
10785
10786 2011-05-21  Bruno Haible  <bruno@clisp.org>
10787
10788         memcpy: Move AC_LIBOBJ invocations to module description.
10789         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
10790         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
10791         here...
10792         * modules/memcpy (configure.ac): ... to here.
10793
10794 2011-05-21  Bruno Haible  <bruno@clisp.org>
10795
10796         memcmp: Simplify autoconf macro.
10797         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
10798         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
10799         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
10800
10801 2011-05-21  Bruno Haible  <bruno@clisp.org>
10802
10803         memcmp: Move AC_LIBOBJ invocations to module description.
10804         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
10805         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
10806         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
10807         * modules/memcmp (configure.ac): ... to here.
10808         (Depends-on): Update conditions.
10809
10810 2011-05-21  Bruno Haible  <bruno@clisp.org>
10811
10812         memchr: Respect rules for use of AC_LIBOBJ.
10813         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
10814         invocations from here...
10815         * modules/memchr (configure.ac): ... to here.
10816
10817 2011-05-21  Bruno Haible  <bruno@clisp.org>
10818
10819         mbtowc: Move AC_LIBOBJ invocations to module description.
10820         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
10821         invocations from here...
10822         * modules/mbtowc (configure.ac): ... to here.
10823
10824 2011-05-21  Bruno Haible  <bruno@clisp.org>
10825
10826         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
10827         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
10828         gl_PREREQ_MBSRTOWCS invocations from here...
10829         * modules/mbsrtowcs (configure.ac): ... to here.
10830
10831 2011-05-21  Bruno Haible  <bruno@clisp.org>
10832
10833         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
10834         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
10835         gl_PREREQ_MBSNRTOWCS invocations from here...
10836         * modules/mbsnrtowcs (configure.ac): ... to here.
10837
10838 2011-05-21  Bruno Haible  <bruno@clisp.org>
10839
10840         mbsinit: Move AC_LIBOBJ invocations to module description.
10841         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
10842         invocations from here...
10843         * modules/mbsinit (configure.ac): ... to here.
10844
10845 2011-05-21  Bruno Haible  <bruno@clisp.org>
10846
10847         mbrlen: Move AC_LIBOBJ invocations to module description.
10848         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
10849         invocations from here...
10850         * modules/mbrlen (configure.ac): ... to here.
10851
10852 2011-05-21  Bruno Haible  <bruno@clisp.org>
10853
10854         mbrtowc: Respect rules for use of AC_LIBOBJ.
10855         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
10856         invocations from here...
10857         * modules/mbrtowc (configure.ac): ... to here.
10858
10859 2011-05-21  Bruno Haible  <bruno@clisp.org>
10860
10861         malloc-*: Move AC_LIBOBJ invocations to module description.
10862         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
10863         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
10864         AC_LIBOBJ invocations from here...
10865         * modules/malloc-gnu (configure.ac): ... to here.
10866         * modules/malloc-posix (configure.ac): ... and here.
10867
10868 2011-05-21  Bruno Haible  <bruno@clisp.org>
10869
10870         lstat, openat: Respect rules for use of AC_LIBOBJ.
10871         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
10872         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
10873         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
10874         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
10875         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
10876         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
10877         here.
10878         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
10879
10880 2011-05-21  Bruno Haible  <bruno@clisp.org>
10881
10882         lseek: Move AC_LIBOBJ invocations to module description.
10883         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
10884         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
10885         * modules/lseek (configure.ac): ... to here.
10886
10887 2011-05-21  Bruno Haible  <bruno@clisp.org>
10888
10889         linkat: Move AC_LIBOBJ invocations to module description.
10890         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
10891         here...
10892         * modules/linkat (configure.ac): ... to here.
10893
10894 2011-05-21  Bruno Haible  <bruno@clisp.org>
10895
10896         link: Respect rules for use of AC_LIBOBJ.
10897         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
10898         * modules/link (configure.ac): ... to here.
10899
10900 2011-05-21  Bruno Haible  <bruno@clisp.org>
10901
10902         lchown: Move AC_LIBOBJ invocations to module description.
10903         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
10904         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
10905         * modules/lchown (configure.ac): ... to here.
10906
10907 2011-05-21  Bruno Haible  <bruno@clisp.org>
10908
10909         iswctype: Move AC_LIBOBJ invocations to module description.
10910         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
10911         here...
10912         * modules/iswctype (configure.ac): ... to here.
10913
10914 2011-05-21  Bruno Haible  <bruno@clisp.org>
10915
10916         iswblank: Move AC_LIBOBJ invocations to module description.
10917         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
10918         here...
10919         * modules/iswblank (configure.ac): ... to here.
10920
10921 2011-05-21  Bruno Haible  <bruno@clisp.org>
10922
10923         atanl: Move AC_LIBOBJ invocations to module description.
10924         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
10925         * modules/atanl (configure.ac): ... to here.
10926
10927 2011-05-21  Bruno Haible  <bruno@clisp.org>
10928
10929         acosl: Move AC_LIBOBJ invocations to module description.
10930         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
10931         * modules/acosl (configure.ac): ... to here.
10932
10933 2011-05-21  Bruno Haible  <bruno@clisp.org>
10934
10935         asinl: Respect rules for use of AC_LIBOBJ.
10936         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
10937         * modules/asinl (configure.ac): ... to here.
10938
10939 2011-05-21  Bruno Haible  <bruno@clisp.org>
10940
10941         tanl: Move AC_LIBOBJ invocations to module description.
10942         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
10943         * modules/tanl (configure.ac): ... to here.
10944
10945 2011-05-21  Bruno Haible  <bruno@clisp.org>
10946
10947         cosl: Move AC_LIBOBJ invocations to module description.
10948         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
10949         * modules/cosl (configure.ac): ... to here.
10950
10951 2011-05-21  Bruno Haible  <bruno@clisp.org>
10952
10953         sinl: Move AC_LIBOBJ invocations to module description.
10954         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
10955         * modules/sinl (configure.ac): ... to here.
10956
10957 2011-05-21  Bruno Haible  <bruno@clisp.org>
10958
10959         logl: Move AC_LIBOBJ invocations to module description.
10960         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
10961         * modules/logl (configure.ac): ... to here.
10962
10963 2011-05-21  Bruno Haible  <bruno@clisp.org>
10964
10965         expl: Move AC_LIBOBJ invocations to module description.
10966         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
10967         * modules/expl (configure.ac): ... to here.
10968
10969 2011-05-21  Bruno Haible  <bruno@clisp.org>
10970
10971         roundl: Move AC_LIBOBJ invocations to module description.
10972         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
10973         * modules/roundl (configure.ac): ... to here.
10974
10975 2011-05-21  Bruno Haible  <bruno@clisp.org>
10976
10977         round: Move AC_LIBOBJ invocations to module description.
10978         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
10979         * modules/round (configure.ac): ... to here.
10980
10981 2011-05-21  Bruno Haible  <bruno@clisp.org>
10982
10983         roundf: Move AC_LIBOBJ invocations to module description.
10984         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
10985         * modules/roundf (configure.ac): ... to here.
10986
10987 2011-05-21  Bruno Haible  <bruno@clisp.org>
10988
10989         truncl: Move AC_LIBOBJ invocations to module description.
10990         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
10991         * modules/truncl (configure.ac): ... to here.
10992
10993 2011-05-21  Bruno Haible  <bruno@clisp.org>
10994
10995         trunc: Move AC_LIBOBJ invocations to module description.
10996         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
10997         * modules/trunc (configure.ac): ... to here.
10998
10999 2011-05-21  Bruno Haible  <bruno@clisp.org>
11000
11001         truncf: Move AC_LIBOBJ invocations to module description.
11002         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
11003         * modules/truncf (configure.ac): ... to here.
11004
11005 2011-05-21  Bruno Haible  <bruno@clisp.org>
11006
11007         ceill: Move AC_LIBOBJ invocations to module description.
11008         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
11009         * modules/ceill (configure.ac): ... to here.
11010
11011 2011-05-21  Bruno Haible  <bruno@clisp.org>
11012
11013         ceil: Move AC_LIBOBJ invocations to module description.
11014         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
11015         * modules/ceil (configure.ac): ... to here.
11016
11017 2011-05-21  Bruno Haible  <bruno@clisp.org>
11018
11019         ceilf: Move AC_LIBOBJ invocations to module description.
11020         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
11021         * modules/ceilf (configure.ac): ... to here.
11022
11023 2011-05-21  Bruno Haible  <bruno@clisp.org>
11024
11025         floorl: Respect rules for use of AC_LIBOBJ.
11026         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
11027         * modules/floorl (configure.ac): ... to here.
11028
11029 2011-05-21  Bruno Haible  <bruno@clisp.org>
11030
11031         floor: Respect rules for use of AC_LIBOBJ.
11032         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
11033         * modules/floor (configure.ac): ... to here.
11034
11035 2011-05-21  Bruno Haible  <bruno@clisp.org>
11036
11037         floorf: Move AC_LIBOBJ invocations to module description.
11038         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
11039         * modules/floorf (configure.ac): ... to here.
11040
11041 2011-05-20  Bruno Haible  <bruno@clisp.org>
11042
11043         sqrtl: Respect rules for use of AC_LIBOBJ.
11044         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
11045         * modules/sqrtl (configure.ac): ... to here.
11046
11047 2011-05-20  Bruno Haible  <bruno@clisp.org>
11048
11049         ldexpl: Respect rules for use of AC_LIBOBJ.
11050         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
11051         * modules/ldexpl (configure.ac): ... to here.
11052
11053 2011-05-20  Bruno Haible  <bruno@clisp.org>
11054
11055         frexpl*: Respect rules for use of AC_LIBOBJ.
11056         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
11057         invocation from here...
11058         * modules/frexpl (configure.ac): ... to here.
11059         * modules/frexpl-nolibm (configure.ac): ... and here.
11060
11061 2011-05-20  Bruno Haible  <bruno@clisp.org>
11062
11063         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
11064         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
11065         invocation from here...
11066         * modules/frexp (configure.ac): ... to here.
11067         * modules/frexp-nolibm (configure.ac): ... and here.
11068
11069 2011-05-20  Bruno Haible  <bruno@clisp.org>
11070
11071         isnan: Respect rules for use of AC_LIBOBJ.
11072         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
11073         invocations here.
11074         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
11075         REPLACE_ISNAN.
11076         * modules/isnand (configure.ac): Likewise.
11077         * modules/isnanl (configure.ac): Likewise.
11078
11079 2011-05-20  Bruno Haible  <bruno@clisp.org>
11080
11081         isnanl*: Respect rules for use of AC_LIBOBJ.
11082         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
11083         invocation from here...
11084         * modules/isnanl (configure.ac): ... to here.
11085         * modules/isnanl-nolibm (configure.ac): ... and here.
11086
11087 2011-05-20  Bruno Haible  <bruno@clisp.org>
11088
11089         isnand*: Move AC_LIBOBJ invocations to module description.
11090         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
11091         invocation from here...
11092         * modules/isnand (configure.ac): ... to here.
11093         * modules/isnand-nolibm (configure.ac): ... and here.
11094
11095 2011-05-20  Bruno Haible  <bruno@clisp.org>
11096
11097         isnanf*: Move AC_LIBOBJ invocations to module description.
11098         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
11099         invocation from here...
11100         * modules/isnanf (configure.ac): ... to here.
11101         * modules/isnanf-nolibm (configure.ac): ... and here.
11102
11103 2011-05-20  Bruno Haible  <bruno@clisp.org>
11104
11105         isnan*: Separate the AC_LIBOBJ invocations.
11106         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
11107         AC_LIBOBJ invocation.
11108         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
11109         here.
11110         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
11111         AC_LIBOBJ invocation.
11112         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
11113         here.
11114         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
11115         AC_LIBOBJ invocation.
11116         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
11117         here.
11118         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
11119
11120 2011-05-08  Bruno Haible  <bruno@clisp.org>
11121
11122         isinf: Move AC_LIBOBJ invocations to module description.
11123         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
11124         * modules/isinf (configure.ac): ... to here.
11125
11126 2011-05-08  Bruno Haible  <bruno@clisp.org>
11127
11128         isfinite: Move AC_LIBOBJ invocations to module description.
11129         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
11130         * modules/isfinite (configure.ac): ... to here.
11131
11132 2011-05-08  Bruno Haible  <bruno@clisp.org>
11133
11134         isblank: Move AC_LIBOBJ invocations to module description.
11135         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
11136         here...
11137         * modules/isblank (configure.ac): ... to here.
11138
11139 2011-05-08  Bruno Haible  <bruno@clisp.org>
11140
11141         isapipe: Move AC_LIBOBJ invocations to module description.
11142         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
11143         gl_PREREQ_ISAPIPE invocations from here...
11144         * modules/isapipe (configure.ac): ... to here.
11145         (Depends-on): Update condition.
11146
11147 2011-05-08  Bruno Haible  <bruno@clisp.org>
11148
11149         ioctl: Move AC_LIBOBJ invocations to module description.
11150         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
11151         invocations from here...
11152         * modules/ioctl (configure.ac): ... to here.
11153         (Depends-on): Update condition.
11154
11155 2011-05-08  Bruno Haible  <bruno@clisp.org>
11156
11157         imaxdiv: Move AC_LIBOBJ invocations to module description.
11158         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
11159         invocations from here...
11160         * modules/imaxdiv (configure.ac): ... to here.
11161
11162 2011-05-08  Bruno Haible  <bruno@clisp.org>
11163
11164         imaxabs: Move AC_LIBOBJ invocations to module description.
11165         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
11166         invocations from here...
11167         * modules/imaxabs (configure.ac): ... to here.
11168
11169 2011-05-08  Bruno Haible  <bruno@clisp.org>
11170
11171         getaddrinfo: Move AC_LIBOBJ invocations to module description.
11172         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
11173         AC_LIBOBJ invocations from here...
11174         * modules/getaddrinfo (configure.ac): ... to here.
11175         (Depends-on): Add conditions.
11176
11177 2011-05-08  Bruno Haible  <bruno@clisp.org>
11178
11179         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
11180         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
11181         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
11182         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
11183         (gl_PREREQ_INET_PTON): ... from here.
11184         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
11185         gl_PREREQ_INET_PTON here.
11186         (Depends-on): Update condition.
11187
11188 2011-05-08  Bruno Haible  <bruno@clisp.org>
11189
11190         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
11191         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
11192         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
11193         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
11194         (gl_PREREQ_INET_NTOP): ... from here.
11195         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
11196         gl_PREREQ_INET_NTOP here.
11197         (Depends-on): Update condition.
11198
11199 2011-05-08  Bruno Haible  <bruno@clisp.org>
11200
11201         iconv_open: Move AC_LIBOBJ invocations to module description.
11202         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
11203         AC_LIBOBJ invocations from here...
11204         * modules/iconv_open (configure.ac): ... to here.
11205
11206 2011-05-08  Bruno Haible  <bruno@clisp.org>
11207
11208         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
11209         If module 'iconv_open' is among the main modules and module
11210         'iconv_open-utf' is among the tests dependencies, then
11211         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
11212         return the special iconv_t values. Therefore iconv() and iconv_close()
11213         must support these special iconv_t values, already in lib, not only in
11214         tests.
11215         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
11216         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
11217         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
11218         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
11219         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
11220         (Depends-on): Add the dependencies of iconv_open-utf.
11221         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
11222         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
11223         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
11224
11225 2011-05-08  Bruno Haible  <bruno@clisp.org>
11226
11227         group-member: Move AC_LIBOBJ invocations to module description.
11228         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
11229         gl_PREREQ_GROUP_MEMBER invocations from here...
11230         * modules/group-member (configure.ac): ... to here.
11231
11232 2011-05-08  Bruno Haible  <bruno@clisp.org>
11233
11234         grantpt: Move AC_LIBOBJ invocations to module description.
11235         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
11236         invocations from here...
11237         * modules/grantpt (configure.ac): ... to here.
11238
11239 2011-05-08  Bruno Haible  <bruno@clisp.org>
11240
11241         glob: Move AC_LIBOBJ invocations to module description.
11242         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
11243         from here...
11244         * modules/glob (configure.ac): ... to here.
11245
11246 2011-05-08  Bruno Haible  <bruno@clisp.org>
11247
11248         getusershell: Move AC_LIBOBJ invocations to module description.
11249         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
11250         Move AC_LIBOBJ invocation from here...
11251         * modules/getusershell (configure.ac): ... to here.
11252         (Depends-on): Update condition.
11253
11254 2011-05-08  Bruno Haible  <bruno@clisp.org>
11255
11256         gettimeofday: Move AC_LIBOBJ invocations to module description.
11257         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
11258         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
11259         gl_PREREQ_GETTIMEOFDAY invocations from here...
11260         * modules/gettimeofday (configure.ac): ... to here.
11261
11262 2011-05-08  Bruno Haible  <bruno@clisp.org>
11263
11264         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
11265         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
11266         just gl_FUNC_TZSET.
11267         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
11268         (gl_FUNC_TZSET_CLOBBER): Remove actions.
11269         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
11270         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
11271
11272 2011-05-08  Bruno Haible  <bruno@clisp.org>
11273
11274         getsubopt: Move AC_LIBOBJ invocations to module description.
11275         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
11276         gl_PREREQ_GETSUBOPT invocations from here...
11277         * modules/getsubopt (configure.ac): ... to here.
11278
11279 2011-05-08  Bruno Haible  <bruno@clisp.org>
11280
11281         getpass-gnu: Move AC_LIBOBJ invocations to module description.
11282         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
11283         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
11284         * modules/getpass-gnu (configure.ac): ... to here.
11285
11286 2011-05-08  Bruno Haible  <bruno@clisp.org>
11287
11288         getpass: Move AC_LIBOBJ invocations to module description.
11289         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
11290         gl_PREREQ_GETPASS invocations from here...
11291         * modules/getpass (configure.ac): ... to here.
11292
11293 2011-05-08  Bruno Haible  <bruno@clisp.org>
11294
11295         getpagesize: Move AC_LIBOBJ invocations to module description.
11296         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
11297         from here...
11298         * modules/getpagesize (configure.ac): ... to here.
11299
11300 2011-05-08  Bruno Haible  <bruno@clisp.org>
11301
11302         getopt: Move AC_LIBOBJ invocations to module description.
11303         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
11304         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
11305         invocations from here...
11306         * modules/getopt-gnu (configure.ac): ... to here.
11307         * modules/getopt-posix (configure.ac): ... and here.
11308         (Depends-on): Update condition.
11309
11310 2011-05-08  Bruno Haible  <bruno@clisp.org>
11311
11312         getopt, argp: Respect rules for use of AC_LIBOBJ.
11313         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
11314         (gl_REPLACE_GETOPT_ALWAYS): New macro.
11315         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
11316         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
11317
11318 2011-05-08  Bruno Haible  <bruno@clisp.org>
11319
11320         getlogin_r: Move AC_LIBOBJ invocations to module description.
11321         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
11322         gl_PREREQ_GETLOGIN_R invocations from here...
11323         * modules/getlogin_r (configure.ac): ... to here.
11324
11325 2011-05-08  Bruno Haible  <bruno@clisp.org>
11326
11327         getlogin: Move AC_LIBOBJ invocations to module description.
11328         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
11329         here...
11330         * modules/getlogin (configure.ac): ... to here.
11331
11332 2011-05-08  Bruno Haible  <bruno@clisp.org>
11333
11334         getloadavg: Move AC_LIBOBJ invocations to module description.
11335         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
11336         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
11337         * modules/getloadavg (configure.ac): ... to here.
11338
11339 2011-05-08  Bruno Haible  <bruno@clisp.org>
11340
11341         gethrxtime: Move AC_LIBOBJ invocations to module description.
11342         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
11343         LIB_GETHRXTIME from here...
11344         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
11345         invocations from here...
11346         * modules/gethrxtime (configure.ac): ... to here.
11347
11348 2011-05-08  Bruno Haible  <bruno@clisp.org>
11349
11350         gethostname: Move AC_LIBOBJ invocations to module description.
11351         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
11352         gl_PREREQ_GETHOSTNAME invocations from here...
11353         * modules/gethostname (configure.ac): ... to here.
11354
11355 2011-05-08  Bruno Haible  <bruno@clisp.org>
11356
11357         getgroups: Move AC_LIBOBJ invocations to module description.
11358         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
11359         here...
11360         * modules/getgroups (configure.ac): ... to here.
11361
11362 2011-05-08  Bruno Haible  <bruno@clisp.org>
11363
11364         getdtablesize: Move AC_LIBOBJ invocations to module description.
11365         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
11366         invocation from here...
11367         * modules/getdtablesize (configure.ac): ... to here.
11368
11369 2011-05-08  Bruno Haible  <bruno@clisp.org>
11370
11371         getdomainname: Move AC_LIBOBJ invocations to module description.
11372         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
11373         gl_PREREQ_GETDOMAINNAME invocations from here...
11374         * modules/getdomainname (configure.ac): ... to here.
11375
11376 2011-05-08  Bruno Haible  <bruno@clisp.org>
11377
11378         getline: Move AC_LIBOBJ invocations to module description.
11379         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
11380         invocations from here...
11381         * modules/getline (configure.ac): ... to here.
11382
11383 2011-05-08  Bruno Haible  <bruno@clisp.org>
11384
11385         getline: Simplify.
11386         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
11387         It's already handled through the module dependency.
11388
11389 2011-05-08  Bruno Haible  <bruno@clisp.org>
11390
11391         getdelim: Move AC_LIBOBJ invocations to module description.
11392         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
11393         and gl_PREREQ_GETDELIM invocations from here...
11394         * modules/getdelim (configure.ac): ... to here.
11395         (Depends-on): Fix condition.
11396
11397 2011-05-08  Bruno Haible  <bruno@clisp.org>
11398
11399         getcwd: Move AC_LIBOBJ invocations to module description.
11400         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
11401         invocations from here...
11402         * modules/getcwd (configure.ac): ... to here.
11403
11404 2011-05-08  Bruno Haible  <bruno@clisp.org>
11405
11406         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
11407         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
11408         here...
11409         * modules/getcwd-lgpl (configure.ac): ... to here.
11410
11411 2011-05-07  Bruno Haible  <bruno@clisp.org>
11412
11413         crypto/gc: Move AC_LIBOBJ invocations to module description.
11414         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
11415         * modules/crypto/gc (configure.ac): ... to here.
11416
11417 2011-05-07  Bruno Haible  <bruno@clisp.org>
11418
11419         fwriting: Move AC_LIBOBJ invocations to module description.
11420         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
11421         here...
11422         * modules/fwriting (configure.ac): ... to here.
11423
11424 2011-05-07  Bruno Haible  <bruno@clisp.org>
11425
11426         fwritable: Move AC_LIBOBJ invocations to module description.
11427         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
11428         here...
11429         * modules/fwritable (configure.ac): ... to here.
11430
11431 2011-05-07  Bruno Haible  <bruno@clisp.org>
11432
11433         futimens: Move AC_LIBOBJ invocations to module description.
11434         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
11435         here...
11436         * modules/futimens (configure.ac): ... to here.
11437
11438 2011-05-07  Bruno Haible  <bruno@clisp.org>
11439
11440         ftruncate: Move AC_LIBOBJ invocations to module description.
11441         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
11442         gl_PREREQ_FTRUNCATE invocations from here...
11443         * modules/ftruncate (configure.ac): ... to here.
11444
11445 2011-05-07  Bruno Haible  <bruno@clisp.org>
11446
11447         fsync: Move AC_LIBOBJ invocations to module description.
11448         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
11449         invocations from here...
11450         * modules/fsync (configure.ac): ... to here.
11451
11452 2011-05-07  Bruno Haible  <bruno@clisp.org>
11453
11454         fsusage: Move AC_LIBOBJ invocations to module description.
11455         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
11456         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
11457         * modules/fsusage (configure.ac): ... to here.
11458
11459 2011-05-07  Bruno Haible  <bruno@clisp.org>
11460
11461         freopen: Move AC_LIBOBJ invocations to module description.
11462         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
11463         invocations from here...
11464         * modules/freopen (configure.ac): ... to here.
11465
11466 2011-05-07  Bruno Haible  <bruno@clisp.org>
11467
11468         free: Move AC_LIBOBJ invocations to module description.
11469         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
11470         invocations from here...
11471         * modules/free (configure.ac): ... to here.
11472
11473 2011-05-07  Bruno Haible  <bruno@clisp.org>
11474
11475         freadable: Move AC_LIBOBJ invocations to module description.
11476         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
11477         here...
11478         * modules/freadable (configure.ac): ... to here.
11479
11480 2011-05-07  Bruno Haible  <bruno@clisp.org>
11481
11482         fpurge: Move AC_LIBOBJ invocations to module description.
11483         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
11484         invocations from here...
11485         * modules/fpurge (configure.ac): ... to here.
11486
11487 2011-05-07  Bruno Haible  <bruno@clisp.org>
11488
11489         fpending: Move AC_LIBOBJ invocations to module description.
11490         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
11491         gl_FUNC_FPENDING.
11492         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
11493         invocations from here...
11494         * modules/fpending (configure.ac): ... to here.
11495
11496 2011-05-07  Bruno Haible  <bruno@clisp.org>
11497
11498         fopen: Move AC_LIBOBJ invocations to module description.
11499         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
11500         invocations from here...
11501         * modules/fopen (configure.ac): ... to here.
11502
11503 2011-05-07  Bruno Haible  <bruno@clisp.org>
11504
11505         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
11506         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
11507         gl_FUNC_FNMATCH_POSIX.
11508         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
11509         invocations from here...
11510         * modules/fnmatch (configure.ac): ... to here.
11511         * modules/fnmatch-gnu (configure.ac): ... and here.
11512
11513 2011-05-07  Bruno Haible  <bruno@clisp.org>
11514
11515         flock: Move AC_LIBOBJ invocations to module description.
11516         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
11517         invocations from here...
11518         * modules/flock (configure.ac): ... to here.
11519
11520 2011-05-07  Bruno Haible  <bruno@clisp.org>
11521
11522         fileblocks: Move AC_LIBOBJ invocations to module description.
11523         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
11524         gl_PREREQ_FILEBLOCKS invocations from here...
11525         * modules/fileblocks (configure.ac): ... to here.
11526
11527 2011-05-06  Bruno Haible  <bruno@clisp.org>
11528
11529         fflush: Move AC_LIBOBJ invocations to module description.
11530         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
11531         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
11532         invocations from here...
11533         * modules/fflush (configure.ac): ... to here.
11534
11535 2011-05-06  Bruno Haible  <bruno@clisp.org>
11536
11537         fdopendir: Move AC_LIBOBJ invocations to module description.
11538         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
11539         here...
11540         * modules/fdopendir (configure.ac): ... to here.
11541         (Depends-on): Improve conditions.
11542
11543 2011-05-06  Bruno Haible  <bruno@clisp.org>
11544
11545         _Exit: Move AC_LIBOBJ invocations to module description.
11546         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
11547         invocations from here...
11548         * modules/_Exit (configure.ac): ... to here.
11549
11550 2011-05-21  Bruno Haible  <bruno@clisp.org>
11551
11552         euidaccess: Respect rules for use of AC_LIBOBJ.
11553         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
11554         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
11555         from here...
11556         * modules/euidaccess (configure.ac): ... to here.
11557
11558 2011-05-06  Bruno Haible  <bruno@clisp.org>
11559
11560         error: Move AC_LIBOBJ invocations to module description.
11561         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
11562         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
11563         invocations from here...
11564         * modules/error (configure.ac): ... to here.
11565
11566 2011-05-06  Bruno Haible  <bruno@clisp.org>
11567
11568         duplocale: Move AC_LIBOBJ invocations to module description.
11569         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
11570         gl_PREREQ_DUPLOCALE invocations from here...
11571         * modules/duplocale (configure.ac): ... to here.
11572
11573 2011-05-05  Bruno Haible  <bruno@clisp.org>
11574
11575         dirfd: Move AC_LIBOBJ invocations to module description.
11576         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
11577         gl_FUNC_DIRFD.
11578         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
11579         here...
11580         * modules/dirfd (configure.ac): ... to here.
11581         (Depends-on): Fix condition.
11582
11583 2011-05-05  Bruno Haible  <bruno@clisp.org>
11584
11585         chown: Respect rules for use of AC_LIBOBJ.
11586         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
11587         * modules/chown (configure.ac): ... to here.
11588
11589 2011-05-05  Bruno Haible  <bruno@clisp.org>
11590
11591         chdir-long: Move AC_LIBOBJ invocations to module description.
11592         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
11593         gl_PREREQ_CHDIR_LONG invocations from here...
11594         * modules/chdir-long (configure.ac): ... to here.
11595
11596 2011-05-05  Bruno Haible  <bruno@clisp.org>
11597
11598         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
11599         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
11600         from here...
11601         * modules/canonicalize-lgpl (configure.ac): ... to here.
11602
11603 2011-05-05  Bruno Haible  <bruno@clisp.org>
11604
11605         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
11606         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
11607         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
11608         REPLACE_CALLOC.
11609         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
11610         * modules/calloc-gnu (configure.ac): Likewise.
11611
11612 2011-05-05  Bruno Haible  <bruno@clisp.org>
11613
11614         btowc: Move AC_LIBOBJ invocations to module description.
11615         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
11616         invocations from here...
11617         * modules/btowc (configure.ac): ... to here.
11618
11619 2011-05-21  Bruno Haible  <bruno@clisp.org>
11620
11621         atexit: Move AC_LIBOBJ invocations to module description.
11622         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
11623         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
11624         here...
11625         * modules/atexit (configure.ac): ... to here.
11626
11627 2011-05-05  Bruno Haible  <bruno@clisp.org>
11628
11629         atoll: Move AC_LIBOBJ invocations to module description.
11630         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
11631         invocations from here...
11632         * modules/atoll (configure.ac): ... to here.
11633
11634 2011-05-05  Bruno Haible  <bruno@clisp.org>
11635
11636         argz: Move AC_LIBOBJ invocations to module description.
11637         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
11638         * modules/argz (configure.ac): ... to here.
11639
11640 2011-05-05  Bruno Haible  <bruno@clisp.org>
11641
11642         alphasort: Move AC_LIBOBJ invocations to module description.
11643         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
11644         gl_PREREQ_ALPHASORT invocations from here...
11645         * modules/alphasort (configure.ac): ... to here.
11646
11647 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
11648
11649         verify: new macro verify_expr; verify_true deprecated
11650         * NEWS: Mention this.
11651         * doc/verify.texi (Compile-time Assertions): Document this.
11652         * lib/verify.h (verify_true): Deprecate.
11653         (verify_expr): New macro.
11654         * tests/test-verify.c (function): Test verify_expr.
11655
11656 2011-06-14  Jim Meyering  <meyering@redhat.com>
11657
11658         init.sh: give more portable redirection-related advice in a comment
11659         * tests/init.sh (stderr_fileno_): Update the advice in comments.
11660         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
11661         for lots of discussion.  Stefano Lattarini suggested the solution
11662         of putting "9>&2" after the command.  Reported by Bruno Haible.
11663
11664 2011-06-13  Bruno Haible  <bruno@clisp.org>
11665
11666         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
11667         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
11668         'none'.
11669
11670 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
11671
11672         ftoastr: use strtof only if HAVE_STRTOF
11673         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
11674         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
11675         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
11676         * modules/ftoastr (configure.ac): Check for strtof.
11677
11678 2011-06-13  Bruno Haible  <bruno@clisp.org>
11679
11680         gnulib-tool: Addendum to 2011-06-08 commit.
11681         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
11682         and --witness-c-macro have been given, augment AM_CPPFLAGS.
11683
11684 2011-06-13  Bruno Haible  <bruno@clisp.org>
11685
11686         fseeko: Provide a non-inline replacement of fseek().
11687         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
11688         * modules/fseeko (Depends-on): Add fseek.
11689         * modules/fseek (License): Change to LGPLv2+.
11690
11691 2011-06-13  Bruno Haible  <bruno@clisp.org>
11692
11693         ftello: Provide a non-inline replacement of ftell().
11694         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
11695         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
11696         not have ftello() (such as on mingw).
11697         * modules/ftello (Depends-on): Add ftell.
11698         * modules/ftell (License): Change to LGPLv2+.
11699
11700 2011-05-07  Bruno Haible  <bruno@clisp.org>
11701
11702         ftell: Move AC_LIBOBJ invocations to module description.
11703         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
11704         * modules/ftell (configure.ac): ... to here.
11705
11706 2011-05-07  Bruno Haible  <bruno@clisp.org>
11707
11708         ftello: Respect rules for use of AC_LIBOBJ.
11709         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
11710         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
11711         here...
11712         * modules/ftello (configure.ac): ... to here.
11713
11714 2011-05-07  Bruno Haible  <bruno@clisp.org>
11715
11716         fseeko: Simplify.
11717         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
11718         (gl_FUNC_FSEEKO): Inline it here.
11719
11720 2011-05-07  Bruno Haible  <bruno@clisp.org>
11721
11722         fseek: Move AC_LIBOBJ invocations to module description.
11723         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
11724         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
11725         * modules/fseek (configure.ac): ... to here.
11726
11727 2011-05-07  Bruno Haible  <bruno@clisp.org>
11728
11729         fseek: Respect rules for use of AC_LIBOBJ.
11730         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
11731         here...
11732         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
11733
11734 2011-05-07  Bruno Haible  <bruno@clisp.org>
11735
11736         fseeko: Respect rules for use of AC_LIBOBJ.
11737         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
11738         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
11739         here...
11740         * modules/fseeko (configure.ac): ... to here.
11741
11742 2011-06-13  Bruno Haible  <bruno@clisp.org>
11743
11744         gnulib-tool: Allow comments in the 'Depends-on' section.
11745         * doc/gnulib.texi (Module description): Mention comment syntax in the
11746         Depends-on section.
11747         * gnulib-tool (func_get_dependencies): Filter out comment lines.
11748
11749 2011-06-13  Bruno Haible  <bruno@clisp.org>
11750
11751         file-set.h: guard __attibute__ use, now that it's not always defined
11752         * lib/file-set.h (record_file): Use __attribute__ only with compiler
11753         versions that support it.  This fixes a coreutils build failure with
11754         the vendor cc on HP-UX 11.31.
11755
11756 2011-06-12  Bruno Haible  <bruno@clisp.org>
11757
11758         acl: Add support for HP-UX >= 11.11 JFS ACLs.
11759         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
11760         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
11761         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
11762         (acl, aclsort): New declarations.
11763         (aclv_nontrivial): New declaration.
11764         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
11765         (file_has_acl): Read also the second kind of HP-UX ACLs.
11766         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
11767         kind of HP-UX ACLs if the first kind fails.
11768         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
11769         second kind of HP-UX ACLs.
11770         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
11771         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
11772         agree.
11773         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
11774         hpuxjfs.
11775         Handle hpuxjfs.
11776         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
11777         hpuxjfs.
11778         Handle hpuxjfs.
11779         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
11780         (func_test_same_acls): Use both lsacl and getacl.
11781         Handle hpuxjfs.
11782         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
11783         (func_test_same_acls): Use both lsacl and getacl.
11784         Handle hpuxjfs.
11785
11786 2011-06-12  Bruno Haible  <bruno@clisp.org>
11787
11788         acl: Complete the 2010-08-10 fix.
11789         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
11790         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
11791         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
11792         explicitly.
11793         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
11794         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
11795
11796 2011-06-12  Bruno Haible  <bruno@clisp.org>
11797
11798         spawn-pipe tests: Comments.
11799         * tests/test-spawn-pipe-child.c (main): Update comment.
11800         Reported by James Youngman <jay@gnu.org>.
11801
11802 2011-06-11  James Youngman  <jay@gnu.org>
11803
11804         New module 'stat-size'.
11805         * modules/stat-size: New module.  Provides macros for accessing
11806         file size information in instances of struct stat.  Depends on the
11807         fileblocks module because it calls st_blocks.
11808         * lib/stat-size.h: New file, adapted from coreutils' system.h.
11809         * doc/gnulib.texi: Include stat-size.texi.
11810         * doc/stat-size.texi: Documentation for this module.
11811         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
11812         * m4/fileblocks.m4: Mention that stat-size depends on the call to
11813         AC_STRUCT_ST_BLOCKS.
11814
11815 2011-06-09  Bruno Haible  <bruno@clisp.org>
11816
11817         thread: Support pthreads-win32.
11818         * lib/glthread/thread.h (gl_thread_self): Define differently on
11819         pthreads-win32.
11820         (gl_null_thread): New declaration.
11821         (gl_thread_self_pointer): New macro.
11822         * lib/glthread/thread.c (gl_null_thread): New constant.
11823         * tests/test-lock.c: Use gl_thread_self_pointer instead of
11824         gl_thread_self.
11825         * tests/test-tls.c: Likewise.
11826         Suggested by Paul Eggert. Reported by Eric Blake.
11827
11828 2011-06-09  Bruno Haible  <bruno@clisp.org>
11829
11830         thread: Fix confusion between NULL and 0.
11831         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
11832         Reported by Paul Eggert.
11833
11834 2011-06-09  Bruno Haible  <bruno@clisp.org>
11835
11836         spawn-pipe tests: Avoid test failure on HP-UX 11.
11837         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
11838         is closed.
11839
11840 2011-06-09  Bruno Haible  <bruno@clisp.org>
11841
11842         acl tests: Fix compilation error on HP-UX 11.
11843         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
11844
11845 2011-06-09  Bruno Haible  <bruno@clisp.org>
11846
11847         rmdir: Avoid test failure on HP-UX 10.20.
11848         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
11849         EEXIST.
11850
11851 2011-06-08  Eric Blake  <eblake@redhat.com>
11852
11853         perror: fix test on mingw
11854         * modules/perror-tests (Depends-on): Add dup2.
11855
11856         strerror_r-posix: fix on MacOS
11857         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
11858         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
11859         logic bug.
11860         * lib/strerror_r.c (strerror_r): Fix the bug.
11861         * lib/strerror.c (strerror): Likewise.
11862         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
11863         problem.
11864         * doc/posix-functions/strerror.texi (strerror): Likewise.
11865         * doc/posix-functions/perror.texi (perror): Likewise.
11866         * tests/test-strerror.c (main): Enhance test.
11867         * tests/test-strerror_r.c (main): Likewise.
11868
11869 2011-06-08  Bruno Haible  <bruno@clisp.org>
11870
11871         gnulib-tool: Better isolation between different gnulib-tool invocations.
11872         * gnulib-tool: New option --witness-c-macro.
11873         (witness_c_macro): New variable.
11874         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
11875         AM_CPPFLAGS define it as a C macro.
11876         (func_emit_tests_Makefile_am): Likewise.
11877         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
11878         read it from there.
11879         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
11880         m4_define, not AC_DEFUN.
11881         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
11882         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
11883         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
11884         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
11885         s|...|...|, to substitute the values of the GNULIB_* module indicator
11886         variables.
11887         * modules/dirent (Makefile.am): Likewise.
11888         * modules/fcntl-h (Makefile.am): Likewise.
11889         * modules/iconv-h (Makefile.am): Likewise.
11890         * modules/langinfo (Makefile.am): Likewise.
11891         * modules/locale (Makefile.am): Likewise.
11892         * modules/math (Makefile.am): Likewise.
11893         * modules/netdb (Makefile.am): Likewise.
11894         * modules/poll-h (Makefile.am): Likewise.
11895         * modules/pty (Makefile.am): Likewise.
11896         * modules/search (Makefile.am): Likewise.
11897         * modules/signal (Makefile.am): Likewise.
11898         * modules/spawn (Makefile.am): Likewise.
11899         * modules/stdio (Makefile.am): Likewise.
11900         * modules/stdlib (Makefile.am): Likewise.
11901         * modules/string (Makefile.am): Likewise.
11902         * modules/sys_ioctl (Makefile.am): Likewise.
11903         * modules/sys_select (Makefile.am): Likewise.
11904         * modules/sys_socket (Makefile.am): Likewise.
11905         * modules/sys_stat (Makefile.am): Likewise.
11906         * modules/sys_times (Makefile.am): Likewise.
11907         * modules/sys_utsname (Makefile.am): Likewise.
11908         * modules/sys_wait (Makefile.am): Likewise.
11909         * modules/termios (Makefile.am): Likewise.
11910         * modules/time (Makefile.am): Likewise.
11911         * modules/unistd (Makefile.am): Likewise.
11912         * modules/wchar (Makefile.am): Likewise.
11913
11914 2011-06-08  Eric Blake  <eblake@redhat.com>
11915
11916         strerror: simplify replacement
11917         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
11918         * modules/strerror (configure.ac): No prereqs needed here...
11919         * modules/strerror-override (configure.ac): ...but this needs it.
11920         (Files): Add file for needed prereq macro.
11921
11922 2011-06-08  Bruno Haible  <bruno@clisp.org>
11923
11924         strerror_r-posix: Tweaks.
11925         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
11926         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
11927         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
11928         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
11929         (gl_FUNC_STRERROR_R): ... to here.
11930         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
11931
11932 2011-06-07  Eric Blake  <eblake@redhat.com>
11933
11934         perror: document fixed bugs
11935         * doc/posix-functions/perror.texi (perror): Document recent
11936         patches.
11937
11938 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
11939
11940         stat-time: get_stat_birthtime failure is better-defined
11941         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
11942         return a timestamp whose tv_sec and tv_nsec values are both -1.
11943         Previously, the spec said only that the tv_nsec value was negative.
11944         This upward-compatible change simplifies GNU tar a bit.
11945
11946 2011-06-07  Eric Blake  <eblake@redhat.com>
11947
11948         strerror_r-posix: work around cygwin 1.7.9
11949         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
11950         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
11951         bug without replacing strerror_r.
11952         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
11953         strerror_r is buggy, but without requiring strerror_r compilation.
11954         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
11955
11956         test-perror: relax test to ignore cygwin bug
11957         * tests/test-perror2.c (main): Relax test on requiring detection
11958         of stream errors, and use unbuffered stream.
11959         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
11960         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
11961         * doc/posix-functions/fputc.texi (fputc): Likewise.
11962         * doc/posix-functions/fputs.texi (fputs): Likewise.
11963         * doc/posix-functions/fputws.texi (fputws): Likewise.
11964         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
11965         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
11966         * doc/posix-functions/getopt.texi (getopt): Likewise.
11967         * doc/posix-functions/perror.texi (perror): Likewise.
11968         * doc/posix-functions/printf.texi (printf): Likewise.
11969         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
11970         * doc/posix-functions/psignal.texi (psignal): Likewise.
11971         * doc/posix-functions/putc.texi (putc): Likewise.
11972         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
11973         Likewise.
11974         * doc/posix-functions/putchar.texi (putchar): Likewise.
11975         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
11976         Likewise.
11977         * doc/posix-functions/puts.texi (puts): Likewise.
11978         * doc/posix-functions/putwc.texi (putwc): Likewise.
11979         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
11980         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
11981         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
11982         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
11983         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
11984         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
11985         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
11986         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
11987
11988 2011-05-22  Bruno Haible  <bruno@clisp.org>
11989
11990         strerror: Move AC_LIBOBJ invocations to module description.
11991         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
11992         gl_PREREQ_STRERROR invocations from here...
11993         * modules/strerror (configure.ac): ... to here.
11994
11995 2011-05-21  Bruno Haible  <bruno@clisp.org>
11996
11997         perror: Use common idiom.
11998         * modules/perror (configure.ac): Reorder statements.
11999
12000 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
12001
12002         tests: fix usage message in 'mktempd_'
12003         * tests/init.sh (mktempd_): In the usage message, use literal
12004         'mktempd_', not '$ME' (which is even undefined), as the name of
12005         the subroutine.
12006
12007 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
12008
12009         tests init: new function 'fatal_', for hard errors
12010         Before this patch, the only way offered by tests/init.sh to
12011         properly signal a hard error was the `framework_failure_'
12012         function.  But the error message issued by that function,
12013         as its name would suggest, refers to a set-up failure in the
12014         testsuite, while hard errors can obviously also be due to
12015         other reasons.  The best way to fix this inconsistency is to
12016         introduce a new function with a more general error message.
12017         * tests/init.sh (fatal_): New function.
12018
12019 2011-06-06  Eric Blake  <eblake@redhat.com>
12020
12021         canonicalize-lgpl: use common idiom
12022         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
12023         over newer POSIX -Rf.
12024         Reported by Bruno Haible.
12025
12026         canonicalize-lgpl: work around AIX realpath bug
12027         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
12028         * doc/posix-functions/realpath.texi (realpath): Document it.
12029         Reported by Bruno Haible.
12030
12031         strerror: work around FreeBSD bug
12032         * lib/strerror.c (strerror): Special case 0.
12033         Reported by Bruno Haible.
12034
12035         strerror-override: avoid bloating errno module
12036         * modules/errno (Files, configure.ac): Move replacement strings...
12037         * modules/strerror-override: ...to new module.
12038         * modules/strerror (Depends-on): Add strerror-override.
12039         * modules/strerror_r-posix (Depends-on): Likewise.
12040         * MODULES.html.sh: Document new module.
12041         Reported by Bruno Haible.
12042
12043 2011-06-06  Bruno Haible  <bruno@clisp.org>
12044
12045         spawn-pipe tests: Rename program.
12046         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
12047         * tests/test-spawn-pipe-child.c: Update comment.
12048         * tests/test-spawn-pipe.sh: Update.
12049         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
12050
12051         spawn-pipe tests: Link the child program only against libc.
12052         * tests/test-spawn-pipe-child.c: New file, extracted from
12053         tests/test-spawn-pipe.c.
12054         (main): Expect only one argument.
12055         (is_open): New function, copied from tests/test-pipe.c.
12056         * tests/test-spawn-pipe.c: Don't include <errno.h>.
12057         (child_main): Remove function.
12058         (test_pipe): Pass only one argument to the child program.
12059         (main): Remove child process code. Expect the child program's name as
12060         first argument.
12061         * tests/test-spawn-pipe.sh: Pass the child program's name as first
12062         argument.
12063         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
12064         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
12065         test-spawn-pipe-child against no libraries.
12066
12067 2011-06-06  Bruno Haible  <bruno@clisp.org>
12068
12069         careadlinkat: Avoid mismatch between ssize_t and int.
12070         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
12071         * lib/careadlinkat.c (careadlinkatcwd): Define always.
12072
12073 2011-06-06  Jim Meyering  <meyering@redhat.com>
12074
12075         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
12076         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
12077         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
12078
12079 2011-06-05  Bruno Haible  <bruno@clisp.org>
12080
12081         ansi-c++-opt: Interoperability with libtool.
12082         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
12083         set the variable to "no", not to ":".
12084         * NEWS: Mention the change.
12085
12086 2011-06-05  Bruno Haible  <bruno@clisp.org>
12087
12088         acl: Fix test failure on AIX 7.
12089         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
12090         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
12091
12092 2011-06-05  Bruno Haible  <bruno@clisp.org>
12093
12094         pipe-filter-ii: Fix test failure on AIX and IRIX.
12095         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
12096         with EAGAIN, retry with a smaller buffer size.
12097
12098 2011-06-05  Bruno Haible  <bruno@clisp.org>
12099
12100         localename: Fix link dependencies.
12101         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
12102         * modules/localename-tests (Makefile.am): Link test-localename with
12103         $(LIBTHREAD).
12104
12105 2011-06-05  Bruno Haible  <bruno@clisp.org>
12106
12107         error: Avoid gcc warning.
12108         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
12109
12110 2011-06-05  Bruno Haible  <bruno@clisp.org>
12111
12112         unsetenv: Avoid gcc warning.
12113         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
12114
12115 2011-06-05  Bruno Haible  <bruno@clisp.org>
12116
12117         setenv: Avoid gcc warning.
12118         * lib/setenv.c (setenv): Provide declaration if system lacks it.
12119
12120 2011-06-05  Bruno Haible  <bruno@clisp.org>
12121
12122         sys_select: Ensure memset is declared also on AIX 7.
12123         * lib/sys_select.in.h: Include <string.h> also on AIX.
12124         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
12125         self-contained also on AIX 7.1.
12126
12127 2011-06-04  Jim Meyering  <meyering@redhat.com>
12128
12129         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
12130         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
12131         function name, "error".
12132         (_gl_translatable_diag_func_re): New configurable variable.
12133
12134 2011-06-04  Bruno Haible  <bruno@clisp.org>
12135
12136         getopt: Avoid gcc warning.
12137         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
12138
12139 2011-06-04  Bruno Haible  <bruno@clisp.org>
12140
12141         strerror_r: Fix comments.
12142         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
12143         commit.
12144
12145 2011-06-04  Bruno Haible  <bruno@clisp.org>
12146
12147         perror: Fix compilation error.
12148         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
12149         Undefine fprintf, not sprintf.
12150         * modules/perror (Depends-on): Remove intprops, verify.
12151
12152 2011-06-04  Bruno Haible  <bruno@clisp.org>
12153
12154         setlocale: Enable replacement on Cygwin 1.5.
12155         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
12156         Cygwin 1.5.x.
12157         * doc/posix-functions/setlocale.texi: Mention that the problem with the
12158         LC_CTYPE category also exists on Cygwin 1.5.x.
12159
12160 2011-06-04  Bruno Haible  <bruno@clisp.org>
12161
12162         strerror-override: Don't disable symbol renamings.
12163         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
12164         * lib/strerror-override.c: Include config.h.
12165         (strerror_override): Don't undefine.
12166
12167 2011-06-03  Bruno Haible  <bruno@clisp.org>
12168
12169         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
12170         * lib/localename.h: Update copyright header.
12171         * lib/localename.c: Likewise.
12172         * lib/relocatable.h: Likewise.
12173         * lib/relocatable.c: Likewise.
12174
12175 2011-06-02  Bruno Haible  <bruno@clisp.org>
12176
12177         doc: Fix a module name.
12178         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
12179
12180 2011-06-02  Bruno Haible  <bruno@clisp.org>
12181
12182         pipe2: Remove dependency on 'nonblocking' module.
12183         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
12184         O_NONBLOCK is defined by gnulib.
12185         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
12186         is zero.
12187         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
12188         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
12189         defined by gnulib.
12190         (get_nonblocking_flag): New function.
12191         (main): Test O_NONBLOCK flag only if it is nonzero.
12192         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
12193
12194 2011-06-03  Jim Meyering  <meyering@redhat.com>
12195
12196         maint: three new prohibit-header-without-use rules
12197         Prohibit use of cloexec.h, posixver.h, same.h without use.
12198         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
12199         (sc_prohibit_posixver_without_use): Likewise.
12200         (sc_prohibit_same_without_use): Likewise.
12201
12202 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12203
12204         allocator: 'die' routine is now given requested size
12205         * lib/allocator.h (struct allocator.die): New size arg.
12206         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
12207         If the actual problem is an ssize_t limitation, not a size_t or
12208         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
12209
12210 2011-06-01  Eric Blake  <eblake@redhat.com>
12211
12212         strerror: drop strerror_r dependency
12213         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
12214         * lib/strerror-override.c (strerror_override): ...to new file.
12215         * lib/strerror-override.h: Add prototype.
12216         * lib/strerror-impl.h: Delete.
12217         * lib/strerror.c (strerror): New implementation.
12218         * modules/errno (Files): Add new files.
12219         (configure.ac): Compile new file as appropriate.
12220         * modules/strerror (Files): Drop unused file.
12221         (Depends-on): Drop strerror_r-posix.
12222         * MODULES.html.sh: Document strerror_r-posix.
12223         Requested by Sam Steingold.
12224
12225         perror: call strerror_r directly
12226         * modules/perror (Files): Drop strerror-impl.h.
12227         * lib/perror.c (perror): Use our own stack buffer, rather than
12228         calling a wrapper that uses static storage.
12229         * doc/posix-functions/perror.texi (perror): Document a limitation
12230         of our replacement.
12231
12232         strerror_r: fix includes for FreeBSD
12233         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
12234         since we use abort on some platforms.
12235         Reported by Matthias Bolte.
12236
12237 2011-05-31  Bruno Haible  <bruno@clisp.org>
12238
12239         Fix link errors in tests: openat-die uses gettext-h.
12240         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
12241         against $(LIBINTL).
12242         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
12243         against $(LIBINTL).
12244         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
12245         $(LIBINTL).
12246         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
12247         against $(LIBINTL).
12248         * modules/linkat-tests (Makefile.am): Link test-linkat against
12249         $(LIBINTL).
12250         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
12251         $(LIBINTL).
12252         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
12253         against $(LIBINTL).
12254         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
12255         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
12256         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
12257         $(LIBINTL).
12258         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
12259         $(LIBINTL).
12260         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
12261         $(LIBINTL).
12262         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12263
12264 2011-05-31  Bruno Haible  <bruno@clisp.org>
12265
12266         Fix link errors in tests: wait-process uses gettext-h.
12267         * modules/nonblocking-pipe-tests (Makefile.am): Set
12268         test_nonblocking_pipe_main_LDADD.
12269         * modules/nonblocking-socket-tests (Makefile.am): Link
12270         test-nonblocking-socket-main against $(LIBINTL).
12271         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12272
12273 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
12274
12275         assert-h: work around 'verify' incompatibility
12276         * lib/verify.h: Use @...@ directives, not ifdef.
12277         * modules/assert-h (assert.h): Implement the directives.
12278         (assert.h): Substitute the symbol-prefix more consistently.
12279
12280 2011-05-29  Jim Meyering  <meyering@redhat.com>
12281
12282         trim: remove three superfluous assignments
12283         * lib/trim.c (trim2): Remove three superfluous assignments
12284         and correct brace positioning.
12285
12286 2011-05-29  Bruno Haible  <bruno@clisp.org>
12287
12288         wctype-h: Avoid namespace pollution on Solaris 2.6.
12289         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
12290         identifiers.
12291         * doc/posix-headers/wctype.texi: Mention the problem.
12292         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12293
12294 2011-05-28  Jim Meyering  <meyering@redhat.com>
12295
12296         parse-datetime.y: accommodate -Wstrict-overflow
12297         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
12298         placate -Wstrict-overflow.
12299
12300         trim: avoid a warning from -O2 -Wstrict-overflow
12301         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
12302
12303 2011-05-29  Bruno Haible  <bruno@clisp.org>
12304
12305         gnulib-tool: Fix bug in yesterday's commit.
12306         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
12307         twice.
12308
12309 2011-05-29  Bruno Haible  <bruno@clisp.org>
12310
12311         Allow multiple gnulib generated include files to be combined.
12312         * gnulib-tool (func_compute_include_guard_prefix): New function.
12313         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
12314         ${gl_include_guard_prefix} references.
12315         (func_import, func_create_testdir): Invoke
12316         func_compute_include_guard_prefix.
12317         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
12318         * lib/ctype.in.h: Likewise.
12319         * lib/dirent.in.h: Likewise.
12320         * lib/errno.in.h: Likewise.
12321         * lib/fcntl.in.h: Likewise.
12322         * lib/float.in.h: Likewise.
12323         * lib/getopt.in.h: Likewise.
12324         * lib/iconv.in.h: Likewise.
12325         * lib/langinfo.in.h: Likewise.
12326         * lib/locale.in.h: Likewise.
12327         * lib/math.in.h: Likewise.
12328         * lib/netdb.in.h: Likewise.
12329         * lib/netinet_in.in.h: Likewise.
12330         * lib/poll.in.h: Likewise.
12331         * lib/pthread.in.h: Likewise.
12332         * lib/pty.in.h: Likewise.
12333         * lib/sched.in.h: Likewise.
12334         * lib/se-selinux.in.h: Likewise.
12335         * lib/search.in.h: Likewise.
12336         * lib/signal.in.h: Likewise.
12337         * lib/spawn.in.h: Likewise.
12338         * lib/stdarg.in.h: Likewise.
12339         * lib/stddef.in.h: Likewise.
12340         * lib/stdint.in.h: Likewise.
12341         * lib/stdio.in.h: Likewise.
12342         * lib/stdlib.in.h: Likewise.
12343         * lib/string.in.h: Likewise.
12344         * lib/strings.in.h: Likewise.
12345         * lib/sys_file.in.h: Likewise.
12346         * lib/sys_ioctl.in.h: Likewise.
12347         * lib/sys_select.in.h: Likewise.
12348         * lib/sys_socket.in.h: Likewise.
12349         * lib/sys_stat.in.h: Likewise.
12350         * lib/sys_time.in.h: Likewise.
12351         * lib/sys_times.in.h: Likewise.
12352         * lib/sys_uio.in.h: Likewise.
12353         * lib/sys_utsname.in.h: Likewise.
12354         * lib/sys_wait.in.h: Likewise.
12355         * lib/sysexits.in.h: Likewise.
12356         * lib/termios.in.h: Likewise.
12357         * lib/time.in.h: Likewise.
12358         * lib/unistd.in.h: Likewise.
12359         * lib/wchar.in.h: Likewise.
12360         * lib/wctype.in.h: Likewise.
12361         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
12362         * modules/ctype (Makefile.am): Likewise.
12363         * modules/dirent (Makefile.am): Likewise.
12364         * modules/errno (Makefile.am): Likewise.
12365         * modules/fcntl-h (Makefile.am): Likewise.
12366         * modules/float (Makefile.am): Likewise.
12367         * modules/getopt-posix (Makefile.am): Likewise.
12368         * modules/iconv-h (Makefile.am): Likewise.
12369         * modules/langinfo (Makefile.am): Likewise.
12370         * modules/locale (Makefile.am): Likewise.
12371         * modules/math (Makefile.am): Likewise.
12372         * modules/netdb (Makefile.am): Likewise.
12373         * modules/netinet_in (Makefile.am): Likewise.
12374         * modules/poll-h (Makefile.am): Likewise.
12375         * modules/pthread (Makefile.am): Likewise.
12376         * modules/pty (Makefile.am): Likewise.
12377         * modules/sched (Makefile.am): Likewise.
12378         * modules/search (Makefile.am): Likewise.
12379         * modules/selinux-h (Makefile.am): Likewise.
12380         * modules/signal (Makefile.am): Likewise.
12381         * modules/spawn (Makefile.am): Likewise.
12382         * modules/stdarg (Makefile.am): Likewise.
12383         * modules/stddef (Makefile.am): Likewise.
12384         * modules/stdint (Makefile.am): Likewise.
12385         * modules/stdio (Makefile.am): Likewise.
12386         * modules/stdlib (Makefile.am): Likewise.
12387         * modules/string (Makefile.am): Likewise.
12388         * modules/strings (Makefile.am): Likewise.
12389         * modules/sys_file (Makefile.am): Likewise.
12390         * modules/sys_ioctl (Makefile.am): Likewise.
12391         * modules/sys_select (Makefile.am): Likewise.
12392         * modules/sys_socket (Makefile.am): Likewise.
12393         * modules/sys_stat (Makefile.am): Likewise.
12394         * modules/sys_time (Makefile.am): Likewise.
12395         * modules/sys_times (Makefile.am): Likewise.
12396         * modules/sys_uio (Makefile.am): Likewise.
12397         * modules/sys_utsname (Makefile.am): Likewise.
12398         * modules/sys_wait (Makefile.am): Likewise.
12399         * modules/sysexits (Makefile.am): Likewise.
12400         * modules/termios (Makefile.am): Likewise.
12401         * modules/time (Makefile.am): Likewise.
12402         * modules/unistd (Makefile.am): Likewise.
12403         * modules/wchar (Makefile.am): Likewise.
12404         * modules/wctype-h (Makefile.am): Likewise.
12405         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
12406
12407 2011-05-29  Bruno Haible  <bruno@clisp.org>
12408
12409         assert-h: Allow multiple gnulib generated replacements to coexist.
12410         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
12411
12412 2011-05-29  Bruno Haible  <bruno@clisp.org>
12413
12414         argp: Allow coexistence with strerror_r-posix module.
12415         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
12416         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
12417         by gnulib's <string.h> replacement), assume it has the POSIX signature,
12418         not the glibc signature.
12419
12420 2011-05-28  Bruno Haible  <bruno@clisp.org>
12421
12422         gnulib-tool: Alternative structure of testdirs, similar to --import.
12423         * gnulib-tool: New option --single-configure.
12424         (func_usage): Document it.
12425         (single_configure): New variable.
12426         (func_modules_transitive_closure_separately,
12427         func_modules_transitive_closure_separately,
12428         func_determine_use_libtests, func_modules_add_dummy_separately,
12429         func_modules_to_filelist_separately): New functions, extracted from
12430         func_import.
12431         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
12432         (func_import): Use the new functions.
12433         (func_create_testdir): Set final_modules. Handle $single_configure =
12434         true case.
12435
12436 2011-05-28  Bruno Haible  <bruno@clisp.org>
12437
12438         getloadavg: Remove an unreliable safety check.
12439         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
12440         getloadavg.c is in place.
12441         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
12442         Reported by Sam Steingold <sds@gnu.org>.
12443
12444 2011-05-28  Bruno Haible  <bruno@clisp.org>
12445
12446         doc: Cleanup yet another file produced by texinfo.tex.
12447         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
12448
12449 2011-05-28  Bruno Haible  <bruno@clisp.org>
12450
12451         Finish the conditional dependencies mechanism.
12452         * gnulib-tool: New option --no-conditional-dependencies.
12453         (func_usage): Document it. Don't mark --conditional-dependencies as
12454         experimental.
12455         (cond_dependencies): The possible values can now be true, false, empty.
12456         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
12457         (func_import): Store setting in gnulib-cache.m4 and read it from there.
12458         * doc/gnulib-tool.texi (Conditional dependencies): New section.
12459
12460 2011-05-28  Bruno Haible  <bruno@clisp.org>
12461
12462         doc: Use a recent texinfo.tex.
12463         * doc/Makefile (tex_opts): New variable.
12464         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
12465
12466 2011-05-28  Jim Meyering  <meyering@redhat.com>
12467
12468         intprops.h: adjust comment to match code change
12469         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
12470         only once, it *may* have side effects.  Also fix an unrelated typo.
12471         (_GL_INT_SIGNED): Likewise.
12472
12473 2011-05-26  Simon Josefsson  <simon@josefsson.org>
12474
12475         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
12476
12477 2011-05-26  Bruno Haible  <bruno@clisp.org>
12478
12479         mbsrchr: Avoid collision with system function on Interix.
12480         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
12481         Reported by Markus Duft <mduft@gentoo.org>.
12482
12483 2011-05-15  James Youngman  <jay@gnu.org>
12484
12485         getopt: for ambiguous options, enumerate the possibilities.
12486         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
12487         the ambiguous options when an ambiguous prefix is given. This was
12488         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
12489         glibc change was
12490         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
12491
12492 2011-05-25  Eric Blake  <eblake@redhat.com>
12493
12494         getcwd: work around mingw bug
12495         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
12496         * doc/posix-functions/getcwd.texi (getcwd): Document it.
12497         Reported by Matthias Bolte.
12498
12499 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
12500
12501         test-intprops: disable -Wtype-limits diagnostics
12502         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
12503         diagnostics.  Otherwise, the integer overflow macros generate many
12504         diagnostics.  Reported by Jim Meyering in
12505         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
12506
12507         intprops: shorten, to pacify gcc -Woverlength-strings
12508         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
12509         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
12510         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
12511         likely to run afoul of C compiler limits for string constant lengths.
12512         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
12513
12514 2011-05-24  Eric Blake  <eblake@redhat.com>
12515
12516         docs: document recently fixed glibc printf bug
12517         * doc/posix-functions/fprintf.texi (fprintf): Document it.
12518         * doc/posix-functions/printf.texi (printf): Likewise.
12519         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
12520         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
12521
12522         closein-tests: convert to init.sh
12523         * modules/closein-tests (Files): Add init.sh
12524         * tests/test-closein.sh Use it.
12525
12526         yesno-tests: convert to init.sh
12527         * modules/yesno-tests (Files): Add init.sh.
12528         * tests/test-yesno.sh: Use it.
12529
12530         atexit-tests: ensure reliable exit status
12531         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
12532         Reported by Bruno Haible.
12533
12534 2011-05-24  Bruno Haible  <bruno@clisp.org>
12535
12536         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
12537         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
12538         gl_PREREQ_STRERROR_R invocations from here...
12539         * modules/strerror_r-posix (configure.ac): ... to here.
12540
12541 2011-05-24  Eric Blake  <eblake@redhat.com>
12542
12543         strerror_r: fix missing header
12544         * lib/strerror_r.c: Avoid compiler warning about snprintf.
12545
12546         strerror_r: fix AIX test failures
12547         * lib/strerror_r.c (strerror_r): Convert silent truncation to
12548         ERANGE failure.
12549
12550         strerror_r: fix Solaris test failures
12551         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
12552         failures.
12553         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
12554
12555         strerror_r: enforce POSIX recommendations
12556         * lib/strerror_r.c (safe_copy): New helper method.
12557         (strerror_r): Guarantee a non-empty string.
12558         * tests/test-strerror_r.c (main): Enhance tests to incorporate
12559         recent POSIX rulings and to match our strerror guarantees.
12560         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
12561
12562 2011-05-24  Jim Meyering  <meyering@redhat.com>
12563
12564         test-perror2.c: avoid warning about unused variable
12565         * tests/test-perror2.c (main): Remove declaration of unused "fp".
12566
12567 2011-05-24  Eric Blake  <eblake@redhat.com>
12568
12569         perror: avoid spurious test failure on HP-UX
12570         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
12571
12572         tests: fix logic bug in init.sh
12573         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
12574         shell.
12575
12576 2011-05-24  Jim Meyering  <meyering@redhat.com>
12577
12578         utimensat: do not reference an out-of-scope buffer
12579         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
12580         declared in an inner scope, yet "times" would be dereferenced outside
12581         the scope in which "ts" was valid.
12582         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
12583         of ts[2] "out/up", so that the use of aliased "times" (via
12584         "times = ts;") does not end up referencing an out-of-scope "ts"
12585
12586         opendir-safer.c: don't clobber errno; don't close negative FD
12587         * lib/opendir-safer.c (opendir_safer):
12588         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
12589         file descriptor, and more importantly, don't clobber the
12590         offending errno value with EINVAL.  Before, upon failure
12591         of dup_safer, we would pass the negative file descriptor to
12592         fdopendir, which would clobber errno.
12593
12594 2011-05-23  Bruno Haible  <bruno@clisp.org>
12595
12596         idcache: Fix module description.
12597         * modules/idcache (Include): Set to "idcache.h".
12598
12599 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
12600
12601         gnulib-tool: fix portability problem with MacOS sed
12602         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
12603         before the "}".  Problem reported by Leo in
12604         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
12605         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
12606         sed_extract_condition1, sed_extract_condition2.
12607
12608 2011-05-23  Bruno Haible  <bruno@clisp.org>
12609
12610         hash: Simplify autoconf macro.
12611         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
12612
12613 2011-05-23  Bruno Haible  <bruno@clisp.org>
12614
12615         getugroups: Fix module description.
12616         * modules/getugroups (Include): Set to "getugroups.h".
12617
12618 2011-05-23  Bruno Haible  <bruno@clisp.org>
12619
12620         linkat: Simplify autoconf macro.
12621         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
12622
12623 2011-05-23  Bruno Haible  <bruno@clisp.org>
12624             Eric Blake  <eblake@redhat.com>
12625
12626         linkat, renameat: Update dependencies.
12627         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
12628         * modules/linkat (Depends-on): Likewise. Remove also readlink,
12629         symlinkat.
12630
12631 2011-05-23  Jim Meyering  <meyering@redhat.com>
12632
12633         maint.mk: more tight_scope improvements
12634         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
12635         (_gl_TS_headers): Define only in if-0'd block.
12636         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
12637         sometimes we must *not* use it.  Adjust uses accordingly.
12638         (sc_tight_scope): Use much simpler grep-based test to determine
12639         whether we skip this rule.
12640
12641         maint.mk: generalize/improve the tight-scope rule
12642         * top/maint.mk: Emit a warning when the test is skipped.
12643         (_gl_TS_dir): Add $(srcdir)/ prefix.
12644         (_gl_TS_function_match): Simplify, rather than trying
12645         to enumerate common types.  Otherwise, it would fail to match an
12646         "extern unsigned char const *" declaration in idutils.
12647         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
12648         a way to support use of that type of macro.
12649         (_gl_TS_var_match): Simplify regexp.
12650         (_gl_TS_obj_files): New configurable variable.
12651         (_gl_TS_headers): Likewise.
12652
12653 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
12654
12655         verify: fix bug when gnulib <assert.h> is also included
12656         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
12657         is defined, not if _GL_STATIC_ASSERT_H is not defined.
12658         Perhaps there's a better way, but this fixes the immediate problem.
12659         Problem reported by Bruno Haible in
12660         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
12661
12662 2011-05-22  Bruno Haible  <bruno@clisp.org>
12663
12664         xgetcwd: Simplify autoconf macro.
12665         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
12666
12667 2011-05-22  Bruno Haible  <bruno@clisp.org>
12668
12669         New module 'mktime-internal'.
12670         * modules/mktime-internal: New file.
12671         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
12672         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
12673         mktime_internal as a C macro if libc has __mktime_internal.
12674         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
12675         conditions.
12676         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
12677
12678 2011-05-22  Bruno Haible  <bruno@clisp.org>
12679
12680         timegm: Correct mktime replacement statements.
12681         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
12682         defining mktime as a C macro. This completes a 2009-07-28 commit.
12683
12684 2011-05-22  Bruno Haible  <bruno@clisp.org>
12685
12686         timegm: Simplify autoconf macro.
12687         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
12688
12689 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
12690
12691         clock-time: change to LGPLv2+.
12692         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
12693         BSD-like but we have no mark for that; this is good enough for now.
12694
12695 2011-05-21  Bruno Haible  <bruno@clisp.org>
12696
12697         strerror_r: Fix comments.
12698         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
12699
12700 2011-05-21  Bruno Haible  <bruno@clisp.org>
12701
12702         relocatable-prog-wrapper: Fix possible link error.
12703         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
12704         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
12705         (gl_FUNC_SETENV): ... to here.
12706         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
12707         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
12708
12709 2011-05-21  Bruno Haible  <bruno@clisp.org>
12710
12711         relocatable-prog-wrapper: Assume strerror() exists.
12712         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
12713         m4/strerror.m4.
12714         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
12715         * lib/relocwrapper.c: Remove mention of strerror module.
12716         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
12717         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
12718         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
12719         C macro.
12720
12721 2011-05-21  Bruno Haible  <bruno@clisp.org>
12722
12723         select: Simplify replacement idiom.
12724         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
12725         Win32 platforms.
12726         * lib/sys_select.in.h (select): Simplify accordingly.
12727         * modules/select (Depends-on): Likewise.
12728
12729 2011-05-21  Bruno Haible  <bruno@clisp.org>
12730
12731         mkdir-p: Simplify autoconf macro.
12732         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
12733         gl_FUNC_LCHOWN.
12734
12735 2011-05-21  Eric Blake  <eblake@redhat.com>
12736
12737         strerror_r: avoid clobbering strerror on cygwin
12738         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
12739         fall back instead to sys_errlist.
12740         * modules/strerror (configure.ac): Add witness.
12741         * tests/test-strerror_r.c (main): Enhance test.
12742         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
12743         * tests/test-perror2.c (main): Free memory before exit.
12744
12745 2011-05-21  Bruno Haible  <bruno@clisp.org>
12746
12747         mkdtemp: Use gnulib naming conventions.
12748         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
12749         * modules/mkdtemp (configure.ac): Update.
12750
12751 2011-05-20  Eric Blake  <eblake@redhat.com>
12752
12753         strerror_r: avoid corrupting errno on Solaris
12754         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
12755         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
12756
12757         strerror_r: avoid compiler warning
12758         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
12759
12760         strerror_r: simplify AIX code
12761         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
12762
12763         test-perror: avoid spurious failure on FreeBSD
12764         * modules/perror-tests (Depends-on): Add strerror, now that
12765         strerror_r no longer pulls it in.
12766
12767 2011-05-20  Bruno Haible  <bruno@clisp.org>
12768
12769         strerror_r-posix: Remove unused dependencies.
12770         * modules/strerror_r-posix (Depends-on): Remove strerror.
12771         Reported by Eric Blake.
12772
12773 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
12774
12775         intprops: remove assumption about A|B representation
12776         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
12777         is a valid integer if both A and B are.  Although this is true for
12778         all known practical hosts, the C standard doesn't guarantee it,
12779         and the code need not assume it.  Also, this change may work around
12780         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
12781         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
12782
12783 2011-05-20  Eric Blake  <eblake@redhat.com>
12784
12785         perror: work around FreeBSD bug
12786         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
12787         is broken.  Move AC_LIBOBJ...
12788         * modules/perror (configure.ac): Here.
12789         * doc/posix-functions/perror.texi (perror): Document this.
12790         * tests/test-perror2.c (main): Enhance test.
12791
12792         test-perror: check for strerror interactions
12793         * tests/macros.h (STREQ): Add macro.
12794         * modules/perror-tests (Files): Add second test.
12795         * tests/test-perror2.c (main): New file.
12796         * doc/posix-functions/perror.texi (perror): Document glibc bug.
12797
12798         test-perror: rewrite to use init script
12799         * modules/perror-tests (Files): Add init.sh.
12800         * tests/test-perror.sh: Use temporary directory.
12801
12802 2011-05-20  Jim Meyering  <meyering@redhat.com>
12803
12804         maint: replace misused "a" with "an"
12805         * doc/intprops.texi: "a integer"
12806         * doc/regex.texi: "a explanation"
12807         * lib/alignof.h: "a object"
12808         * lib/argmatch.h: "a explanation"
12809         * lib/argp-help.c: "a option" and "a OPTION_DOC"
12810         * lib/stdint.in.h: "a integer"
12811         * lib/userspec.c: "a owner"
12812         * doc/gnulib.texi: Fix "a idea", and reword.
12813
12814 2011-05-19  Jim Meyering  <meyering@redhat.com>
12815
12816         maint: correct misuse of "a" and "an"
12817         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
12818         * lib/argp-help.c: "an docum...": s/an/a/
12819         * lib/argp-parse.c: "An vector": s/An/A/
12820         * lib/execute.c: "an native": s/an/a/
12821         * lib/spawn-pipe.c: Likewise.
12822         * lib/gc.h: "an Gc_rc": s/an/a/
12823         * lib/unigbrk.in.h: "an grapheme": s/an/a/
12824         * lib/fts.c: "an stat.st_dev": s/an/a/
12825
12826 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
12827
12828         intprops-tests: work around HP-UX 11.23 cc bug with constants
12829         * tests/test-intprops.c (VERIFY): New macro.
12830         (main): Use it, instead of verify, to work around the compiler bug; see
12831         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
12832
12833         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
12834         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
12835         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
12836         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
12837         (_GL_REMAINDER_OVERFLOW): Use it.
12838
12839         intprops-tests: revert unsigned part of previous change
12840         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
12841         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
12842         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
12843         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
12844
12845 2011-05-19  Bruno Haible  <bruno@clisp.org>
12846
12847         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
12848         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
12849         strerror_r() returned without filling the buffer.
12850         Reported by Eric Blake.
12851
12852 2011-05-19  Eric Blake  <eblake@redhat.com>
12853
12854         strerror_r: guarantee unchanged errno
12855         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
12856         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
12857         failure.
12858         * tests/test-strerror_r.c (main): Enhance test.
12859
12860 2011-05-19  Bruno Haible  <bruno@clisp.org>
12861
12862         strerror_r: Reorder #if blocks.
12863         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
12864         for consistency with the previous commit.
12865
12866 2011-05-19  Bruno Haible  <bruno@clisp.org>
12867
12868         perror: Avoid clobbering the strerror buffer when possible.
12869         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
12870         * lib/strerror.c: Include it.
12871         * modules/strerror (Files): Add lib/strerror-impl.h.
12872         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
12873         (my_strerror): New function, defined through lib/strerror-impl.h.
12874         (perror): Use it instead of strerror.
12875         * modules/perror (Files): Add lib/strerror-impl.h.
12876         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
12877
12878 2011-05-19  Eric Blake  <eblake@redhat.com>
12879
12880         strerror_r: fix on newer cygwin
12881         * lib/strerror_r.c (strerror_r): Cygwin now has
12882         __xpg_strerror_r, use it.
12883
12884 2011-05-19  Bruno Haible  <bruno@clisp.org>
12885
12886         strerror_r: Avoid clobbering the strerror buffer when possible.
12887         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
12888         (sys_nerr, sys_errlist): New declarations.
12889         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
12890         HP-UX, native Win32, IRIX, and 32-bit Solaris.
12891         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
12892
12893 2011-05-19  Bruno Haible  <bruno@clisp.org>
12894
12895         strerror_r: Fix test failure on mingw.
12896         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
12897         EXTEND_STRERROR_R.
12898         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
12899         macros from errno.in.h instead.
12900
12901 2011-05-19  Eric Blake  <eblake@redhat.com>
12902
12903         strerror: relax test for Solaris
12904         * tests/test-strerror.c (main): Permit Solaris behavior.
12905         * tests/test-strerror_r.c (main): Likewise.
12906
12907         strerror: enforce POSIX ruling on strerror(0)
12908         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
12909         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
12910         * lib/strerror_r.c (rpl_strerror_r): Work around it.
12911         * doc/posix-functions/strerror.texi (strerror): Document it.
12912         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
12913         * tests/test-strerror.c (main): Strengthen test.
12914         * tests/test-strerror_r.c (main): Likewise.
12915
12916 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
12917
12918         intprop-tests: port to older and more-pedantic compilers
12919         * modules/intprops-tests (Files): Add tests/macros.h.
12920         * tests/test-intprops.c: Include macros.h.
12921         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
12922         it's no longer documented to expand to an integer constant expression.
12923         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
12924         argument is floating point, as it's no longer documented to expand
12925         to an integer constant expression in that case.
12926         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
12927         compiler bugs reported by Bruno Haible.  See
12928         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
12929         (U0, U1): New constants, to work around the same bugs.  Also,
12930         in tests, use e.g., "(unsigned int) 39" rather than "39u".
12931
12932         intprops: work around C compiler bugs
12933         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
12934         bug in Sun C 5.11 2010/08/13 and other compilers; see
12935         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
12936
12937         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
12938         * doc/intprops.texi (Integer Type Determination): Fix
12939         documentation for TYPE_IS_INTEGER: it returns an constant
12940         expression, not an integer constant expression.  Fix doc for
12941         TYPE_SIGNED: it returns an integer constant expression only if its
12942         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
12943         hardly worth documented that way....)
12944
12945 2011-05-18  Bruno Haible  <bruno@clisp.org>
12946
12947         strerror_r: Avoid clobbering the strerror buffer when possible.
12948         * lib/strerror_r.c (strerror_r): Merge the three implementations.
12949         Handle gnulib defined errno values here. When strerror() returns NULL
12950         or an empty string, return EINVAL.
12951         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
12952         gnulib defined errno values here.
12953         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
12954
12955 2011-05-18  Eric Blake  <eblake@redhat.com>
12956
12957         fnmatch: avoid compiler warning
12958         * lib/fnmatch_loop.c (FCT): Use correct type.
12959         Reported by Matthias Bolte.
12960
12961 2011-05-13  Jim Meyering  <meyering@redhat.com>
12962
12963         maint.mk: three new prohibit_<HDR>_without_use rules
12964         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
12965         (sc_prohibit_stdio-safer_without_use): Likewise.
12966         (sc_prohibit_xfreopen_without_use): Likewise.
12967
12968 2011-05-17  Jim Meyering  <meyering@redhat.com>
12969
12970         announce-gen: fail if the NEWS delta is empty
12971         If there's nothing noteworthy in NEWS, then either you forgot
12972         or you shouldn't be releasing.
12973         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
12974
12975 2011-05-17  Pádraig Brady <P@draigBrady.com>
12976
12977         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
12978         reserved symbols starting with double underscore from the check.
12979
12980 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
12981
12982         intprops: add doc
12983         * doc/intprops.texi: New file, documenting intprops.
12984         * doc/gnulib.texi (Particular Modules): Include it.
12985
12986         verify: add doc to gnulib manual and fix example
12987         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
12988         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
12989         (Compile-time Assertions): Fix example so it can't overflow.
12990
12991 2011-05-17  Jim Meyering  <meyering@redhat.com>
12992
12993         warnings.m4: don't usurp save_CPPFLAGS variable name
12994         * m4/warnings.m4: Prefix local temporary variable name with gl_.
12995
12996         doc: fix typo
12997         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
12998
12999 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13000             Bruno Haible  <bruno@clisp.org>
13001
13002         doc: Tweak recent change.
13003         * README (Portability guidelines): Tweak new text.
13004         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
13005         Interix 6.1.
13006
13007 2011-05-16  Eric Blake  <eblake@redhat.com>
13008
13009         inttypes: avoid autoconf warning
13010         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
13011         * m4/stdint.m4 (gl_STDINT_H): Likewise.
13012
13013 2011-05-16  Sam Steingold <sds@gnu.org>
13014         and Eric Blake  <eblake@redhat.com>
13015
13016         vc-list-files: accept multiple directory operands
13017         * build-aux/vc-list-files: Iterate over all remaining operands.
13018
13019 2011-05-16  Bruno Haible  <bruno@clisp.org>
13020
13021         Fix confusion regarding deprecated modules.
13022         * modules/calloc (Status, Notice): Mark module as deprecated, not
13023         obsolete.
13024         * modules/fnmatch-posix (Status, Notice): Likewise.
13025         * modules/getdate (Status, Notice): Likewise.
13026         * modules/getopt (Status, Notice): Likewise.
13027         * modules/malloc (Status, Notice): Likewise.
13028         * modules/pipe (Status, Notice): Likewise.
13029         * modules/realloc (Status, Notice): Likewise.
13030         * modules/rename-dest-slash (Status, Notice): Likewise.
13031         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
13032         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
13033         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
13034         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
13035         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
13036
13037 2011-05-16  Bruno Haible  <bruno@clisp.org>
13038
13039         doc: List the target platforms.
13040         * doc/gnulib-intro.texi (Target Platforms): New section.
13041         * doc/gnulib.texi (Introduction): Update menu.
13042         * README (Portability guidelines): Refer to the new section. Update
13043         statement about oldest supported environment. Remove rationale why
13044         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
13045         unportable C89 function.
13046         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
13047         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
13048
13049 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13050
13051         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
13052
13053 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
13054
13055         intprops-tests: new module
13056         * modules/intprops-tests, tests/test-intprops.c: New files.
13057
13058         intprops: add safe, portable integer overflow checking
13059         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
13060         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
13061         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
13062         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
13063         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
13064         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
13065         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
13066         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
13067         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
13068         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
13069         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
13070
13071 2011-05-12  James Youngman  <jay@gnu.org>
13072
13073         Add a test for glibc's Bugzilla bug #12378.
13074         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
13075         doesn't allow the literal matching of a lone "[" (which is
13076         required by POSIX).
13077         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
13078
13079 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
13080
13081         Sync glibc change fixing Bugzilla bug #12378.
13082         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
13083         beginning and fall back to matching as normal character if the
13084         string ends before the matching ']' is found.  This is what POSIX
13085         requires.
13086
13087 2011-05-13  Eric Blake  <eblake@redhat.com>
13088
13089         getcwd-lgpl: relax test for FreeBSD
13090         * doc/posix-functions/getcwd.texi (getcwd): Document portability
13091         issue.
13092         * tests/test-getcwd-lgpl.c (main): Relax test.
13093         Reported by Matthias Bolte.
13094
13095 2011-05-11  Eric Blake  <eblake@redhat.com>
13096
13097         test-fflush: silence compiler warning
13098         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
13099
13100 2011-05-11  Bruno Haible  <bruno@clisp.org>
13101
13102         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
13103         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
13104         * modules/canonicalize (Depends-on): Add 'nocrash'.
13105         * modules/canonicalize-lgpl (Depends-on): Likewise.
13106         * doc/posix-functions/realpath.texi: Update platforms list.
13107         Reported by Ryan Schmidt <ryandesign@macports.org>.
13108
13109 2011-05-11  Bruno Haible  <bruno@clisp.org>
13110
13111         group-member: Declare function in <unistd.h>.
13112         * lib/unistd.in.h (group_member): New declaration.
13113         * lib/group-member.h: Remove file.
13114         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
13115         * tests/test-unistd-c++.cc: Check signature of group_member.
13116         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
13117         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
13118         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
13119         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
13120         HAVE_GROUP_MEMBER.
13121         * modules/group-member (Files): Remove lib/group-member.h.
13122         (Depends-on): Add unistd. Specify conditions.
13123         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
13124         (Include): Change to <unistd.h>.
13125         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
13126         HAVE_GROUP_MEMBER.
13127         * NEWS: Mention the change.
13128         * lib/euidaccess.c: Don't include group-member.h.
13129
13130 2011-05-11  Bruno Haible  <bruno@clisp.org>
13131
13132         group-member: Document module.
13133         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
13134         module.
13135
13136 2011-05-11  Bruno Haible  <bruno@clisp.org>
13137
13138         fclose: Fix mistake earlier today.
13139         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
13140
13141 2011-05-11  Eric Blake  <eblake@redhat.com>
13142
13143         fclose: preserve fflush errors
13144         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
13145         Reported by Jim Meyering.
13146
13147         bootstrap: support a prereq of 'rpcgen -' on RHEL5
13148         * build-aux/bootstrap (check_versions): When no specific version
13149         is required, merely check that the app produces an exit status
13150         that indicates its existence.
13151
13152         maint.mk: drop redundant check
13153         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
13154         the same but better.
13155
13156 2011-05-11  Bruno Haible  <bruno@clisp.org>
13157
13158         fclose: Fix possible link error.
13159         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
13160         unregister_shadow_fd. Improve comments.
13161         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
13162         Eric Blake.
13163
13164 2011-05-11  Jim Meyering  <meyering@redhat.com>
13165
13166         maint.mk: improve "can not" detection and generalize rule name
13167         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
13168         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
13169         Use the same technique as in sc_prohibit_doubled_word, so that
13170         we recognize "can not" also when the words are separated by a newline.
13171         Suggested by Eric Blake.
13172         (perl_filename_lineno_text_): Define.  Factored out of...
13173         (prohibit_doubled_word_): ...here.  Use the new definition.
13174         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
13175         (prohibit_undesirable_word_seq_RE_): New overridable variable.
13176         (ignore_undesirable_word_sequence_RE_): New overridable variable.
13177
13178 2011-05-10  Eric Blake  <eblake@redhat.com>
13179
13180         fclose: avoid double close race when possible
13181         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
13182         all but WINDOWS_SOCKETS.
13183
13184 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
13185
13186         openat: correct new comment
13187         * lib/openat-proc.c (openat_proc_name): Correct the comment.
13188
13189 2011-05-10  Jim Meyering  <meyering@redhat.com>
13190
13191         openat: add comments
13192         * lib/openat-proc.c (openat_proc_name): Add comments,
13193         mostly from Eric Blake.
13194
13195 2011-05-09  Eric Blake  <eblake@redhat.com>
13196
13197         openat: reduce syscalls in first probe of /proc
13198         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
13199         be a directory.  Simplify the probe for .. bugs.
13200         * modules/openat (Depends-on): Drop same-inode.
13201         Reported by Bastien ROUCARIES.
13202
13203 2011-05-09  Jim Meyering  <meyering@redhat.com>
13204
13205         maint.mk: change semantics/name of tight_scope variables
13206         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
13207         Rename variables to align with semantics that make them more useful.
13208
13209         maint.mk: tweak new rule's name not to impinge
13210         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
13211         (sc_tight_scope): Use new rule name rather than $@-0.
13212
13213         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
13214         * top/maint.mk (sc_tight_scope): New rule.
13215         (sc_tight_scope-0): New rule, ifdef'd out.
13216         (_gl_TS_dir): Default.
13217         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
13218         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
13219
13220 2011-05-09  Simon Josefsson  <simon@josefsson.org>
13221
13222         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
13223         Haible <bruno@clisp.org>.
13224
13225 2011-05-08  Bruno Haible  <bruno@clisp.org>
13226
13227         Comments.
13228         * m4/isnanf.m4: Add comment.
13229         * m4/isnanl.m4: Likewise.
13230
13231 2011-05-08  Bruno Haible  <bruno@clisp.org>
13232
13233         glob: Remove obsolete macro.
13234         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
13235
13236 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
13237
13238         intprops: Sun C 5.11 supports __typeof__
13239         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
13240         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
13241         which is new.
13242         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
13243
13244         intprops: switch to usual gnulib indenting and naming
13245         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
13246         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
13247
13248         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
13249
13250 2011-05-08  Jim Meyering  <meyering@redhat.com>
13251
13252         maint.mk: suppress "Entering/Leaving directory" diag in announcement
13253         * top/maint.mk (release-prep): Use make's --no-print-directory
13254         option when generating the announcement.  This eliminates the
13255         pesky "make[2]: Entering/Leaving directory" diagnostics in the
13256         generated announcement template.
13257
13258 2011-05-08  Bruno Haible  <bruno@clisp.org>
13259
13260         tzset: Fix gettimeofday wrapper on Solaris 2.6.
13261         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
13262         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
13263
13264 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
13265
13266         ignore-value, verify: Omit include files from lib_SOURCES.
13267         * modules/ignore-value, modules/verify (Makefile.am):
13268         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
13269         that leads Automake to duplicate use of am__objects_... variables
13270         in Makefile.in.  See
13271         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
13272
13273 2011-05-07  Bruno Haible  <bruno@clisp.org>
13274
13275         fclose: Simplify autoconf macro.
13276         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
13277         defined.
13278
13279 2011-05-07  Bruno Haible  <bruno@clisp.org>
13280
13281         canonicalize-lgpl: Fix autoconf macro ordering bug.
13282         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
13283         gl_STDLIB_H_DEFAULTS.
13284
13285 2011-05-06  Eric Blake  <eblake@redhat.com>
13286
13287         maintainer-makefile: make sc_po_check easier to tune
13288         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
13289         to probe for strings, such as an alternate location for gnulib.
13290
13291         fclose: guarantee behavior on seekable stdin
13292         * modules/fclose (Depends-on): Add fflush.
13293         * doc/posix-functions/fclose.texi (fclose): Document this.
13294         * tests/test-fclose.c (main): Make test for this unconditional.
13295
13296 2011-05-06  Bruno Haible  <bruno@clisp.org>
13297
13298         fflush, fpurge: Relicense under LGPLv2+.
13299         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
13300         * modules/fpurge (License): Likewise.
13301         With permission from Eric Blake and Jim Meyering.
13302         Suggested by Eric Blake.
13303
13304 2011-05-06  Karl Berry  <karl@gnu.org>
13305
13306         * MODULES.html.sh (func_all_modules): remove exit.
13307
13308 2011-05-06  Jim Meyering  <meyering@redhat.com>
13309
13310         maint.mk: use info-gnu@ as the default only for a stable release
13311         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
13312         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
13313         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
13314         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
13315
13316 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
13317
13318         assert-h: new module, which supports C1X-style static_assert
13319         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
13320         * lib/verify.h: Revamp so that this can be copied into assert.h,
13321         while retaining the ability to use it standalone as before.
13322         Rename private identifiers so as not to encroach on the
13323         standard C namespace, since this is now used by assert.h.
13324         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
13325         the old verify_true.
13326         (_GL_VERIFY_TRUE): New macro, with much of the contents of
13327         the old verify_true.  Use _GL_VERIFY_TYPE.
13328         (_GL_VERIFY): New macro, with much of the contents of the old verify.
13329         (static_assert): New macro, if _GL_STATIC_ASSERT_H
13330         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
13331         defined when this file is copied into the replacement assert.h.
13332         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
13333         and _Static_assert is not built in.
13334         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
13335         defined, and use the new macros mentioned above.
13336         * doc/posix-headers/assert.texi: Document this.
13337
13338 2011-05-05  Bruno Haible  <bruno@clisp.org>
13339
13340         fclose, fflush: Respect rules for use of AC_LIBOBJ.
13341         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
13342         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
13343         gl_REPLACE_FCLOSE here.
13344         * modules/fflush (Depends-on): Remove fclose.
13345         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
13346         combination with module 'fclose'.
13347
13348 2011-05-05  Bruno Haible  <bruno@clisp.org>
13349
13350         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
13351         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
13352         gl_FUNC_FFLUSH.
13353         (gl_FUNC_FFLUSH): Use it.
13354         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
13355         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
13356         gl_REPLACE_FSEEKO here.
13357
13358 2011-05-05  Bruno Haible  <bruno@clisp.org>
13359
13360         tzset: Relicense under LGPL.
13361         * modules/tzset (License): Change to LGPL.
13362         No agreement needed; it's a no-op.
13363
13364         strtoimax, strtoumax: Relicense under LGPL.
13365         * modules/strtoimax (License): Change to LGPL.
13366         * modules/strtoumax (License): Likewise.
13367         With permission from Jim Meyering, Paul Eggert:
13368         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
13369         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
13370
13371         getgroups: Relicense under LGPL.
13372         * modules/getgroups (License): Change to LGPL.
13373         With permission from Jim Meyering, Paul Eggert, Eric Blake:
13374         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
13375         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
13376         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13377
13378         nanosleep: Relicense under LGPL.
13379         * modules/nanosleep (License): Change to LGPL.
13380         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
13381         Haible:
13382         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
13383         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
13384         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13385         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
13386
13387         futimens: Relicense under LGPL.
13388         * modules/futimens (License): Change to LGPL.
13389         With permission from Eric Blake:
13390         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13391
13392         fflush: Relicense under LGPL.
13393         * modules/fflush (License): Change to LGPL.
13394         With permission from Eric Blake, Bruno Haible, Jim Meyering:
13395         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13396         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
13397         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
13398
13399         tmpfile: Relicense under LGPL.
13400         * modules/tmpfile (License): Change to LGPL.
13401         With permission from Ben Pfaff:
13402         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
13403
13404         isfinite: Relicense under LGPL.
13405         * modules/isfinite (License): Change to LGPL.
13406         With permission from Ben Pfaff, Bruno Haible:
13407         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
13408         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
13409
13410         acosl..tanl: Relicense under LGPL.
13411         * modules/acosl (License): Change to LGPL.
13412         * modules/asinl (License): Likewise.
13413         * modules/atanl (License): Likewise.
13414         * modules/cosl (License): Likewise.
13415         * modules/expl (License): Likewise.
13416         * modules/logl (License): Likewise.
13417         * modules/sinl (License): Likewise.
13418         * modules/sqrtl (License): Likewise.
13419         * modules/tanl (License): Likewise.
13420         Source code originally from glibc and Paolo Bonzini. Agreements:
13421         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
13422         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
13423
13424 2011-05-05  Bruno Haible  <bruno@clisp.org>
13425
13426         signal: Define sighandler_t.
13427         * lib/signal.in.h (sighandler_t): New type.
13428         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
13429         whether sighandler_t is defined.
13430         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
13431         * modules/signal (Depends-on): Add extensions.
13432         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
13433         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
13434         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
13435
13436 2011-05-05  Eric Blake  <eblake@redhat.com>
13437
13438         maint: remove useless REPLACE_*_H macros
13439         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
13440         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
13441         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
13442         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
13443         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
13444         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
13445         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
13446         * m4/btowc.m4: Update callers.
13447         * m4/dirfd.m4: Likewise.
13448         * m4/duplocale.m4: Likewise.
13449         * m4/fchdir.m4: Likewise.
13450         * m4/fdopendir.m4: Likewise.
13451         * m4/inet_ntop.m4: Likewise.
13452         * m4/inet_pton.m4: Likewise.
13453         * m4/ioctl.m4: Likewise.
13454         * m4/mbrlen.m4: Likewise.
13455         * m4/mbrtowc.m4: Likewise.
13456         * m4/mbsinit.m4: Likewise.
13457         * m4/mbsnrtowcs.m4: Likewise.
13458         * m4/mbsrtowcs.m4: Likewise.
13459         * m4/poll.m4: Likewise.
13460         * m4/setlocale.m4: Likewise.
13461         * m4/wcrtomb.m4: Likewise.
13462         * m4/wcsnrtombs.m4: Likewise.
13463         * m4/wcsrtombs.m4: Likewise.
13464         * m4/wctob.m4: Likewise.
13465         * m4/wcwidth.m4: Likewise.
13466         * modules/posix_spawn: Likewise.
13467         * modules/posix_spawn_file_actions_addclose: Likewise.
13468         * modules/posix_spawn_file_actions_adddup2: Likewise.
13469         * modules/posix_spawn_file_actions_addopen: Likewise.
13470         * modules/posix_spawn_file_actions_destroy: Likewise.
13471         * modules/posix_spawn_file_actions_init: Likewise.
13472         * modules/posix_spawnattr_destroy: Likewise.
13473         * modules/posix_spawnattr_getflags: Likewise.
13474         * modules/posix_spawnattr_getpgroup: Likewise.
13475         * modules/posix_spawnattr_getschedparam: Likewise.
13476         * modules/posix_spawnattr_getschedpolicy: Likewise.
13477         * modules/posix_spawnattr_getsigdefault: Likewise.
13478         * modules/posix_spawnattr_getsigmask: Likewise.
13479         * modules/posix_spawnattr_init: Likewise.
13480         * modules/posix_spawnattr_setflags: Likewise.
13481         * modules/posix_spawnattr_setpgroup: Likewise.
13482         * modules/posix_spawnattr_setschedparam: Likewise.
13483         * modules/posix_spawnattr_setschedpolicy: Likewise.
13484         * modules/posix_spawnattr_setsigdefault: Likewise.
13485         * modules/posix_spawnattr_setsigmask: Likewise.
13486         * modules/posix_spawnp: Likewise.
13487
13488 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
13489
13490         Add option to do-release-commit-and-tag to specify branch.
13491         * build-aux/do-release-commit-and-tag: Add --branch.
13492
13493 2011-05-03  Bruno Haible  <bruno@clisp.org>
13494
13495         Avoid unnecessary compilation units, through conditional dependencies.
13496         * modules/accept (Depends-on): Add conditions to the dependencies.
13497         * modules/acosl (Depends-on): Likewise.
13498         * modules/argz (Depends-on): Likewise.
13499         * modules/asinl (Depends-on): Likewise.
13500         * modules/atanl (Depends-on): Likewise.
13501         * modules/atoll (Depends-on): Likewise.
13502         * modules/bind (Depends-on): Likewise.
13503         * modules/btowc (Depends-on): Likewise.
13504         * modules/canonicalize-lgpl (Depends-on): Likewise.
13505         * modules/ceil (Depends-on): Likewise.
13506         * modules/ceilf (Depends-on): Likewise.
13507         * modules/ceill (Depends-on): Likewise.
13508         * modules/chdir-long (Depends-on): Likewise.
13509         * modules/chown (Depends-on): Likewise.
13510         * modules/close (Depends-on): Likewise.
13511         * modules/connect (Depends-on): Likewise.
13512         * modules/cosl (Depends-on): Likewise.
13513         * modules/dirfd (Depends-on): Likewise.
13514         * modules/dprintf (Depends-on): Likewise.
13515         * modules/dprintf-posix (Depends-on): Likewise.
13516         * modules/error (Depends-on): Likewise.
13517         * modules/euidaccess (Depends-on): Likewise.
13518         * modules/expl (Depends-on): Likewise.
13519         * modules/faccessat (Depends-on): Likewise.
13520         * modules/fchdir (Depends-on): Likewise.
13521         * modules/fclose (Depends-on): Likewise.
13522         * modules/fcntl (Depends-on): Likewise.
13523         * modules/fdopendir (Depends-on): Likewise.
13524         * modules/fflush (Depends-on): Likewise.
13525         * modules/floor (Depends-on): Likewise.
13526         * modules/floorf (Depends-on): Likewise.
13527         * modules/floorl (Depends-on): Likewise.
13528         * modules/fnmatch (Depends-on): Likewise.
13529         * modules/fopen (Depends-on): Likewise.
13530         * modules/fprintf-posix (Depends-on): Likewise.
13531         * modules/frexp (Depends-on): Likewise.
13532         * modules/frexp-nolibm (Depends-on): Likewise.
13533         * modules/frexpl (Depends-on): Likewise.
13534         * modules/frexpl-nolibm (Depends-on): Likewise.
13535         * modules/fseek (Depends-on): Likewise.
13536         * modules/fsusage (Depends-on): Likewise.
13537         * modules/ftell (Depends-on): Likewise.
13538         * modules/ftello (Depends-on): Likewise.
13539         * modules/futimens (Depends-on): Likewise.
13540         * modules/getcwd (Depends-on): Likewise.
13541         * modules/getcwd-lgpl (Depends-on): Likewise.
13542         * modules/getdelim (Depends-on): Likewise.
13543         * modules/getdomainname (Depends-on): Likewise.
13544         * modules/getgroups (Depends-on): Likewise.
13545         * modules/gethostname (Depends-on): Likewise.
13546         * modules/getline (Depends-on): Likewise.
13547         * modules/getlogin_r (Depends-on): Likewise.
13548         * modules/getopt-posix (Depends-on): Likewise.
13549         * modules/getpeername (Depends-on): Likewise.
13550         * modules/getsockname (Depends-on): Likewise.
13551         * modules/getsockopt (Depends-on): Likewise.
13552         * modules/getsubopt (Depends-on): Likewise.
13553         * modules/getusershell (Depends-on): Likewise.
13554         * modules/glob (Depends-on): Likewise.
13555         * modules/grantpt (Depends-on): Likewise.
13556         * modules/iconv_open (Depends-on): Likewise.
13557         * modules/iconv_open-utf (Depends-on): Likewise.
13558         * modules/inet_ntop (Depends-on): Likewise.
13559         * modules/inet_pton (Depends-on): Likewise.
13560         * modules/ioctl (Depends-on): Likewise.
13561         * modules/isapipe (Depends-on): Likewise.
13562         * modules/isfinite (Depends-on): Likewise.
13563         * modules/isinf (Depends-on): Likewise.
13564         * modules/lchown (Depends-on): Likewise.
13565         * modules/ldexpl (Depends-on): Likewise.
13566         * modules/link (Depends-on): Likewise.
13567         * modules/linkat (Depends-on): Likewise.
13568         * modules/listen (Depends-on): Likewise.
13569         * modules/logl (Depends-on): Likewise.
13570         * modules/lstat (Depends-on): Likewise.
13571         * modules/mbrlen (Depends-on): Likewise.
13572         * modules/mbrtowc (Depends-on): Likewise.
13573         * modules/mbsinit (Depends-on): Likewise.
13574         * modules/mbsnrtowcs (Depends-on): Likewise.
13575         * modules/mbsrtowcs (Depends-on): Likewise.
13576         * modules/mbtowc (Depends-on): Likewise.
13577         * modules/memcmp (Depends-on): Likewise.
13578         * modules/mkdir (Depends-on): Likewise.
13579         * modules/mkdtemp (Depends-on): Likewise.
13580         * modules/mkfifo (Depends-on): Likewise.
13581         * modules/mkfifoat (Depends-on): Likewise.
13582         * modules/mknod (Depends-on): Likewise.
13583         * modules/mkostemp (Depends-on): Likewise.
13584         * modules/mkostemps (Depends-on): Likewise.
13585         * modules/mkstemp (Depends-on): Likewise.
13586         * modules/mkstemps (Depends-on): Likewise.
13587         * modules/mktime (Depends-on): Likewise.
13588         * modules/nanosleep (Depends-on): Likewise.
13589         * modules/open (Depends-on): Likewise.
13590         * modules/openat (Depends-on): Likewise.
13591         * modules/perror (Depends-on): Likewise.
13592         * modules/poll (Depends-on): Likewise.
13593         * modules/popen (Depends-on): Likewise.
13594         * modules/posix_spawn (Depends-on): Likewise.
13595         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
13596         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
13597         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
13598         * modules/posix_spawnp (Depends-on): Likewise.
13599         * modules/pread (Depends-on): Likewise.
13600         * modules/printf-posix (Depends-on): Likewise.
13601         * modules/ptsname (Depends-on): Likewise.
13602         * modules/putenv (Depends-on): Likewise.
13603         * modules/pwrite (Depends-on): Likewise.
13604         * modules/readline (Depends-on): Likewise.
13605         * modules/readlink (Depends-on): Likewise.
13606         * modules/readlinkat (Depends-on): Likewise.
13607         * modules/recv (Depends-on): Likewise.
13608         * modules/recvfrom (Depends-on): Likewise.
13609         * modules/regex (Depends-on): Likewise.
13610         * modules/remove (Depends-on): Likewise.
13611         * modules/rename (Depends-on): Likewise.
13612         * modules/renameat (Depends-on): Likewise.
13613         * modules/rmdir (Depends-on): Likewise.
13614         * modules/round (Depends-on): Likewise.
13615         * modules/roundf (Depends-on): Likewise.
13616         * modules/roundl (Depends-on): Likewise.
13617         * modules/rpmatch (Depends-on): Likewise.
13618         * modules/select (Depends-on): Likewise.
13619         * modules/send (Depends-on): Likewise.
13620         * modules/sendto (Depends-on): Likewise.
13621         * modules/setenv (Depends-on): Likewise.
13622         * modules/setlocale (Depends-on): Likewise.
13623         * modules/setsockopt (Depends-on): Likewise.
13624         * modules/shutdown (Depends-on): Likewise.
13625         * modules/sigaction (Depends-on): Likewise.
13626         * modules/signbit (Depends-on): Likewise.
13627         * modules/sigprocmask (Depends-on): Likewise.
13628         * modules/sinl (Depends-on): Likewise.
13629         * modules/sleep (Depends-on): Likewise.
13630         * modules/snprintf (Depends-on): Likewise.
13631         * modules/snprintf-posix (Depends-on): Likewise.
13632         * modules/socket (Depends-on): Likewise.
13633         * modules/sprintf-posix (Depends-on): Likewise.
13634         * modules/sqrtl (Depends-on): Likewise.
13635         * modules/stat (Depends-on): Likewise.
13636         * modules/strchrnul (Depends-on): Likewise.
13637         * modules/strdup-posix (Depends-on): Likewise.
13638         * modules/strerror (Depends-on): Likewise.
13639         * modules/strerror_r-posix (Depends-on): Likewise.
13640         * modules/strndup (Depends-on): Likewise.
13641         * modules/strnlen (Depends-on): Likewise.
13642         * modules/strptime (Depends-on): Likewise.
13643         * modules/strsep (Depends-on): Likewise.
13644         * modules/strsignal (Depends-on): Likewise.
13645         * modules/strstr-simple (Depends-on): Likewise.
13646         * modules/strtod (Depends-on): Likewise.
13647         * modules/strtoimax (Depends-on): Likewise.
13648         * modules/strtok_r (Depends-on): Likewise.
13649         * modules/strtoumax (Depends-on): Likewise.
13650         * modules/symlink (Depends-on): Likewise.
13651         * modules/symlinkat (Depends-on): Likewise.
13652         * modules/tanl (Depends-on): Likewise.
13653         * modules/tcgetsid (Depends-on): Likewise.
13654         * modules/tmpfile (Depends-on): Likewise.
13655         * modules/trunc (Depends-on): Likewise.
13656         * modules/truncf (Depends-on): Likewise.
13657         * modules/truncl (Depends-on): Likewise.
13658         * modules/uname (Depends-on): Likewise.
13659         * modules/unlink (Depends-on): Likewise.
13660         * modules/unlockpt (Depends-on): Likewise.
13661         * modules/unsetenv (Depends-on): Likewise.
13662         * modules/usleep (Depends-on): Likewise.
13663         * modules/utimensat (Depends-on): Likewise.
13664         * modules/vasprintf (Depends-on): Likewise.
13665         * modules/vdprintf (Depends-on): Likewise.
13666         * modules/vdprintf-posix (Depends-on): Likewise.
13667         * modules/vfprintf-posix (Depends-on): Likewise.
13668         * modules/vprintf-posix (Depends-on): Likewise.
13669         * modules/vsnprintf (Depends-on): Likewise.
13670         * modules/vsnprintf-posix (Depends-on): Likewise.
13671         * modules/vsprintf-posix (Depends-on): Likewise.
13672         * modules/wcrtomb (Depends-on): Likewise.
13673         * modules/wcscasecmp (Depends-on): Likewise.
13674         * modules/wcscspn (Depends-on): Likewise.
13675         * modules/wcsdup (Depends-on): Likewise.
13676         * modules/wcsncasecmp (Depends-on): Likewise.
13677         * modules/wcsnrtombs (Depends-on): Likewise.
13678         * modules/wcspbrk (Depends-on): Likewise.
13679         * modules/wcsrtombs (Depends-on): Likewise.
13680         * modules/wcsspn (Depends-on): Likewise.
13681         * modules/wcsstr (Depends-on): Likewise.
13682         * modules/wcstok (Depends-on): Likewise.
13683         * modules/wcswidth (Depends-on): Likewise.
13684         * modules/wctob (Depends-on): Likewise.
13685         * modules/wctomb (Depends-on): Likewise.
13686         * modules/wctype (Depends-on): Likewise.
13687         * modules/wcwidth (Depends-on): Likewise.
13688         * modules/write (Depends-on): Likewise.
13689
13690 2011-05-03  Bruno Haible  <bruno@clisp.org>
13691
13692         Support for conditional dependencies.
13693         * doc/gnulib.texi (Module description): Document the syntax of
13694         conditional dependencies.
13695         * gnulib-tool: New option --conditional-dependencies.
13696         (func_usage): Document it.
13697         (cond_dependencies): New variable.
13698         (func_get_automake_snippet_conditional,
13699         func_get_automake_snippet_unconditional): New functions, extracted from
13700         func_get_automake_snippet.
13701         (func_get_automake_snippet): Use them.
13702         (sed_first_32_chars): New variable.
13703         (func_module_shellfunc_name): New function.
13704         (func_module_shellvar_name): New function.
13705         (func_module_conditional_name): New function.
13706         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
13707         func_cond_module_condition): New functions.
13708         (func_modules_transitive_closure): Add support for conditional
13709         dependencies.
13710         (func_emit_lib_Makefile_am): For a conditional module, enclose the
13711         conditional automake snippet in an automake conditional.
13712         (func_emit_autoconf_snippets): Emit shell functions that contain the
13713         code for conditional modules.
13714         (func_import, func_create_testdir): Update specification.
13715
13716 2011-05-03  Eric Blake  <eblake@redhat.com>
13717
13718         test-getaddrinfo: report error information
13719         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
13720
13721 2011-05-03  Jim Meyering  <meyering@redhat.com>
13722
13723         bootstrap: avoid build failure when $GZIP is set
13724         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
13725         program name.  If defined at all, it is supposed to list gzip options.
13726         Reported by Alan Curry in http://debbugs.gnu.org/8609
13727
13728 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
13729
13730         readme-release: new module with release instructions
13731         * modules/readme-release: New module.
13732         * top/README-release: New file, from coreutils, grep, diffutils.
13733         * MODULES.html.sh (Support for maintaining and releasing): Add it.
13734
13735 2011-05-02  Eric Blake  <eblake@redhat.com>
13736
13737         fflush: also replace fclose when fixing fflush
13738         * modules/fflush (Depends-on): Add fclose.
13739         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
13740         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
13741         memstreams with no backing fd.
13742         * doc/posix-functions/fclose.texi (fclose): Document the use of
13743         fflush module to fix the bug.
13744         * tests/test-fclose.c (main): Relax test when fclose is used in
13745         isolation.
13746
13747         fclose: add some tests
13748         * modules/fclose-tests: New test module.
13749         * tests/test-fclose.c: New file.
13750         * doc/posix-functions/fclose.texi (fclose): Document the bug.
13751
13752         fclose: reduced dependencies
13753         * modules/fclose (Depends-on): Switch from fflush/fseeko to
13754         simpler lseek.
13755         * lib/fclose.c (rpl_fclose): Likewise.
13756         Reported by Simon Josefsson.
13757
13758         exit: drop remaining clients
13759         * modules/argmatch (Depends-on): Replace exit with stdlib.
13760         * modules/copy-file (Depends-on): Likewise.
13761         * modules/execute (Depends-on): Likewise.
13762         * modules/exitfail (Depends-on): Likewise.
13763         * modules/obstack (Depends-on): Likewise.
13764         * modules/pagealign_alloc (Depends-on): Likewise.
13765         * modules/pipe-filter-gi (Depends-on): Likewise.
13766         * modules/pipe-filter-ii (Depends-on): Likewise.
13767         * modules/savewd (Depends-on): Likewise.
13768         * modules/spawn-pipe (Depends-on): Likewise.
13769         * modules/wait-process (Depends-on): Likewise.
13770         * modules/xsetenv (Depends-on): Likewise.
13771         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
13772         * modules/git-merge-changelog (Depends-on): Likewise.
13773         * modules/long-options (Depends-on): Likewise.
13774         * modules/pt_chown (Depends-on): Likewise.
13775         * modules/sysexits (Depends-on): Likewise.
13776
13777         freading: relax license from LGPLv3+ to LGPLv2+
13778         * modules/freading (License): Relax LGPL version.
13779
13780 2011-05-02  Bruno Haible  <bruno@clisp.org>
13781
13782         fchdir: Remove unused dependencies.
13783         * modules/fchdir (Depends-on): Remove include_next.
13784
13785 2011-05-02  Bruno Haible  <bruno@clisp.org>
13786
13787         gnulib-tool: Refactor.
13788         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
13789         from func_emit_autoconf_snippets.
13790         (func_emit_autoconf_snippets): Use it.
13791
13792 2011-05-02  Simon Josefsson  <simon@josefsson.org>
13793
13794         * NEWS: Document removal of 'exit'.
13795         * modules/exit: Remove file.
13796
13797 2011-05-01  Bruno Haible  <bruno@clisp.org>
13798
13799         Update DEPENDENCIES.
13800         * DEPENDENCIES (gettext): Recommend the newest release.
13801         Reported by Simon Josefsson.
13802
13803 2011-05-01  Bruno Haible  <bruno@clisp.org>
13804
13805         gnulib-tool: Reduce code duplication.
13806         * gnulib-tool (func_emit_autoconf_snippets): New function.
13807         (func_import, func_create_testdir): Use it.
13808
13809 2011-04-30  Eric Blake  <eblake@redhat.com>
13810
13811         fclose: don't fail on non-seekable input stream
13812         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
13813         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
13814         since fflush is allowed to fail in that case.
13815
13816 2011-04-30  Bruno Haible  <bruno@clisp.org>
13817
13818         dup3: cleanup
13819         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
13820
13821 2011-04-30  Bruno Haible  <bruno@clisp.org>
13822
13823         netdb: Make it work in C++ mode.
13824         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
13825         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
13826         module.
13827         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
13828         gl_MODULE_INDICATOR_FOR_TESTS.
13829         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
13830         * modules/netdb-c++-tests: New file.
13831         * tests/test-netdb-c++.cc: New file.
13832
13833 2011-04-30  Bruno Haible  <bruno@clisp.org>
13834
13835         New modules 'vfscanf', 'vscanf'.
13836         * modules/vfscanf: New file.
13837         * modules/vscanf: New file.
13838         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
13839         here.
13840         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
13841         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
13842
13843 2011-04-30  Bruno Haible  <bruno@clisp.org>
13844
13845         passfd: Add comments.
13846         * lib/passfd.c: Add comments about platforms.
13847
13848 2011-04-30  Bruno Haible  <bruno@clisp.org>
13849
13850         sys_uio: Make <sys/uio.h> self-contained.
13851         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
13852         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
13853
13854 2011-04-30  Bruno Haible  <bruno@clisp.org>
13855
13856         sys_socket: Ensure 'struct iovec' definition.
13857         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
13858         <sys/socket.h>.
13859         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
13860
13861 2011-04-30  Bruno Haible  <bruno@clisp.org>
13862
13863         sys_uio: Protect definition of 'struct iovec'.
13864         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
13865         it as a C struct.
13866
13867 2011-04-30  Bruno Haible  <bruno@clisp.org>
13868
13869         manywarnings: fix indentation
13870         * m4/manywarnings.m4: Indent by 2 spaces consistently.
13871
13872 2011-04-30  Pádraig Brady <P@draigBrady.com>
13873
13874         manywarnings: add -Wno-missing-field-initializers if needed.
13875         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
13876         option if it's needed to allow initialization with { 0, }
13877
13878 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
13879
13880         announce-gen: cosmetic improvement
13881         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
13882
13883 2011-04-29  Jim Meyering  <meyering@redhat.com>
13884
13885         vc-list-files: indent with spaces, not TABs
13886         * build-aux/vc-list-files: Convert leading TABs to spaces,
13887         to match the style of most other files in gnulib.
13888
13889         announce-gen: indent with spaces, not TABs
13890         * build-aux/announce-gen: Convert all TABs to spaces, to match
13891         the style of most other files in gnulib.
13892
13893 2011-04-29  Eric Blake  <eblake@redhat.com>
13894
13895         quotearg: avoid uninitialized variable use
13896         * lib/quotearg.c (quoting_options_from_style): Initialize
13897         remaining fields, and ensure that custom styles are only used via
13898         quoting_options rather than quoting_style.
13899
13900 2011-04-29  Jim Meyering  <meyering@redhat.com>
13901
13902         maint.mk: remove unused VC-tag variable
13903         * top/maint.mk (VC-tag): Remove unused variable.
13904
13905 2011-04-29  Bruno Haible  <bruno@clisp.org>
13906
13907         netdb: fix gai_strerror replacements
13908         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
13909         * modules/netdb: Substitute it.
13910
13911 2011-04-29  Jim Meyering  <meyering@redhat.com>
13912
13913         test-getcwd.c: avoid new set-but-not-used warning
13914         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
13915         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
13916         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
13917         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
13918
13919         test-hash.c: avoid a new shadowing warning
13920         * tests/test-hash.c (main): Don't shadow "dup".
13921
13922 2011-04-28  Eric Blake  <eblake@redhat.com>
13923
13924         getaddrinfo: fix gai_strerror signature
13925         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
13926         and work around mingw with UNICODE defined.
13927         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
13928         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
13929         * modules/netdb (Makefile.am): Substitute it.
13930         * lib/netdb.in.h (gai_strerror): Declare replacement.
13931         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
13932         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
13933         the fix.
13934
13935         getsockopt: avoid compiler warning
13936         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
13937         Reported by Matthias Bolte.
13938
13939         tests: drop unused link dependency
13940         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
13941         * modules/dirent-safer-tests (Makefile.am): Likewise.
13942         * modules/fdopendir-tests (Makefile.am): Likewise.
13943         * modules/mkfifoat-tests (Makefile.am): Likewise.
13944         * modules/openat-safer-tests (Makefile.am): Likewise.
13945         * modules/openat-tests (Makefile.am): Likewise.
13946         * modules/readlinkat-tests (Makefile.am): Likewise.
13947         * modules/symlinkat-tests (Makefile.am): Likewise.
13948         * modules/linkat-tests (Makefile.am): Likewise.
13949         (Depends-on): Switch to filenamecat-lgpl.
13950         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
13951         LIBINTL.
13952         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
13953         * tests/test-linkat.c (main): Don't require xalloc.
13954
13955         hash, mgetgroups: drop xalloc dependency
13956         * lib/hash.c (includes): Adjust includes.
13957         * lib/mgetgroups.c (includes): Likewise.
13958         (xgetgroups): Move...
13959         * lib/xgetgroups.c: ...to new file.
13960         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
13961         * modules/xgetgroups: New file, split from...
13962         * modules/mgetgroups: ...here.
13963         (Depends-on): Add xalloc-oversized.
13964         * modules/hash (Depends-on): Likewise.
13965         * modules/hash-tests (Depends-on): Drop xalloc.
13966         (test_hash_LDADD): Drop unused library.
13967         * tests/test-hash.c (main): Break xalloc dependency.
13968         (includes): Drop unused include.
13969
13970         xalloc-oversized: new module
13971         * modules/xalloc-oversized: New module.
13972         * modules/xalloc (Depends-on): Add it.
13973         * lib/xalloc.h (xalloc_oversized): Move...
13974         * lib/xalloc-oversized.h: ...into new file.
13975
13976         utimecmp: drop dependency on xmalloc
13977         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
13978         due to memory pressure.
13979         * modules/utimecmp (Depends-on): Drop xalloc.
13980
13981 2011-04-27  Eric Blake  <eblake@redhat.com>
13982
13983         getcwd: fix mingw bugs
13984         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
13985         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
13986         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
13987
13988 2011-04-27  Bruno Haible  <bruno@clisp.org>
13989
13990         mkstemps: Ensure declaration on MacOS X 10.5.
13991         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
13992         * doc/glibc-functions/mkstemps.texi: Document header file problem on
13993         MacOS X.
13994
13995 2011-04-27  Bruno Haible  <bruno@clisp.org>
13996
13997         mkstemp: More documentation.
13998         * doc/posix-functions/mkstemp.texi: Document header file problem on
13999         MacOS X.
14000
14001 2011-04-27  Bruno Haible  <bruno@clisp.org>
14002
14003         mkstemp: Tweak configure message when cross-compiling.
14004         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
14005         result as a guess.
14006
14007 2011-04-27  Bruno Haible  <bruno@clisp.org>
14008
14009         clean-temp: Clarify what it does.
14010         * lib/clean-temp.h: Add more comments.
14011         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
14012         module.
14013         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
14014         * doc/glibc-functions/mkstemps.texi: Likewise.
14015         * doc/glibc-functions/mkostemps.texi: Likewise.
14016
14017 2011-04-27  Eric Blake  <eblake@redhat.com>
14018
14019         fchdir: avoid extra chdir and fix test
14020         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
14021         getcwd-lgpl.
14022         * lib/fchdir.c (get_name): Any absolute name will do; it does not
14023         have to be canonical.
14024         (canonicalize_file_name): Drop unused macro.
14025         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
14026
14027         filenamecat-lgpl: fix licence
14028         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
14029         when it was first created.
14030
14031         linkat, renameat: add missing dependency
14032         * modules/linkat (Depends-on): Require getcwd-lgpl.
14033         * modules/renameat (Depends-on): Likewise.
14034
14035         tests: reduce dependencies
14036         * tests/test-linkat.c (main): Use lighter-weight getcwd.
14037         * tests/test-renameat.c (main): Likewise.
14038         * modules/linkat-tests (Depends-on): Relax dependency.
14039         * modules/renameat-tests (Depends-on): Likewise.
14040         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
14041         dependency explicit.
14042
14043         save-cwd: reduce default dependency
14044         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
14045         * lib/save-cwd.c: Update comments.
14046         * NEWS: Document the semantic change.
14047
14048         getcwd: enhance tests
14049         * tests/test-getcwd-lgpl.c: New file, taken from...
14050         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
14051         repeat long path stress tests from m4 probe.
14052         * modules/getcwd-lgpl-tests: New module.
14053         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
14054         * m4/getcwd-abort-bug.m4: Update comment.
14055         * m4/getcwd-path-max.m4: Likewise.
14056
14057         getcwd-lgpl: new module
14058         * modules/getcwd-lgpl: New module.
14059         * lib/getcwd-lgpl.c: New file.
14060         * doc/posix-functions/getcwd.texi (getcwd): Document it.
14061         * MODULES.html.sh (lacking POSIX:2008): Likewise.
14062         * modules/getcwd (configure.ac): Set C witness.
14063         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
14064
14065         getcwd: tweak comments
14066         * m4/getcwd-abort-bug.m4: Fix comments.
14067         * m4/getcwd-path-max.m4: Likewise.
14068         * m4/getcwd.m4: Likewise.
14069
14070 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
14071         and Eric Blake  <eblake@redhat.com>
14072
14073         mkstemp: replace if system version uses wrong permissions
14074         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
14075         read/write mode bits set in file created by mkstemp.
14076         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
14077
14078 2011-04-27  Eric Blake  <eblake@redhat.com>
14079
14080         passfd: avoid compiler warning
14081         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
14082         Reported by Laine Stump.
14083
14084 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
14085
14086         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
14087         required by the NetBSD (and perhaps other 4.4BSD derived) join.
14088
14089 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
14090         and Eric Blake  <eblake@redhat.com>
14091
14092         mkstemp: mention clean-temp module
14093         * lib/mkstemp.c: Add comment.
14094         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
14095
14096 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
14097
14098         inttypes: also provide default values for 32-bit tests
14099         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
14100         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
14101
14102 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
14103
14104         strtoumax: remove dependency on strtoimax
14105         This is like the strtoull change of yesterday.
14106         * modules/strtoumax (Files): Add lib/strtoimax.c.
14107         (Depends-on): Remove strtoimax and add verify.
14108
14109         inttypes-incomplete: new module
14110         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
14111         all but the PRI* and SCN* parts of gl_INTTYPES_H.
14112         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
14113         of gl_INTTYPES_H.
14114         (gl_INTTYPES_H): Rewrite in terms of these new macros.
14115         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
14116         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
14117         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
14118         * modules/strtoumax, modules/xstrtol (Depends-on):
14119         Depend on inttypes-incomplete, not inttypes.
14120         * modules/inttypes-incomplete: New module, containing the contents
14121         of the old modules/inttypes module, except that the Files: section
14122         omits m4/inttypes-pri.m4, and the configure.ac section invokes
14123         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
14124         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
14125         (Depends-on): Depend only on inttypes-incomplete.
14126         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
14127
14128         inttypes: omit now-redundant strtoimax and strtoumax work
14129         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
14130         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
14131
14132         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
14133         This supports apps that need pointers to strtoimax and strtoumax,
14134         and ports to HP-UX 11.00 64.bit, which has macros that expand to
14135         nonexistent functions.  See
14136         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
14137         et seq.
14138         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
14139         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
14140         a macro.
14141         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
14142
14143 2011-04-25  Simon Josefsson  <simon@josefsson.org>
14144
14145         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
14146
14147 2011-04-25  Bruno Haible  <bruno@clisp.org>
14148
14149         strtol, strtoul: Mark modules as obsolete.
14150         * modules/strtol (Status, Notice): New sections.
14151         * modules/strtoul (Status, Notice): New sections.
14152
14153 2011-04-25  Bruno Haible  <bruno@clisp.org>
14154
14155         strtod: Remove check for strtod, unless supporting old platforms.
14156         * modules/strtod-obsolete: New file.
14157         * m4/strtod-obsolete.m4: New file.
14158         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
14159         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
14160         * modules/strtod (Depends-on): Add strtod-obsolete.
14161         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
14162
14163 2011-04-25  Bruno Haible  <bruno@clisp.org>
14164
14165         strcase: Make module obsolete.
14166         * modules/strcase (Status, Notice): New sections.
14167
14168 2011-04-25  Bruno Haible  <bruno@clisp.org>
14169
14170         dup2: Remove check for dup2, unless supporting old obsolete platforms.
14171         * modules/dup2-obsolete: New file.
14172         * m4/dup2-obsolete.m4: New file.
14173         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
14174         gl_FUNC_DUP2_OBSOLETE is not also defined.
14175         * modules/dup2 (Depends-on): Add dup2-obsolete.
14176         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
14177
14178 2011-04-25  Bruno Haible  <bruno@clisp.org>
14179
14180         strnlen: Avoid memchr related link error on old obsolete platforms.
14181         * modules/memchr-obsolete: New file.
14182         * m4/memchr-obsolete.m4: New file.
14183         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
14184         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
14185         * modules/memchr (Depends-on): Add memchr-obsolete.
14186         * modules/strnlen (Depends-on): Likewise.
14187         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
14188
14189 2011-04-25  Jim Meyering  <meyering@redhat.com>
14190
14191         maint.mk: makefile_at_at_check extend and clean up
14192         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
14193         in addition to */Makefile.am.
14194         Exempt legitimate uses of @VAR@ notation, e.g.,
14195         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
14196         Remove obsolete coreutils-specific comment.
14197         Prompted by discussion here:
14198         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
14199
14200 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
14201
14202         strtoul: remove dependency on strtol
14203         This is so that 'configure' need not check for strtol merely because
14204         the application needs strtoul.
14205         * modules/strtoul (Files): Add lib/strtol.c.
14206         (Depends-on): Remove strtol.
14207
14208         strtoull: remove dependency on strtoul
14209         This is like the strtoll change.
14210         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
14211         (Depends-on): Remove strtoul.
14212
14213         strtoll: remove dependency on strtol
14214         This is so that 'configure' need not check for strtol merely because
14215         the application needs strtoll.
14216         * modules/strtoll (Files): Add lib/strtol.c.
14217         (Depends-on): Remove strtol.
14218
14219 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14220
14221         inttypes: Move some configure check to module 'imaxdiv'.
14222         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
14223         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
14224         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
14225
14226 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14227
14228         inttypes: Move some configure check to module 'imaxabs'.
14229         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
14230         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
14231         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
14232
14233 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14234
14235         inttypes: Remove configure tests that are not needed since 2009-12-31.
14236         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
14237         gl_cv_header_working_inttypes_h.
14238
14239 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14240
14241         * modules/strnlen (Depends-on): Remove memchr.
14242         The strnlen implementation doesn't need the memchr module's fixes; see
14243         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
14244
14245         strtol: remove dependency on wchar
14246         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
14247         * modules/strtol (Depends-on): Remove wchar.
14248
14249 2011-04-21  Eric Blake  <eblake@redhat.com>
14250
14251         passfd: fix test regression on Linux
14252         * modules/passfd-tests (configure.ac): Correct socketpair check.
14253
14254         passfd: speed up configure and drop unused code
14255         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
14256         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
14257         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
14258         Instead of probing at configure for unix_scm_rights_bsd44_way,
14259         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
14260         check to a struct member probe.
14261         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
14262         (sendfd, recvfd): Update preprocessor checks.
14263         * modules/passfd (Files): Reflect rename, and drop unused file.
14264         (Depends-on): Drop unused dependency.
14265
14266         passfd: allow compilation on mingw
14267         * modules/sys_socket (Depends-on): Add sys_uio.
14268         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
14269         iovec and a minimal struct msghdr.
14270         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
14271         * tests/test-sys_socket.c (main): Enhance test.
14272         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
14273         guaranteed to provide what we need.
14274         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
14275         * modules/passfd-tests (Depends-on): Add sys_wait.
14276         * tests/test-passfd.c (main): Skip test on mingw, for now.
14277         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
14278         partial 'struct msghdr' implementation.
14279
14280         sys_uio: new module
14281         * modules/sys_uio: New module.
14282         * modules/sys_uio-tests: Likewise.
14283         * lib/sys_uio.in.h: New file.
14284         * m4/sys_uio_h.m4: Likewise.
14285         * tests/test-sys_uio.c: Likewise.
14286         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
14287         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
14288
14289 2011-04-20  Jim Meyering  <meyering@redhat.com>
14290
14291         useless-if-before-free: avoid false-positive
14292         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
14293         disjunct so that it too requires a terminating ";".  Without that,
14294         this script would identify as useless one statement from gcc that
14295         was not:
14296           if (aligned_ptr)
14297             free (((void **) aligned_ptr) [-1]);
14298
14299 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
14300
14301         doc: update users.txt.
14302         * users.txt: Add barcode.
14303
14304 2011-04-19  Bruno Haible  <bruno@clisp.org>
14305
14306         ioctl: Remove link dependency on native Windows.
14307         * lib/fd-hook.h: Renamed from lib/close-hook.h.
14308         (gl_close_fn, gl_ioctl_fn): New types.
14309         (struct fd_hook): Renamed from struct close_hook. Change type of
14310         private_close_fn field. Add private_ioctl_fn field.
14311         (close_hook_fn): Add parameter for primary close method.
14312         (execute_close_hooks, execute_all_close_hooks): Likewise.
14313         (ioctl_hook_fn): New type.
14314         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
14315         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
14316         argument.
14317         (unregister_fd_hook): Renamed from unregister_close_hook.
14318         * lib/fd-hook.c: Renamed from lib/close-hook.c.
14319         Don't include <unistd.h>.
14320         (close): Remove undef.
14321         (anchor): Update.
14322         (execute_close_hooks): Add argument for primary close method.
14323         (execute_all_close_hooks): Likewise.
14324         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
14325         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
14326         argument. Allow each argument to be NULL.
14327         (unregister_fd_hook): Renamed from unregister_close_hook.
14328         * lib/close.c (rpl_close): Pass 'close' function pointer to
14329         execute_all_close_hooks.
14330         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
14331         (primary_ioctl): New function.
14332         (ioctl): Don't call ioctlsocket here. Instead, call
14333         execute_all_ioctl_hooks.
14334         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
14335         close method.
14336         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
14337         (fd_sockets_hook): Renamed from close_sockets_hook.
14338         (gl_sockets_startup, gl_sockets_cleanup): Update.
14339         * modules/fd-hook: Renamed from modules/close-hook. Update.
14340         * modules/close (Depends-on): Add fd-hook, remove close-hook.
14341         * modules/sockets (Depends-on): Likewise.
14342         * modules/ioctl (Depends-on): Add fd-hook.
14343         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
14344         GNULIB_SOCKET.
14345
14346 2011-04-19  Bruno Haible  <bruno@clisp.org>
14347
14348         Move the support of O_NONBLOCK in open() to the 'open' module.
14349         * modules/nonblocking (Depends-on): Remove 'open'.
14350         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
14351         gl_cv_have_open_O_NONBLOCK.
14352         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
14353         O_NONBLOCK support.
14354         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
14355
14356 2011-04-17  Bruno Haible  <bruno@clisp.org>
14357
14358         pipe2: Simplify code.
14359         * lib/pipe2.c (pipe2): Reduce code duplication.
14360
14361 2011-04-17  Bruno Haible  <bruno@clisp.org>
14362
14363         nonblocking: Add comment.
14364         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
14365
14366 2011-04-17  Bruno Haible  <bruno@clisp.org>
14367
14368         nonblocking: Add tests for sockets.
14369         * tests/test-nonblocking-socket.sh: New file.
14370         * tests/test-nonblocking-socket-main.c: New file.
14371         * tests/test-nonblocking-socket-child.c: New file.
14372         * tests/test-nonblocking-socket.h: New file.
14373         * tests/socket-server.h: New file.
14374         * tests/socket-client.h: New file.
14375         * modules/nonblocking-socket-tests: New file.
14376         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
14377
14378 2011-04-17  Bruno Haible  <bruno@clisp.org>
14379
14380         nonblocking: Add tests for pipes.
14381         * tests/test-nonblocking-pipe.sh: New file.
14382         * tests/test-nonblocking-pipe-main.c: New file.
14383         * tests/test-nonblocking-pipe-child.c: New file.
14384         * tests/test-nonblocking-pipe.h: New file.
14385         * tests/test-nonblocking-writer.h: New file.
14386         * tests/test-nonblocking-reader.h: New file.
14387         * tests/test-nonblocking-misc.h: New file.
14388         * modules/nonblocking-pipe-tests: New file.
14389         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
14390
14391 2011-04-16  Bruno Haible  <bruno@clisp.org>
14392
14393         gettext: Clarify the needed programmer actions.
14394         * modules/gettext (Notice): New field.
14395         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
14396
14397 2011-04-16  Bruno Haible  <bruno@clisp.org>
14398
14399         strchrnul: Tweak last commit.
14400         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
14401         bug.
14402         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
14403         as in _GL_FUNCDECL_SYS.
14404         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
14405         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
14406
14407 2011-04-15  Eric Blake  <eblake@redhat.com>
14408
14409         strchrnul: work around cygwin bug
14410         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
14411         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
14412         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
14413         * modules/string (Makefile.am): Substitute it.
14414         * lib/string.in.h (strchrnul): Use it.
14415
14416 2011-04-15  Bruno Haible  <bruno@clisp.org>
14417
14418         Don't require lib/stdio-write.c when only module 'stdio' is used.
14419         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
14420         invocation.
14421         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
14422
14423 2011-04-14  Bruno Haible  <bruno@clisp.org>
14424
14425         Support non-blocking pipe I/O in read() on native Windows.
14426         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
14427         (read): New declaration.
14428         * lib/read.c: New file.
14429         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
14430         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
14431         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
14432         vscanf): New declarations.
14433         * lib/stdio-read.c: New file.
14434         * m4/read.m4: New file.
14435         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
14436         REPLACE_READ.
14437         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
14438         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14439         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
14440         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
14441         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
14442         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14443         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
14444         * modules/read: New file.
14445         * modules/nonblocking (Files): Add lib/stdio-read.c.
14446         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
14447         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
14448         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14449         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
14450         * modules/pread (Depends-on): Add read.
14451         * modules/safe-read (Depends-on): Likewise.
14452         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
14453         gets, scanf, vfscanf, vscanf): Verify signatures.
14454         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
14455         problem with non-blocking pipes.
14456         * doc/posix-functions/fgetc.texi: Likewise.
14457         * doc/posix-functions/fgets.texi: Likewise.
14458         * doc/posix-functions/fread.texi: Likewise.
14459         * doc/posix-functions/fscanf.texi: Likewise.
14460         * doc/posix-functions/getc.texi: Likewise.
14461         * doc/posix-functions/getchar.texi: Likewise.
14462         * doc/posix-functions/gets.texi: Likewise.
14463         * doc/posix-functions/scanf.texi: Likewise.
14464         * doc/posix-functions/vfscanf.texi: Likewise.
14465         * doc/posix-functions/vscanf.texi: Likewise.
14466
14467 2011-04-14  Bruno Haible  <bruno@clisp.org>
14468
14469         Support non-blocking pipe I/O in write() on native Windows.
14470         * lib/write.c (rpl_write): Split a write request that failed merely
14471         because the byte count was larger than the pipe buffer's size.
14472         * doc/posix-functions/write.texi: Mention the problem with large byte
14473         counts.
14474
14475 2011-04-14  Bruno Haible  <bruno@clisp.org>
14476
14477         wchar: Ensure that wchar_t gets defined on uClibc.
14478         * lib/wchar.in.h: On uClibc, include <stddef.h>.
14479         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
14480
14481 2011-04-13  Bruno Haible  <bruno@clisp.org>
14482
14483         safe-write, full-read: Avoid unnecessary compilation units.
14484         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
14485         (Depends-on): Remove safe-read. Add ssize_t.
14486         * modules/full-read (Files): Add lib/full-write.c.
14487         (Depends-on): Add full-write.
14488
14489 2011-04-13  Bruno Haible  <bruno@clisp.org>
14490
14491         Support non-blocking pipe I/O and SIGPIPE in pwrite().
14492         * modules/pwrite (Depends-on): Add 'write'.
14493
14494 2011-04-13  Bruno Haible  <bruno@clisp.org>
14495
14496         Support non-blocking pipe I/O in write() on native Windows.
14497         * lib/unistd.in.h (write): Enable replacement also if
14498         GNULIB_UNISTD_H_NONBLOCKING is 1.
14499         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
14500         (rpl_write): When failing to write on a non-blocking pipe, change
14501         errno from ENOSPC to EAGAIN.
14502         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
14503         putchar, puts, vfprintf, vprintf): Enable replacement also if
14504         GNULIB_STDIO_H_NONBLOCKING is 1.
14505         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
14506         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
14507         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
14508         CALL_WITH_SIGPIPE_EMULATION.
14509         (CALL_WITH_SIGPIPE_EMULATION): Use them.
14510         * m4/nonblocking.m4: New file.
14511         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
14512         for non-blocking I/O support.
14513         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14514         GNULIB_UNISTD_H_NONBLOCKING.
14515         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
14516         required for non-blocking I/O support.
14517         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
14518         * modules/nonblocking (Files): Add m4/nonblocking.m4,
14519         lib/stdio-write.c, m4/asm-underscore.m4.
14520         (Depends-on): Add stdio, unistd.
14521         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
14522         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
14523         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
14524         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
14525         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
14526         problem with non-blocking pipes.
14527         * doc/posix-functions/fputc.texi: Likewise.
14528         * doc/posix-functions/fputs.texi: Likewise.
14529         * doc/posix-functions/fwrite.texi: Likewise.
14530         * doc/posix-functions/printf.texi: Likewise.
14531         * doc/posix-functions/putc.texi: Likewise.
14532         * doc/posix-functions/putchar.texi: Likewise.
14533         * doc/posix-functions/puts.texi: Likewise.
14534         * doc/posix-functions/vfprintf.texi: Likewise.
14535         * doc/posix-functions/vprintf.texi: Likewise.
14536         * doc/posix-functions/write.texi: Likewise.
14537
14538 2011-04-10  Jim Meyering  <meyering@redhat.com>
14539
14540         maint.mk: prohibit doubled words
14541         Detect them also when they're separated by a newline.
14542         There are 3 ways to customize it:
14543           - disable the test on a per file basis, as usual with rules using
14544             $(VC_LIST_EXCEPT)
14545           - replace the default doubled-word-selecting regexp (affects all files)
14546           - ignore a particular file-vs-doubled-word match
14547         I nearly used that last one to ignore the "is is" match in
14548         coreutils' NEWS file, since the text was "ls -is is ..."
14549         To do that, I would have added this line to cfg.mk:
14550           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
14551         but it would have ignored any "is is" match in NEWS.
14552         Low probability, but still...
14553         Instead, I changed the text, slightly:
14554           -  ls -is is now consistent with ls -lis in ignoring values returned
14555           +  "ls -is" is now consistent with ls -lis in ignoring values returned
14556         * top/maint.mk (prohibit_double_word_RE_): Provide default.
14557         (prohibit_doubled_word_): Define.
14558         (sc_prohibit_doubled_word): New rule.
14559         (sc_prohibit_the_the): Remove.  Subsumed by the above.
14560
14561 2011-04-10  Jim Meyering  <meyering@redhat.com>
14562
14563         maint: fix doubled-word typo in comment
14564         * m4/gethostname.m4: s/is is/it is/
14565         * m4/getdomainname.m4: Likewise.
14566
14567 2011-04-10  Jim Meyering  <meyering@redhat.com>
14568
14569         maint: remove doubled word: s/it it/it/
14570         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
14571
14572 2011-04-10  Jim Meyering  <meyering@redhat.com>
14573
14574         maint.mk: remove useless semicolon and backslash
14575         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
14576         semicolon and backslash.
14577
14578 2011-04-10  Bruno Haible  <bruno@clisp.org>
14579
14580         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
14581         * modules/stdint-tests (Depends-on): Add wchar.
14582
14583 2011-04-10  Jim Meyering  <meyering@redhat.com>
14584
14585         maint: remove doubled words in comments, e.g., s/a a/a/
14586         * lib/strptime.c (day_of_the_week): s/the the/the/
14587         * tests/test-chown.h (test_chown): s/a a/a/
14588
14589         test-chown.h: correct a cast
14590         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
14591         when the destination is a stat.st_gid.
14592
14593 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
14594
14595         getaddrinfo: Fix test for sa_len member.
14596         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
14597         include <sys/types.h> before <sys/socket.h>.
14598
14599 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14600
14601         maint: change "can not" to "cannot"
14602         * doc/posix-functions/iconv.texi (iconv): This one crossed line
14603         boundaries.
14604
14605 2011-04-09  Jim Meyering  <meyering@redhat.com>
14606
14607         maint: change "a a" to "a"
14608         * tests/test-lchown.h (test_lchown): s/a a/a/
14609
14610         maint.mk: prohibit \<the the\>
14611         * top/maint.mk (sc_prohibit_the_the): New rule.
14612
14613         maint: fix "the the" in comment
14614         * lib/count-one-bits.h: s/the the/the/
14615
14616         maint: change "can not" to "cannot"
14617         But do not change the occurrences in maintain.texi or in
14618         build-aux/po/Makefile.in.in, which I presume comes from gettext.
14619         * doc/gnulib-tool.texi: s/can not/cannot/
14620         * doc/posix-functions/accept.texi (accept): Likewise.
14621         * doc/posix-functions/socket.texi (socket): Likewise.
14622         * lib/mbrtowc.c: Likewise.
14623
14624         maint.mk: prohibit use of "can not"
14625         * top/maint.mk (sc_prohibit_can_not): New rule.
14626         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
14627
14628 2011-04-09  Bruno Haible  <bruno@clisp.org>
14629
14630         careadlinkat: Guard against misuse of careadlinkatcwd.
14631         * lib/careadlinkat.c: Include <stdlib.h>.
14632         (careadlinkatcwd): Check that the fd argument is as expected.
14633
14634 2011-04-09  Bruno Haible  <bruno@clisp.org>
14635
14636         careadlinkat: Use common coding style.
14637         * lib/careadlinkat.c: Move gnulib includes after system includes.
14638
14639 2011-04-09  Bruno Haible  <bruno@clisp.org>
14640
14641         careadlinkat: Clarify specification.
14642         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
14643         (careadlinkatcwd): Add comment.
14644         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
14645
14646 2011-04-09  Bruno Haible  <bruno@clisp.org>
14647
14648         areadlinkat: Avoid link error on many platforms.
14649         * modules/areadlinkat (Depends-on): Add areadlink.
14650
14651 2011-04-09  Bruno Haible  <bruno@clisp.org>
14652
14653         allocator, careadlinkat: Fix double-inclusion guard.
14654         * lib/allocator.h: Fix double-inclusion guard.
14655         * lib/careadlinkat.h: Likewise.
14656
14657 2011-04-09  Bruno Haible  <bruno@clisp.org>
14658
14659         relocatable-prog-wrapper: Update after module 'areadlink' changed.
14660         * lib/relocwrapper.c: Update dependencies hierarchy.
14661         * build-aux/install-reloc: Update list of files to be compiled.
14662         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
14663         lib/allocator.[hc].
14664
14665 2011-04-08  Eric Blake  <eblake@redhat.com>
14666
14667         strftime: silence gnulib-tool warning
14668         * modules/strftime-tests (Depends-on): Drop automatic dependency.
14669
14670 2011-04-08  Bruno Haible  <bruno@clisp.org>
14671
14672         verify: Fix syntax error with GCC 4.6 in C++ mode.
14673         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
14674         (HAVE_STATIC_ASSERT): New macro.
14675         (verify_true, verify): Use 'static_assert' if it is supported and
14676         '_Static_assert' is not supported.
14677
14678 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
14679
14680         allocator: New module.
14681         * modules/allocator, lib/allocator.c: New files.
14682         * lib/allocator.h (stdlib_allocator): New decl.
14683         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
14684         Remove.  Do not include <stdlib.h>.
14685         (careadlinkat): Use stdlib_allocator instead of rolling our own.
14686         * modules/careadlinkat (Files): Remove lib/allocator.h.
14687         (Depends-on): Add allocator.
14688
14689         stdlib: let modules use system malloc, realloc
14690         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
14691         if !_GL_USE_STDLIB_ALLOC.
14692         (malloc, realloc): Limit this change to a smaller scope.
14693
14694         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
14695         (malloc, realloc): Don't #undef; no longer needed.
14696         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14697         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14698         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
14699         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14700         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14701         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14702         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14703         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
14704
14705         careadlinkat: rename members to avoid problem
14706         * lib/allocator.h (struct allocator): Rename members from
14707         malloc/realloc to allocate/reallocate, to avoid problems if malloc
14708         and realloc are #define'd.  Reported by Eric Blake in
14709         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
14710         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
14711
14712 2011-04-08  Eric Blake  <eblake@redhat.com>
14713
14714         nonblocking: reduce dependency
14715         * tests/test-nonblocking.c: Only test sockets when in use.
14716         * modules/nonblocking-tests (Depends-on): Drop socket.
14717         (Makefile.am): Link even if sockets are not present.
14718         * modules/pipe2-tests (Makefile.am): Likewise.
14719         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
14720
14721         pipe2: fix O_NONBLOCK support on mingw
14722         * modules/pipe2 (Depends-on): Add nonblocking.
14723         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
14724         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
14725         * tests/test-nonblocking.c (main): Likewise.
14726         * modules/pipe2-tests (Makefile.am): Avoid link failure.
14727
14728         fcntl-h: fix O_ACCMODE on cygwin
14729         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
14730         * lib/fcntl.in.h (O_ACCMODE): Fix it.
14731
14732         pipe-filter: drop O_NONBLOCK workarounds
14733         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
14734         * modules/pipe-filter-ii (Depends-on): Likewise.
14735         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
14736
14737         nonblocking: provide O_NONBLOCK for mingw
14738         * modules/nonblocking (Depends-on): Add open.
14739         (configure.ac): Set new witness macro.
14740         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
14741         * modules/fcntl-h (Makefile.am): Substitute it.
14742         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
14743         nonblocking module is in use.
14744         * lib/nonblocking.c: Adjust portability test.
14745         * lib/open.c (open): Don't let native open see gnulib flag.
14746         * tests/test-fcntl-h.c (main): Enhance test.
14747         * tests/test-open.h (test_open): Likewise.
14748         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
14749
14750         careadlinkat: fix compilation error on mingw
14751         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
14752         within struct allocator.
14753
14754 2011-04-06  Eric Blake  <eblake@redhat.com>
14755
14756         binary-io: relicense under LGPLv2+
14757         * modules/binary-io (License): Relax to LGPLv2+.
14758         Requested for libvirt, and required by pipe2.
14759
14760 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
14761
14762         verify: use _Static_assert if available
14763         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
14764         (verify_true, verify): Use it if available.  This generates better
14765         diagnostics with GCC 4.6.0 and later.
14766
14767 2011-04-05  Bruno Haible  <bruno@clisp.org>
14768
14769         Remove leftover generated .h files after config.status changed.
14770
14771         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
14772         GL_GENERATE_ALLOCA_H.
14773         * modules/alloca-opt (Makefile.am): Remove alloca.h if
14774         GL_GENERATE_ALLOCA_H evaluates to false.
14775
14776         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
14777         GL_GENERATE_ARGZ_H.
14778         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
14779         evaluates to false.
14780
14781         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
14782         GL_GENERATE_BYTESWAP_H.
14783         * modules/byteswap (Makefile.am): Remove byteswap.h if
14784         GL_GENERATE_BYTESWAP_H evaluates to false.
14785
14786         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
14787         GL_GENERATE_ERRNO_H.
14788         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
14789         evaluates to false.
14790
14791         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
14792         GL_GENERATE_FLOAT_H.
14793         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
14794         evaluates to false.
14795
14796         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
14797         GL_GENERATE_FNMATCH_H.
14798         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
14799         GL_GENERATE_FNMATCH_H evaluates to false.
14800
14801         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
14802         GL_GENERATE_GLOB_H.
14803         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
14804         evaluates to false.
14805
14806         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
14807         automake conditional GL_GENERATE_ICONV_H.
14808         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
14809         evaluates to false.
14810
14811         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
14812         GL_GENERATE_NETINET_IN_H.
14813         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
14814         GL_GENERATE_NETINET_IN_H evaluates to false.
14815
14816         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
14817         conditional GL_GENERATE_PTHREAD_H.
14818         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
14819         * modules/pthread (Makefile.am): Remove pthread.h if
14820         GL_GENERATE_PTHREAD_H evaluates to false.
14821
14822         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
14823         GL_GENERATE_SCHED_H.
14824         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
14825         evaluates to false.
14826
14827         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
14828         conditional GL_GENERATE_SELINUX_CONTEXT_H.
14829         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
14830         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
14831
14832         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
14833         GL_GENERATE_STDARG_H.
14834         * modules/stdarg (Makefile.am): Remove stdarg.h if
14835         GL_GENERATE_STDARG_H evaluates to false.
14836
14837         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
14838         GL_GENERATE_STDBOOL_H.
14839         * modules/stdbool (Makefile.am): Remove stdbool.h if
14840         GL_GENERATE_STDBOOL_H evaluates to false.
14841
14842         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
14843         conditional GL_GENERATE_STDDEF_H.
14844         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
14845         * modules/stddef (Makefile.am): Remove stddef.h if
14846         GL_GENERATE_STDDEF_H evaluates to false.
14847
14848         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
14849         GL_GENERATE_STDINT_H.
14850         * modules/stdint (Makefile.am): Remove stdint.h if
14851         GL_GENERATE_STDINT_H evaluates to false.
14852
14853         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
14854         GL_GENERATE_SYSEXITS_H.
14855         * modules/sysexits (Makefile.am): Remove sysexits.h if
14856         GL_GENERATE_SYSEXITS_H evaluates to false.
14857
14858         Reported by Karl Berry and Ralf Wildenhues.
14859
14860 2011-04-05  Bruno Haible  <bruno@clisp.org>
14861
14862         Ensure to rebuild generated .h files when config.status has changed.
14863         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
14864         config.status.
14865         * modules/ctype (Makefile.am): Likewise.
14866         * modules/dirent (Makefile.am): Likewise.
14867         * modules/errno (Makefile.am): Likewise.
14868         * modules/fcntl-h (Makefile.am): Likewise.
14869         * modules/float (Makefile.am): Likewise.
14870         * modules/getopt-posix (Makefile.am): Likewise.
14871         * modules/glob (Makefile.am): Likewise.
14872         * modules/iconv-h (Makefile.am): Likewise.
14873         * modules/inttypes (Makefile.am): Likewise.
14874         * modules/langinfo (Makefile.am): Likewise.
14875         * modules/locale (Makefile.am): Likewise.
14876         * modules/math (Makefile.am): Likewise.
14877         * modules/netdb (Makefile.am): Likewise.
14878         * modules/netinet_in (Makefile.am): Likewise.
14879         * modules/poll-h (Makefile.am): Likewise.
14880         * modules/pthread (Makefile.am): Likewise.
14881         * modules/pty (Makefile.am): Likewise.
14882         * modules/sched (Makefile.am): Likewise.
14883         * modules/search (Makefile.am): Likewise.
14884         * modules/selinux-h (Makefile.am): Likewise.
14885         * modules/signal (Makefile.am): Likewise.
14886         * modules/spawn (Makefile.am): Likewise.
14887         * modules/stdarg (Makefile.am): Likewise.
14888         * modules/stdbool (Makefile.am): Likewise.
14889         * modules/stddef (Makefile.am): Likewise.
14890         * modules/stdint (Makefile.am): Likewise.
14891         * modules/stdio (Makefile.am): Likewise.
14892         * modules/stdlib (Makefile.am): Likewise.
14893         * modules/string (Makefile.am): Likewise.
14894         * modules/strings (Makefile.am): Likewise.
14895         * modules/sys_file (Makefile.am): Likewise.
14896         * modules/sys_ioctl (Makefile.am): Likewise.
14897         * modules/sys_select (Makefile.am): Likewise.
14898         * modules/sys_socket (Makefile.am): Likewise.
14899         * modules/sys_stat (Makefile.am): Likewise.
14900         * modules/sys_time (Makefile.am): Likewise.
14901         * modules/sys_times (Makefile.am): Likewise.
14902         * modules/sys_utsname (Makefile.am): Likewise.
14903         * modules/sys_wait (Makefile.am): Likewise.
14904         * modules/sysexits (Makefile.am): Likewise.
14905         * modules/termios (Makefile.am): Likewise.
14906         * modules/time (Makefile.am): Likewise.
14907         * modules/unistd (Makefile.am): Likewise.
14908         * modules/wchar (Makefile.am): Likewise.
14909         * modules/wctype-h (Makefile.am): Likewise.
14910         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
14911
14912 2011-04-05  Bruno Haible  <bruno@clisp.org>
14913
14914         pipe2: Relicense under LGPLv2+.
14915         * modules/pipe2 (License): Change to LGPLv2+.
14916         Requested by Eric Blake, for libvirt.
14917
14918 2011-04-05  Bruce Korb  <bkorb@gnu.org>
14919
14920         bootstrap: compute gnulib_extra_files after updating build_aux
14921         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
14922         change build_aux or also supply gnulib_extra_files.  Handle correctly.
14923
14924 2011-04-05  Eric Blake  <eblake@redhat.com>
14925
14926         bootstrap: preserve git whitelist item sorting
14927         * build-aux/bootstrap (sort_patterns): New function.
14928         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
14929
14930 2011-04-05  Simon Josefsson  <simon@josefsson.org>
14931
14932         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
14933         sc_space_tab check.
14934
14935 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
14936
14937         areadlink, areadlinkat: rewrite in terms of careadlinkat
14938         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
14939         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
14940         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
14941         (malloc, realloc): Remove #undefs.
14942         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
14943         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
14944         readlink, ssize_t, stdint, unistd.
14945         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
14946         areadlink, stdint.
14947
14948         careadlinkat: new module
14949         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
14950         * modules/careadlinkat: New files, written by me with
14951         a review and feedback from Ben Pfaff in
14952         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
14953
14954 2011-04-01  Bruno Haible  <bruno@clisp.org>
14955
14956         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
14957         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
14958         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
14959         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
14960         Reported by Bruce Korb <bruce.korb@gmail.com>.
14961
14962 2011-04-01  Bruno Haible  <bruno@clisp.org>
14963
14964         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
14965         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
14966         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
14967         * modules/wcpcpy (Depends-on): Add extensions.
14968         * modules/wcpncpy (Depends-on): Likewise.
14969         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
14970         systems.
14971         * doc/posix-functions/wcpncpy.texi: Likewise.
14972         * doc/posix-functions/wcwidth.texi: Likewise.
14973
14974 2011-03-31  Eric Blake  <eblake@redhat.com>
14975
14976         nonblocking: fix mingw test failures
14977         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
14978         non-blocking flag on regular file.
14979         (get_nonblocking_flag): Set errno on invalid fd.
14980         * tests/test-nonblocking.c (main): Avoid test failure on
14981         directories if fchdir is not active.
14982         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
14983
14984 2011-03-31  Bruno Haible  <bruno@clisp.org>
14985
14986         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
14987         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
14988         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
14989         Reported by Simon Josefsson <simon@josefsson.org>.
14990
14991 2011-03-31  Bruno Haible  <bruno@clisp.org>
14992         and Eric Blake  <eblake@redhat.com>
14993
14994         nonblocking: new module
14995         * modules/nonblocking: New module.
14996         * modules/nonblocking-tests: Likewise.
14997         * lib/nonblocking.h: New file.
14998         * lib/nonblocking.c: Likewise.
14999         * tests/test-nonblocking.c: New test.
15000         * lib/ioctl.c (ioctl) [mingw]: Update comment.
15001
15002 2011-03-30  Bruno Haible  <bruno@clisp.org>
15003
15004         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
15005         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
15006         instead of 'printf' format for GCC >= 4.4.
15007         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
15008         (fprintf, printf, vfprintf, vprintf): Declare with
15009         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
15010         the system's vfprintf() function.
15011         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
15012
15013 2011-03-30  Eric Blake  <eblake@redhat.com>
15014
15015         passfd: fix scoping bug
15016         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
15017         before sendmsg/recvmsg.
15018
15019         passfd: standardize coding conventions
15020         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
15021         can be learned at compile time.
15022         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
15023         ifdefs.
15024         (sendfd, recvfd): Follow gnulib code conventions.
15025
15026         passfd: fix incorrect sendmsg arguments
15027         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
15028         incorrect msg_controllen value.
15029         * modules/passfd-tests (Depends-on): Check for alarm.
15030         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
15031         Reported by Bastien ROUCARIES.
15032
15033 2011-03-30  Bruno Haible  <bruno@clisp.org>
15034
15035         c-strcasestr: Relicense under LGPLv2+.
15036         * modules/c-strcasestr (License): Change to LGPLv2+.
15037         Requested by Eric Blake, for libvirt.
15038
15039 2011-03-30  Simon Josefsson  <simon@josefsson.org>
15040
15041         * users.txt: Add libidn2.  Fix libtasn1 link.
15042
15043 2011-03-30  Jim Meyering  <meyering@redhat.com>
15044
15045         tests: readlink* ("",... fails with EINVAL on newer kernels
15046         readlink and readlinkat have typically failed with ENOENT for
15047         the invalid, empty file name,  "".  However, with the advent
15048         of linux-2.6.39, they fail with EINVAL.
15049         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
15050         when operating on the empty file name.
15051         * tests/test-readlink.h (test_readlink): Likewise.
15052
15053 2011-03-29  Bruno Haible  <bruno@clisp.org>
15054
15055         Relicense some modules under LGPLv2+, for libidn2.
15056         * modules/array-mergesort (License): Change to LGPLv2+.
15057         * modules/c-strcaseeq (License): Likewise.
15058         * modules/striconveh (License): Likewise.
15059         * modules/striconveha (License): Likewise.
15060         * modules/uniconv/base (License): Likewise.
15061         * modules/uniconv/u8-conv-from-enc (License): Likewise.
15062         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
15063         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
15064         * modules/unictype/base (License): Likewise.
15065         * modules/unictype/bidiclass-of (License): Likewise.
15066         * modules/unictype/category-M (License): Likewise.
15067         * modules/unictype/category-none (License): Likewise.
15068         * modules/unictype/category-of (License): Likewise.
15069         * modules/unictype/category-test (License): Likewise.
15070         * modules/unictype/category-test-withtable (License): Likewise.
15071         * modules/unictype/combining-class (License): Likewise.
15072         * modules/unictype/joiningtype-of (License): Likewise.
15073         * modules/unictype/scripts (License): Likewise.
15074         * modules/uninorm/base (License): Likewise.
15075         * modules/uninorm/canonical-decomposition (License): Likewise.
15076         * modules/uninorm/composition (License): Likewise.
15077         * modules/uninorm/decompose-internal (License): Likewise.
15078         * modules/uninorm/decomposition-table (License): Likewise.
15079         * modules/uninorm/nfc (License): Likewise.
15080         * modules/uninorm/nfd (License): Likewise.
15081         * modules/uninorm/u32-normalize (License): Likewise.
15082         * modules/unistr/base (License): Likewise.
15083         * modules/unistr/u32-cpy (License): Likewise.
15084         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
15085         * modules/unistr/u32-to-u8 (License): Likewise.
15086         * modules/unistr/u32-uctomb (License): Likewise.
15087         * modules/unistr/u8-check (License): Likewise.
15088         * modules/unistr/u8-mblen (License): Likewise.
15089         * modules/unistr/u8-mbtouc (License): Likewise.
15090         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
15091         * modules/unistr/u8-mbtoucr (License): Likewise.
15092         * modules/unistr/u8-prev (License): Likewise.
15093         * modules/unistr/u8-strlen (License): Likewise.
15094         * modules/unistr/u8-to-u32 (License): Likewise.
15095         * modules/unistr/u8-uctomb (License): Likewise.
15096         * modules/unitypes (License): Likewise.
15097         Requested by Simon Josefsson.
15098
15099 2011-03-29  Simon Josefsson  <simon@josefsson.org>
15100
15101         lib-symbol-visibility: Add a notice.
15102         * modules/lib-symbol-visibility (Notice): New field.
15103
15104 2011-03-29  Bruno Haible  <bruno@clisp.org>
15105
15106         getaddrinfo: Doc fix.
15107         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
15108         section "fixed in Gnulib".
15109
15110 2011-03-28  Simon Josefsson  <simon@josefsson.org>
15111
15112         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
15113         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
15114
15115 2011-03-26  Bruno Haible  <bruno@clisp.org>
15116
15117         unictype/property-byname: Reduce the number of load-time relocations.
15118         * lib/unictype/pr_byname.c: Include <stdlib.h>.
15119         (UC_PROPERTY_INDEX_*): New enumeration values.
15120         (uc_property_byname): Convert an index from the lookup table to an
15121         uc_property_t.
15122         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
15123         values.
15124
15125 2011-03-26  Bruno Haible  <bruno@clisp.org>
15126
15127         unictype/property-byname: Allow omitted word separators and aliases.
15128         * lib/unictype/pr_byname.gperf: Add property names without word
15129         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
15130         for 'space'.
15131
15132 2011-03-26  Bruno Haible  <bruno@clisp.org>
15133
15134         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
15135         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
15136         also hyphens to space.
15137         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
15138         without spaces.
15139         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
15140
15141 2011-03-26  Bruno Haible  <bruno@clisp.org>
15142
15143         unictype/joiningtype-byname: Recognize long names as well.
15144         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
15145         a long name.
15146         * lib/unictype/joiningtype_byname.c: Include <string.h>,
15147         unictype/joiningtype_byname.h.
15148         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
15149         * lib/unictype/joiningtype_byname.gperf: New file.
15150         * modules/unictype/joiningtype-byname (Files): Add
15151         lib/unictype/joiningtype_byname.gperf.
15152         (Depends-on): Add gperf.
15153         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
15154         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
15155         long names.
15156
15157         Tests for module 'unictype/joiningtype-longname'.
15158         * modules/unictype/joiningtype-longname-tests: New file.
15159         * tests/unictype/test-joiningtype_longname.c: New file.
15160
15161         New module 'unictype/joiningtype-longname'.
15162         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
15163         * lib/unictype/joiningtype_longname.c: New file.
15164         * modules/unictype/joiningtype-longname: New file.
15165         * modules/unictype/joiningtype-all (Depends-on): Add
15166         unictype/joiningtype-longname.
15167
15168 2011-03-26  Bruno Haible  <bruno@clisp.org>
15169
15170         unictype/bidiclass-byname: Recognize long names as well.
15171         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
15172         name.
15173         * lib/unictype/bidi_byname.c: Include <string.h>,
15174         unictype/bidi_byname.h.
15175         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
15176         * lib/unictype/bidi_byname.gperf: New file.
15177         * modules/unictype/bidiclass-byname (Files): Add
15178         lib/unictype/bidi_byname.gperf.
15179         (Depends-on): Add gperf.
15180         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
15181         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
15182         long names.
15183
15184         Tests for module 'unictype/bidiclass-longname'.
15185         * modules/unictype/bidiclass-longname-tests: New file.
15186         * tests/unictype/test-bidi_longname.c: New file.
15187
15188         New module 'unictype/bidiclass-longname'.
15189         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
15190         * lib/unictype/bidi_longname.c: New file.
15191         * modules/unictype/bidiclass-longname: New file.
15192         * modules/unictype/bidiclass-all (Depends-on): Add
15193         unictype/bidiclass-longname.
15194
15195 2011-03-26  Bruno Haible  <bruno@clisp.org>
15196
15197         unictype/bidi*: Rename modules.
15198         * modules/unictype/bidiclass-all: Renamed from
15199         modules/unictype/bidicategory-all.
15200         * modules/unictype/bidiclass-name: Renamed from
15201         modules/unictype/bidiclass-name.
15202         (Description): Update.
15203         * modules/unictype/bidiclass-name-tests: Renamed from
15204         modules/unictype/bidicategory-name-tests.
15205         * modules/unictype/bidiclass-byname: Renamed from
15206         modules/unictype/bidicategory-byname.
15207         (Description): Update.
15208         * modules/unictype/bidiclass-byname-tests: Renamed from
15209         modules/unictype/bidicategory-byname-tests.
15210         * modules/unictype/bidiclass-of: Renamed from
15211         modules/unictype/bidicategory-of.
15212         (Description): Update.
15213         * modules/unictype/bidiclass-of-tests: Renamed from
15214         modules/unictype/bidicategory-of-tests.
15215         * modules/unictype/bidiclass-test: Renamed from
15216         modules/unictype/bidicategory-test.
15217         (Description): Update.
15218         * modules/unictype/bidiclass-test-tests: Renamed from
15219         modules/unictype/bidicategory-test-tests.
15220         * modules/unictype/bidicategory-all: New file, a simple redirection.
15221         * modules/unictype/bidicategory-name: Likewise.
15222         * modules/unictype/bidicategory-byname: Likewise.
15223         * modules/unictype/bidicategory-of: Likewise.
15224         * modules/unictype/bidicategory-test: Likewise.
15225         * modules/unictype/property-bidi-* (Dependencies): Update.
15226         * lib/unictype/bidi_*.c: Update comment.
15227
15228 2011-03-26  Bruno Haible  <bruno@clisp.org>
15229
15230         unictype/bidi*: Rename functions, part 2.
15231         * modules/unictype/bidicategory-name (configure.ac): Update required
15232         libunistring version.
15233         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
15234
15235 2011-03-25  Bruno Haible  <bruno@clisp.org>
15236
15237         New module 'unictype/combining-class-all'.
15238         * modules/unictype/combining-class-all: New file.
15239
15240         Tests for module 'unictype/combining-class-byname'.
15241         * modules/unictype/combining-class-byname-tests: New file.
15242         * tests/unictype/test-combiningclass_byname.c: New file.
15243
15244         New module 'unictype/combining-class-byname'.
15245         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
15246         * lib/unictype/combiningclass_byname.c: New file.
15247         * lib/unictype/combiningclass_byname.gperf: New file.
15248         * modules/unictype/combining-class-byname: New file.
15249
15250         Tests for module 'unictype/combining-class-longname'.
15251         * modules/unictype/combining-class-longname-tests: New file.
15252         * tests/unictype/test-combiningclass_longname.c: New file.
15253
15254         New module 'unictype/combining-class-longname'.
15255         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
15256         * lib/unictype/combiningclass_longname.c: New file.
15257         * modules/unictype/combining-class-longname: New file.
15258
15259         Tests for module 'unictype/combining-class-name'.
15260         * modules/unictype/combining-class-name-tests: New file.
15261         * tests/unictype/test-combiningclass_name.c: New file.
15262
15263         New module 'unictype/combining-class-name'.
15264         * lib/unictype.in.h (uc_combining_class_name): New declaration.
15265         * lib/unictype/combiningclass_name.c: New file.
15266         * modules/unictype/combining-class-name: New file.
15267
15268 2011-03-25  Bruno Haible  <bruno@clisp.org>
15269
15270         unictype/combining-class: Rename source files.
15271         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
15272         of unictype/combining.h.
15273         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
15274         Update.
15275         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
15276         * modules/unictype/combining-class (Description): Fix.
15277         (Files, Makefile.am): Update.
15278         * tests/unictype/test-combiningclass.c: Renamed from
15279         tests/unictype/test-combining.c.
15280         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
15281
15282 2011-03-25  Bruno Haible  <bruno@clisp.org>
15283
15284         unictype: Update list of canonical combining classes.
15285         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
15286
15287 2011-03-25  Bruno Haible  <bruno@clisp.org>
15288
15289         unictype/category-byname: Recognize long names as well.
15290         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
15291         a long name.
15292         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
15293         unictype/categ_byname.h.
15294         (UC_CATEGORY_INDEX_*): New enumeration values.
15295         (uc_general_category_byname): Use uc_general_category_lookup and
15296         convert from index to value.
15297         * lib/unictype/categ_byname.gperf: New file.
15298         * modules/unictype/category-byname (Files): Add
15299         lib/unictype/categ_byname.gperf.
15300         (Depends-on): Add gperf.
15301         (Makefile.am): Add rule for generating unictype/categ_byname.h.
15302         * tests/unictype/test-categ_byname.c (main): Test the recognition of
15303         long names.
15304
15305         Tests for module 'unictype/category-longname'.
15306         * modules/unictype/category-longname-tests: New file.
15307         * tests/unictype/test-categ_longname.c: New file.
15308
15309         New module 'unictype/category-longname'.
15310         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
15311         * lib/unictype/categ_longname.c: New file.
15312         * modules/unictype/category-longname: New file.
15313         * modules/unictype/category-all (Depends-on): Add it.
15314
15315 2011-03-25  Bruno Haible  <bruno@clisp.org>
15316
15317         Tests for module 'unictype/category-LC'.
15318         * modules/unictype/category-LC-tests: New file.
15319         * tests/unictype/test-categ_LC.c: New file, automatically generated.
15320
15321         New module 'unictype/category-LC'.
15322         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
15323         (UC_CATEGORY_LC): New declaration.
15324         (UC_CASED_LETTER): New macro.
15325         * lib/gen-uni-tables.c (is_category_LC): New function.
15326         (output_categories): Also handle category LC.
15327         (UC_CATEGORY_MASK_LC): New enumeration value.
15328         (general_category_byname): Also handle category LC.
15329         * lib/unictype/categ_LC.c: New file.
15330         * lib/unictype/categ_LC.h: New file, automatically generated.
15331         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
15332         category LC.
15333         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
15334         * modules/unictype/category-LC: New file.
15335         * modules/unictype/category-byname (Depends-on): Add
15336         unictype/category-LC.
15337         * modules/unictype/category-all (Depends-on): Likewise.
15338
15339 2011-03-25  Eric Blake  <eblake@redhat.com>
15340
15341         xmalloc: revert yesterday's regression
15342         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
15343         realloc's underlying behavior (allowing allocation of zero-size
15344         objects, especially if malloc-gnu is also in use).
15345
15346 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
15347
15348         maint.mk: add missing version to VC-tag
15349         * top/maint.mk: git tag was missing actual tag name; add it.
15350
15351         valgrind: do leak checking, and exit with code 1 on error (not 0)
15352         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
15353         to VALGRIND.
15354
15355 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
15356
15357         posix-modules: say what it does.
15358         * posix-modules: Add a line to the --help output saying what it does.
15359
15360 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
15361
15362         xmalloc: Do not leak if underlying realloc is C99 compatible.
15363         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
15364         This avoids a leak on C99-based systems.  See
15365         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
15366
15367 2011-03-24  Eric Blake  <eblake@redhat.com>
15368
15369         realloc: document portability problem
15370         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
15371         passing 0 size to realloc.
15372
15373 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
15374
15375         doc: update users.txt
15376         * users.txt: Add cvsps, tmpwatch
15377
15378 2011-03-23  Matt Rice  <ratmice@gmail.com>
15379
15380         doc: update users.txt
15381         * users.txt: Add gdb.
15382
15383 2011-03-23  Jim Meyering  <meyering@redhat.com>
15384
15385         doc: update users.txt
15386         Looking through matches up to the following URL (there are still
15387         several more pages), I found several projects that use gnulib:
15388         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
15389         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
15390         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
15391
15392 2011-03-22  Bruno Haible  <bruno@clisp.org>
15393
15394         unictype/bidi*: Rename functions.
15395         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
15396         uc_bidi_class, uc_is_bidi_class): New declarations.
15397         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
15398         uc_bidi_category_byname.
15399         (uc_bidi_category_byname): New function.
15400         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
15401         u_bidi_category_name.
15402         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
15403         (uc_bidi_category_name): New function.
15404         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
15405         uc_bidi_category.
15406         (uc_bidi_category): New function.
15407         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
15408         uc_is_bidi_category. Invoke uc_bidi_class.
15409         (uc_is_bidi_category): New function.
15410         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
15411         instead of uc_bidi_category_byname.
15412         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
15413         instead of uc_bidi_category_name.
15414         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
15415         uc_bidi_category.
15416         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
15417         instead of uc_is_bidi_category.
15418
15419 2011-03-21  Bruno Haible  <bruno@clisp.org>
15420
15421         New module 'unictype/joininggroup-all'.
15422         * modules/unictype/joininggroup-all: New file.
15423
15424         Tests for module 'unictype/joininggroup-of'.
15425         * modules/unictype/joininggroup-of-tests: New file.
15426         * tests/unictype/test-joininggroup_of.c: New file.
15427         * tests/unictype/test-joininggroup_of.h: New file, automatically
15428         generated by gen-uni-tables.
15429
15430         New module 'unictype/joininggroup-of'.
15431         * modules/unictype/joininggroup-of: New file.
15432         * lib/unictype/joininggroup_of.c: New file.
15433         * lib/unictype/joininggroup_of.h: New file, automatically generated by
15434         gen-uni-tables.
15435
15436         Tests for module 'unictype/joininggroup-byname'.
15437         * modules/unictype/joininggroup-byname-tests: New file.
15438         * tests/unictype/test-joininggroup_byname.c: New file.
15439
15440         New module 'unictype/joininggroup-byname'.
15441         * modules/unictype/joininggroup-byname: New file.
15442         * lib/unictype/joininggroup_byname.c: New file.
15443         * lib/unictype/joininggroup_byname.gperf: New file.
15444
15445         Tests for module 'unictype/joininggroup-name'.
15446         * modules/unictype/joininggroup-name-tests: New file.
15447         * tests/unictype/test-joininggroup_name.c: New file.
15448
15449         New module 'unictype/joininggroup-name'.
15450         * modules/unictype/joininggroup-name: New file.
15451         * lib/unictype/joininggroup_name.c: New file.
15452         * lib/unictype/joininggroup_name.h: New file.
15453
15454         New module 'unictype/joiningtype-all'.
15455         * modules/unictype/joiningtype-all: New file.
15456
15457         Tests for module 'unictype/joiningtype-of'.
15458         * modules/unictype/joiningtype-of-tests: New file.
15459         * tests/unictype/test-joiningtype_of.c: New file.
15460         * tests/unictype/test-joiningtype_of.h: New file, automatically
15461         generated by gen-uni-tables.
15462
15463         New module 'unictype/joiningtype-of'.
15464         * modules/unictype/joiningtype-of: New file.
15465         * lib/unictype/joiningtype_of.c: New file.
15466         * lib/unictype/joiningtype_of.h: New file, automatically generated by
15467         gen-uni-tables.
15468
15469         Tests for module 'unictype/joiningtype-byname'.
15470         * modules/unictype/joiningtype-byname-tests: New file.
15471         * tests/unictype/test-joiningtype_byname.c: New file.
15472
15473         New module 'unictype/joiningtype-byname'.
15474         * modules/unictype/joiningtype-byname: New file.
15475         * lib/unictype/joiningtype_byname.c: New file.
15476
15477         Tests for module 'unictype/joiningtype-name'.
15478         * modules/unictype/joiningtype-name-tests: New file.
15479         * tests/unictype/test-joiningtype_name.c: New file.
15480
15481         New module 'unictype/joiningtype-name'.
15482         * modules/unictype/joiningtype-name: New file.
15483         * lib/unictype/joiningtype_name.c: New file.
15484
15485         unictype: Add support for Arabic shaping properties.
15486         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
15487         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
15488         declarations.
15489         (UC_JOINING_GROUP_*): New enumeration values.
15490         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
15491         declarations.
15492         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
15493         (unicode_joining_type): New variable.
15494         (UC_JOINING_GROUP_*): New enumeration values.
15495         (unicode_joining_group): New variable.
15496         (fill_arabicshaping, joining_type_as_c_identifier,
15497         output_joining_type_test, output_joining_type,
15498         joining_group_as_c_identifier, output_joining_group_test,
15499         output_joining_group): New functions.
15500         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
15501         fill_arabicshaping and output_joining_type_test, output_joining_type,
15502         output_joining_group_test, output_joining_group.
15503         Reported by Simon Josefsson.
15504
15505 2011-03-21  Jim Meyering  <meyering@redhat.com>
15506
15507         strftime: fix a bug in yesterday's change
15508         * lib/strftime.c (add): Accommodate width's initial value of -1.
15509         Otherwise, nstrftime would copy uninitialized data into
15510         the result buffer.
15511
15512 2011-03-21  Jim Meyering  <meyering@redhat.com>
15513
15514         tests: add strftime-tests module
15515         * tests/test-strftime.c: New file.
15516         * modules/strftime-tests: New module.
15517
15518 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15519
15520         strftime: don't assume a byte count fits in 'int'
15521         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
15522         found this problem by static analysis, using gcc -Wstrict-overflow
15523         (GCC 4.5.2, x86-64).  This reported an optimization that depended
15524         on an integer overflow having undefined behavior, but it turns out
15525         that the argument is a size, which might not fit in 'int' anyway,
15526
15527 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15528
15529         stdio: don't require ignore_value around fwrite
15530
15531         This patch works around libc bug 11959
15532         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
15533         Without this patch, applications must often write
15534         ignore_value (fwrite (...)) even though the ignore_value is
15535         not helpful here.  It's common to write many objects, using
15536         fwrite/printf/etc., and then use ferror to detect output error.
15537
15538         I considered making this patch optional, but decided against it,
15539         because libc is obviously being inconsistent here: there is no
15540         reason libc should insist that user code must inspect fwrite
15541         return's value without also insisting that it inspect printf's,
15542         putchar's, etc.  If user code wants to have a strict style where
15543         all these functions' values are checked (so that ferror need not
15544         be checked), we could add support for that style in a new gnulib
15545         module, but in the meantime it's better to be consistent and to
15546         support common usage.
15547
15548         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
15549         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
15550         that we are compiling in checking mode, and if not C++, and
15551         if not already wrapping fwrite for some other reason.
15552         (fwrite): #define to rpl_fwrite if the latter is defined.
15553
15554 2011-03-20  Bruno Haible  <bruno@clisp.org>
15555
15556         verror: Fix compilation error introduced on 2011-02-13.
15557         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
15558         instead of __attribute__.
15559         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15560
15561 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15562             Bruno Haible  <bruno@clisp.org>
15563
15564         socklen: do not depend on sys_socket
15565         While trying to modify Emacs to use gnulib's socklen module,
15566         I discovered a circular dependency: socklen depends on sys_socket
15567         and vice versa.  Emacs can use socklen, but it does not need
15568         sys_socket because it has its own substitute for sys/socket.h.
15569         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
15570         gl_TYPE_SOCKLEN_T.
15571         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
15572         gl_PREREQ_SYS_H_SOCKET.
15573         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
15574         gl_PREREQ_SYS_H_SOCKET.
15575         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
15576         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
15577         * modules/socklen (Depends-on): Do not depend on sys_socket.
15578         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
15579
15580 2011-03-20  Jim Meyering  <meyering@redhat.com>
15581
15582         maint.mk: sort file names *after* new transformation
15583         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
15584         prefix would have led to an unwarranted failure in GNU parted.
15585         Sort after that transformation.
15586
15587 2011-03-19  Jim Meyering  <meyering@redhat.com>
15588
15589         maint.mk: fix po-file syntax-check rule
15590         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
15591         Patch by Bruno Haible.
15592
15593 2011-03-19  Bruno Haible  <bruno@clisp.org>
15594
15595         socklen: Update comment.
15596         * m4/socklen.m4: Update comment about platforms.
15597
15598 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
15599             Bruno Haible  <bruno@clisp.org>
15600
15601         inet_ntop, inet_pton: Simplify.
15602         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
15603         documented to provide socklen_t and we already depend on sys_socket.
15604         * modules/inet_pton (Depends-on): Likewise.
15605         * lib/arpa_inet.in.h: Adjust comment.
15606
15607 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
15608             Bruno Haible  <bruno@clisp.org>
15609
15610         netdb: Simplify.
15611         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
15612         documented to provide socklen_t and we already depend on sys_socket.
15613         * lib/netdb.in.h: Adjust comment.
15614
15615 2011-03-19  Bruno Haible  <bruno@clisp.org>
15616
15617         sys_socket, netdb: Document problem with socklen_t.
15618         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
15619         platforms.
15620         * doc/posix-headers/netdb.texi: Likewise.
15621
15622 2011-03-18  Eric Blake  <eblake@redhat.com>
15623
15624         maint.mk: let po check work in VPATH build
15625         * top/maint.mk (po_file): Allow cfg.mk override.
15626         (sc_po_check): Allow VPATH use.
15627         Reported by Jiri Denemark.
15628
15629 2011-03-16  Jim Meyering  <meyering@redhat.com>
15630
15631         maint.mk: allow fine-grained syntax-check exclusion via Make variables
15632         Before, you would have had to create one .x-sc_ file per rule in order
15633         to exempt offending files.  Now, you may instead use a Make variable --
15634         usually defined in cfg.mk -- whose name identifies the affected rule.
15635         * top/maint.mk (_sc_excl): Define.
15636         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
15637         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
15638
15639 2011-03-13  Bruno Haible  <bruno@clisp.org>
15640
15641         ignore-value tests: Avoid warnings.
15642         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
15643         empty for gcc < 3.4.
15644
15645 2011-03-13  Bruno Haible  <bruno@clisp.org>
15646
15647         passfd: Fix link error on Solaris.
15648         * modules/passfd (Description): Correct.
15649         (Depends-on): Add socketlib.
15650         (Link): New section.
15651         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
15652
15653 2011-03-13  Bruno Haible  <bruno@clisp.org>
15654
15655         passfd: Fix link error on AIX 5.2.
15656         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
15657
15658 2011-03-13  Bruno Haible  <bruno@clisp.org>
15659
15660         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
15661         * lib/sys_socket.in.h: Include <stddef.h>.
15662         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
15663         CMSG_FIRSTHDR. Remove unused variable.
15664
15665 2011-03-13  Bruno Haible  <bruno@clisp.org>
15666
15667         passfd: Fix compilation error on OpenBSD.
15668         * lib/passfd.c: Include <sys/uio.h>.
15669
15670 2011-03-13  Bruno Haible  <bruno@clisp.org>
15671
15672         passfd test: Fix warnings.
15673         * tests/test-passfd.c: Include <sys/wait.h>.
15674         (main): Fix typo.
15675
15676 2011-03-13  Bruno Haible  <bruno@clisp.org>
15677
15678         passfd module, part 4, tweaks.
15679         * tests/test-passfd.c: Reorder includes.
15680         (main): Fix perror and printf calls.
15681
15682 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
15683
15684         passfd module, part 4.
15685         * modules/passfd-tests: New file.
15686         * tests/test-passfd.c: New file.
15687
15688 2011-03-13  Jim Meyering  <meyering@redhat.com>
15689
15690         Makefile: rely on GNU make; derive syntax-check rule names
15691         Rather than requiring that each sc_ rule be listed as a dependent
15692         of "check", use features of GNU make to derive the list.
15693         * Makefile (syntax-check-rules): Define.
15694         (check): Depend on the new variable, not the hard-coded list.
15695
15696 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
15697             Bruno Haible  <bruno@clisp.org>
15698
15699         passfd module, part 3.
15700         * lib/passfd.h (recvfd): Add a flags argument.
15701         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
15702         (recvfd): Add a flags argument.
15703         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
15704         exists.
15705         * modules/passfd (Depends-on): Add cloexec.
15706         Suggested by Eric Blake.
15707
15708 2011-03-13  Bruno Haible  <bruno@clisp.org>
15709
15710         passfd module, part 2, tweaks.
15711         * modules/passfd (Files): Reorder.
15712         (Depends-on): Remove errno.
15713         (Include): Remove <sys/socket.h>, <sys/un.h>.
15714         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
15715         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
15716         specification header. Include <sys/socket.h> always. Don't include
15717         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
15718         (sendfd): Clarify that it sets errno when it fails.
15719         (recvfd): Fix specification.
15720
15721 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
15722
15723         passfd module, part 2.
15724         * modules/passfd: New file.
15725         * lib/passfd.h: New file.
15726         * lib/passfd.c: New file.
15727
15728 2011-03-12  Bruno Haible  <bruno@clisp.org>
15729
15730         wcswidth, mbswidth: Avoid integer overflow.
15731         * lib/wcswidth.c: Include <limits.h>.
15732         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
15733         * lib/mbswidth.c: Include <limits.h>.
15734         (mbsnwidth): Avoid 'int' overflow.
15735         Reported by Jim Meyering.
15736
15737 2011-03-12  Bruno Haible  <bruno@clisp.org>
15738
15739         futimens, utimensat: Avoid endless recursion on Solaris 10.
15740         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
15741         Solaris.
15742         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
15743         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
15744
15745 2011-03-11  Jim Meyering  <meyering@redhat.com>
15746
15747         maint.mk: relax a regexp to accommodate other formatting styles
15748         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
15749         between "ngettext" and the following "(".
15750
15751 2011-03-11  Pádraig Brady <P@draigBrady.com>
15752
15753         maint.mk: suppress a false positive warning
15754         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
15755         diagnostics are marked with ngettext.
15756
15757 2011-03-10  Eric Blake  <eblake@redhat.com>
15758
15759         wchar: add explicit dependencies, for Tru64
15760         * modules/mbmemcasecoll (Depends-on): Add wchar.
15761         * modules/mbtowc (Depends-on): Likewise.
15762         * modules/vasnprintf (Depends-on): Likewise.
15763         * modules/unistdio/u-printf-args (Depends-on): Likewise.
15764         * modules/wctomb (Depends-on): Likewise.
15765         Reported by Peter O'Gorman.
15766
15767 2011-03-08  Bruno Haible  <bruno@clisp.org>
15768
15769         passfd module, part 1, tweaks.
15770         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
15771         Improve indentation. Improve AC_MSG_CHECKING messages.
15772         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
15773         gl_SOCKET_FAMILIES.
15774
15775 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
15776
15777         passfd module, part 1.
15778         * m4/afunix.m4: New file.
15779         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
15780         sockets.
15781
15782 2011-03-08  Bruno Haible  <bruno@clisp.org>
15783
15784         regex-quote: New API.
15785         * lib/regex-quote.h: Include <stdbool.h>.
15786         (struct regex_quote_spec): New type.
15787         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
15788         New declarations.
15789         (regex_quote_length, regex_quote_copy, regex_quote): Take a
15790         'const struct regex_quote_spec *' argument.
15791         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
15792         (pcre_special): New constant.
15793         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
15794         New functions.
15795         (regex_quote_length, regex_quote_copy, regex_quote): Take a
15796         'const struct regex_quote_spec *' argument.
15797         * modules/regex-quote (Depends-on): Add stdbool.
15798         * tests/test-regex-quote.c (check): Update for new API. Add test for
15799         anchored results.
15800         * NEWS: Mention the API change.
15801         Reported by Reuben Thomas and Eric Blake.
15802
15803 2011-03-06  Bruno Haible  <bruno@clisp.org>
15804
15805         regex-quote: Fix creation of POSIX extended regular expressions.
15806         * lib/regex-quote.c (ere_special): Add grouping and alternation
15807         operators.
15808
15809 2011-03-05  Bruno Haible  <bruno@clisp.org>
15810
15811         doc: Improve doc regarding autopoint vs. gnulib.
15812         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
15813         disable autopoint while running autoreconf.
15814         Suggested by Ralf Wildenhues.
15815
15816 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15817
15818         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
15819         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
15820
15821 2011-03-03  Bruce Korb  <bkorb@gnu.org>
15822
15823         parse-duration: remove xalloc.h dependency
15824         * lib/parse-duration.c (parse_period): handle NULL return from
15825         strdup instead of calling xstrdup().
15826         * modules/parse-duration: remove "xalloc" dependency
15827
15828 2011-03-03  Matthew Booth  <mbooth@redhat.com>
15829
15830         bootstrap: honor m4_base when running aclocal
15831         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
15832
15833 2011-03-02  Jim Meyering  <meyering@redhat.com>
15834
15835         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
15836         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
15837         on request from Matt Booth.
15838
15839 2011-03-01  Eric Blake  <eblake@redhat.com>
15840
15841         test-link: work on Hurd
15842         * tests/test-link.h (test_link): Hurd rejects linking directories
15843         with EISDIR instead of the POSIX-mandated EPERM.
15844
15845 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
15846
15847         stdio: simplify by moving files to printf-posix, sigpipe
15848         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
15849         since this symbol is needed only if printf is replaced.
15850         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
15851         Require gl_ASM_SYMBOL_PREFIX.
15852         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
15853         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
15854         (Depends-on): Add 'raise'.
15855         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
15856         * modules/stdio (Files): Remove lib/stdio-write.c,
15857         m4/asm-underscore.m4.
15858         (Depends-on): Remove 'raise'.
15859
15860         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
15861         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
15862         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
15863         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
15864
15865 2011-02-28  Bruno Haible  <bruno@clisp.org>
15866
15867         localcharset: Assume ANSI C behaviour of free().
15868         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
15869         calling free().
15870         Suggested by Simon Josefsson <simon@josefsson.org>.
15871
15872 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
15873             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
15874             Bruno Haible  <bruno@clisp.org>  (tiny change)
15875
15876         On Cygwin, use /proc file system instead of win32 API.
15877         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
15878         Win32 file names.
15879         (DllMain): Simplify by removing Cygwin specific code.
15880         (find_shared_library_fullname): Use Linux specific implementation also
15881         for Cygwin.
15882         (get_shared_library_fullname): Update accordingly.
15883         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
15884         Win32 file names.
15885         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
15886         Cygwin specific code.
15887
15888 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
15889             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
15890
15891         Fix OpenMP flag detection for various Fortran compilers.
15892         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
15893         OpenMP-conditional compilation construct, to force compile
15894         failure with missing OpenMP flag.
15895         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
15896
15897 2011-02-25  Eric Blake  <eblake@redhat.com>
15898
15899         strstr: expand test coverage
15900         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
15901         compilation.
15902         * tests/test-memmem.c (main): Duplicate tests.
15903         * tests/test-strcasestr.c (main): Likewise.
15904         * tests/test-c-strcasestr.c (main): Likewise.
15905
15906 2011-02-25  Jim Meyering  <meyering@redhat.com>
15907
15908         maint.mk: detect missing-NL-at-EOF, too
15909         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
15910         it also detects when a file lacks a newline at EOF.
15911         (require_exactly_one_NL_at_EOF_): Renamed from
15912         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
15913         since people may well have .x-sc_... file names tied to the
15914         existing name.  Suggested by Eric Blake.
15915
15916 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
15917
15918         dirname: move m4/dos.m4 functionality into lib/dosname.h
15919
15920         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
15921         extracts symbols from it, puts them into config.h; but it's much
15922         easier to use the symbols directly.  filename.h already does this,
15923         but it disagrees with dos.m4 in some respects.  This patch
15924         introduces a different include file dosname.h that packages up
15925         dos.m4, and then later we can work on merging filename.h and
15926         dosname.h.  Applications that need only the easy-to-configure
15927         symbols should consider including dosname.h rather than dirname.h.
15928         * NEWS: Mention incompatible changes.
15929         * m4/dos.m4: Remove.
15930         * lib/dosname.h, modules/dosname: New files.
15931         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
15932         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
15933         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
15934         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
15935         Include dosname.h, not dirname.h.
15936         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
15937         Include dosname.h, for definitions of symbols like ISSLASH
15938         that used to be in config.h.
15939         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
15940         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
15941         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
15942         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
15943         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
15944         * modules/rmdir (Files): Likewise.
15945         * modules/stat (Files): Likewise.
15946         * modules/unlink (Files): Likewise.
15947         * modules/dirname-lgpl (Depends-on): Add dosname.
15948         * modules/lstat (Depends-on): Likewise.
15949         * modules/openat (Depends-on): Likewise.
15950         * modules/rmdir (Depends-on): Likewise.
15951         * modules/savewd (Depends-on): Likewise.
15952         * modules/stat (Depends-on): Likewise.
15953         * modules/unlink (Depends-on): Likewise.
15954         * modules/openat (Depends-on): Remove dirname-lgpl.
15955         * modules/savewd (Depends-on): Likewise.
15956         * tests/test-dirname.c: Do not use removed symbols like
15957         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
15958         the remaining symbols, e.g., ISSLASH ('\\').
15959
15960 2011-02-25  Eric Blake  <eblake@redhat.com>
15961
15962         strstr: revert patches that introduced bug and pessimization
15963         * lib/str-two-way.h: Add another reference.
15964         (two_way_short_needle, two_way_long_needle): Revert changes from
15965         2011-02-24; they pessimize search speed.
15966         (critical_factorization): Partially revert changes from
15967         2010-06-22; they violate the requirement that the left half of the
15968         needle be smaller than the period of the needle.
15969
15970 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
15971
15972         filenamecat: remove unnecessary dependency on dirname-lgpl
15973         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
15974         is no direct dependency, just an indirect one via filenamecat-lgpl.
15975
15976         remove: remove unnecessary use of m4/dos.m4
15977         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
15978         * modules/remove (FILES): Remove m4/dos.m4.
15979
15980         * lib/openat-proc.c: Don't include dirname.h; not needed.
15981
15982         backupfile: remove unnecessary use of m4/dos.m4
15983         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
15984         of its symbols are used by the backupfile code.  backupfile.c does
15985         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
15986         for the rare case of programs that want all their backup file
15987         names to live within 8+3 limits, and dos.m4 doesn't address that.
15988         * modules/backupfile (Files): Remove m4/dos.m4.
15989
15990 2011-02-24  Jim Meyering  <meyering@redhat.com>
15991
15992         strstr: fix a bug whereby strstr would mistakenly return NULL
15993         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
15994         in period calculation.
15995         (two_way_long_needle): Likewise.
15996         The original problem was reported by Mike Stump in
15997         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
15998         Ralf Wildenhues provided the short needle and haystack.
15999         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
16000         Add a more involved test to trigger the bug in two_way_long_needle.
16001
16002 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
16003
16004         gnulib-tool: remove use of bold display in help screen
16005         * gnulib-tool (func_usage): Do not use bold display anymore in the
16006         help screen.  That was just meant to be a temporary emphasis for a
16007         backward-incompatible change.
16008
16009 2011-02-23  Bruno Haible  <bruno@clisp.org>
16010
16011         Fix misindentation of preprocessor directives.
16012         * lib/argp-namefrob.h: Reindent preprocessor directives.
16013         * lib/getopt_int.h (struct _getopt_data): Likewise.
16014         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
16015         * lib/vasnprintf.c (decode_long_double): Likewise.
16016         * tests/test-argmatch.c: Insert blank lines, for clarity.
16017         * tests/test-exclude.c: Likewise.
16018
16019 2011-02-22  Bruno Haible  <bruno@clisp.org>
16020
16021         ioctl: Fix for MacOS X in 64-bit mode.
16022         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
16023         value.
16024         Suggested by Eric Blake.
16025         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
16026
16027 2011-02-22  Jim Meyering  <meyering@redhat.com>
16028
16029         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
16030         * Makefile (sc_cpp_indent_check): Don't limit the check to files
16031         in lib/.
16032
16033 2011-02-22  Eric Blake  <eblake@redhat.com>
16034
16035         maint: avoid any CDPATH issue
16036         * Makefile (sc_cpp_indent_check): Anchor cd argument.
16037
16038         maint: adjust cpp indentation for my modules, as well
16039         * Makefile (sc_cpp_indent_check): Add my name.
16040         * lib/fbufmode.c: Filter through cppi.
16041         * lib/fpurge.c: Likewise.
16042         * lib/freadable.c: Likewise.
16043         * lib/freading.c: Likewise.
16044         * lib/fwritable.c: Likewise.
16045         * lib/fwriting.c: Likewise.
16046         * lib/sigaction.c: Likewise.
16047
16048 2011-02-22  Jim Meyering  <meyering@redhat.com>
16049
16050         maint: adjust cpp indentation to reflect nesting depth
16051         I.e., in a block of code that begins with an unnested "#if",
16052         put one space between the "#" in column 1 and following token.
16053         For example,
16054         -#include <sys/vfs.h>
16055         +# include <sys/vfs.h>
16056         Do this only in .c files that are part of a module I maintain.
16057         * lib/linkat.c: Filter through cppi.
16058         * lib/nanosleep.c: Likewise.
16059         * lib/openat.c: Likewise.
16060         * lib/openat-die.c: Likewise.
16061         * lib/dup3.c: Likewise.
16062         * lib/fchownat.c: Likewise.
16063         * lib/flock.c: Likewise.
16064         * lib/fsync.c: Likewise.
16065         * lib/fts.c: Likewise.
16066         * lib/getpass.c: Likewise.
16067         * lib/gettimeofday.c: Likewise.
16068         * lib/userspec.c: Likewise.
16069         * Makefile (sc_cpp_indent_check): New rule, to check this.
16070
16071 2011-02-22  Bruno Haible  <bruno@clisp.org>
16072
16073         New module 'wctomb'.
16074         * lib/stdlib.in.h (wctomb): New declaration.
16075         * lib/wctomb.c: New file.
16076         * lib/wctomb-impl.h: New file.
16077         * m4/wctomb.m4: New file.
16078         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
16079         REPLACE_WCTOMB.
16080         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
16081         REPLACE_WCTOMB.
16082         * modules/wctomb: New file.
16083         * tests/test-stdlib-c++.cc: Test signature of wctomb.
16084         * doc/posix-functions/wctomb.texi: Mention the new module.
16085         * modules/wctob (Depends-on): Add wctomb.
16086
16087 2011-02-22  Bruno Haible  <bruno@clisp.org>
16088
16089         New module 'mbtowc'.
16090         * lib/stdlib.in.h (mbtowc): New declaration.
16091         * lib/mbtowc.c: New file.
16092         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
16093         * m4/mbtowc.m4: New file.
16094         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
16095         REPLACE_MBTOWC.
16096         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
16097         REPLACE_MBTOWC.
16098         * modules/mbtowc: New file.
16099         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
16100         * doc/posix-functions/mbtowc.texi: Mention the new module.
16101         * modules/btowc (Depends-on): Add mbtowc.
16102
16103 2011-02-22  Bruno Haible  <bruno@clisp.org>
16104
16105         wcrtomb: Add more tests for native Windows platforms.
16106         * tests/test-wcrtomb-w32-1.sh: New file.
16107         * tests/test-wcrtomb-w32-2.sh: New file.
16108         * tests/test-wcrtomb-w32-3.sh: New file.
16109         * tests/test-wcrtomb-w32-4.sh: New file.
16110         * tests/test-wcrtomb-w32-5.sh: New file.
16111         * tests/test-wcrtomb-w32.c: New file.
16112         * modules/wcrtomb-tests (Files): Add them.
16113         (Makefile.am): Arrange to run these tests.
16114         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
16115         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
16116
16117 2011-02-20  Bruno Haible  <bruno@clisp.org>
16118
16119         wcrtomb: Enhance test.
16120         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
16121
16122 2011-02-20  Bruno Haible  <bruno@clisp.org>
16123
16124         mbrtowc: Tiny optimization.
16125         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
16126
16127 2011-02-20  Jim Meyering  <meyering@redhat.com>
16128
16129         test-exclude.c: remove unmatched #endif
16130         * tests/test-exclude.c: Remove stray #endif, left over from
16131         the change of a week ago.
16132
16133 2011-02-19  Jim Meyering  <meyering@redhat.com>
16134
16135         git-version-gen: skip "-dirty" check when appropriate
16136         * build-aux/git-version-gen: Don't run any git commands when the
16137         version string comes from .tarball-version.  Prior to this, we
16138         would run git update-index --refresh even from a just-unpacked
16139         tarball directory, and that could affect a .git/ directory in a
16140         parent of the build directory.  Reported by Mike Frysinger.
16141
16142 2011-02-19  Bruno Haible  <bruno@clisp.org>
16143
16144         unictype/property-byname: Reduce the size of the 'data' segment.
16145         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
16146
16147 2011-02-19  Bruno Haible  <bruno@clisp.org>
16148
16149         unictype/scripts: Reduce the size of the 'data' segment.
16150         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
16151         '%pic'.
16152         * lib/unictype/scripts_byname.gperf: Regenerated.
16153
16154 2011-02-19  Bruno Haible  <bruno@clisp.org>
16155
16156         stdint: Update documentation.
16157         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
16158
16159 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
16160
16161         stdint: omit redundant check for wchar.h
16162         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
16163         always tests whether wchar.h exists, so remove the now-redundant test.
16164
16165 2011-02-18  Bruno Haible  <bruno@clisp.org>
16166
16167         stdint: Cut dependency to module 'wchar'.
16168         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
16169         include the necessary prerequisites.
16170         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
16171         * modules/stdint (Depends-on): Remove wchar.
16172         (Makefile.am): Substitute HAVE_WCHAR_H.
16173         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
16174
16175 2011-02-18  Eric Blake  <eblake@redhat.com>
16176
16177         longlong: skip, rather than fail, on cross-compilation
16178         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
16179         when cross-compiling; regression from 2011-02-16.
16180
16181 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
16182
16183         * NEWS: Mention 2011-02-08 change to stdlib.
16184
16185 2011-02-17  Bruno Haible  <bruno@clisp.org>
16186
16187         getloadavg: Add comments about platforms.
16188         * m4/getloadavg.m4: Add comment.
16189         * lib/getloadavg.c: Likewise.
16190
16191 2011-02-17  Bruno Haible  <bruno@clisp.org>
16192
16193         getloadavg: Fix link error on Solaris 2.6.
16194         * modules/getloadavg (Link): New section.
16195         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
16196         linking test-getloadavg.
16197         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
16198         getloadavg.
16199
16200 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
16201
16202         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
16203         It was 'int', but this doesn't match the IRIX 6.5 manual.
16204         Suggested by Bruno Haible in
16205         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
16206
16207 2011-02-17  Bruno Haible  <bruno@clisp.org>
16208
16209         havelib: Fix comments.
16210         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
16211         change.
16212
16213 2011-02-17  Bruno Haible  <bruno@clisp.org>
16214
16215         havelib: Update config.rpath.
16216         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
16217
16218 2011-02-17  Bruno Haible  <bruno@clisp.org>
16219
16220         getloadavg test: Add some plausibility checks.
16221         * tests/test-getloadavg.c (check_avg): Print a warning when the value
16222         is improbable.
16223
16224 2011-02-16  Eric Blake  <eblake@redhat.com>
16225
16226         maintainer-makefile: make syntax-check a no-op from tarballs
16227         * top/maint.mk (no-vc-detected): New rule.
16228         (local-checks-available): Use it to avoid hanging if someone tries
16229         'make syntax-check' from a tarball.  Also append to any non-syntax
16230         checks already defined in cfg.mk.
16231
16232 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
16233
16234         longlong: tune, particularly for common case of c99
16235
16236         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
16237         or running anything if c99, or if unsigned long long int does not
16238         work.  In either case, we know the answer without further tests.
16239         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
16240         it at most once, and use its results for both long long int and
16241         unsigned long long int.  This is more likely to be efficient in
16242         the common case where the program wants to check for both long
16243         long int and unsigned long long int.
16244         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
16245         since the answer is already known.
16246
16247 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
16248
16249         getloadavg: set errno
16250         * lib/getloadavg.c: Set errno when returning -1.  If no other
16251         error number looks appropriate, set it to ENOSYS if the getloadavg
16252         looks like it can't possibly ever work, ENOTSUP otherwise.
16253         Suggested by Bruno Haible in
16254         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
16255
16256         getloadavg: trim unused parts and speed up 'configure'
16257         * NEWS: Document this.
16258         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
16259         always compiled if getloadavg is absent.
16260         Move test code to ...
16261         * tests/test-getloadavg.c: New file, containing previous
16262         contents of test from lib/getloadavg.c.  It also contains
16263         suggestions by Bruno Haible in
16264         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
16265         * modules/getloadavg-tests: New file.
16266         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
16267         Do tests in the same order as they're needed for getloadavg.c.
16268         Omit setgid-related tests that generate symbols KMEM_GROUP,
16269         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
16270         Do only the tests that are needed to see whether the system has
16271         getloadavg, moving the other tests into ...
16272         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
16273         NLIST_NAME_UNION; nobody should be using it.  Do not define
16274         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
16275         relevant, as the user of this module shouldn't care how getloadavg
16276         is implemented.
16277
16278         getloadavg: omit unused var
16279         * lib/getloadavg.c (getloadavg): Omit unused local variable.
16280
16281 2011-02-15  Jim Meyering  <meyering@redhat.com>
16282
16283         doc: update users.txt
16284         * users.txt: Update iwhd's URL.
16285
16286 2011-02-13  Bruno Haible  <bruno@clisp.org>
16287
16288         Consistent macro naming for macros that use GCC __attribute__.
16289         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
16290         _ATTRIBUTE_NONNULL_.
16291         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
16292         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
16293         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
16294         ATTRIBUTE_DEPRECATED.
16295         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
16296         ATTRIBUTE_NORETURN.
16297         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16298         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16299         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16300         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16301         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
16302         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
16303         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
16304         ATTRIBUTE_SENTINEL.
16305         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
16306         ATTRIBUTE_RETURN_CHECK.
16307         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
16308         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
16309         ATTRIBUTE_NORETURN.
16310         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
16311         Reported by Paul Eggert.
16312
16313 2011-02-13  Bruno Haible  <bruno@clisp.org>
16314
16315         Don't interfere with a program's definition of __attribute__.
16316         * lib/argp.h (__attribute__): Remove definition.
16317         (_GL_ATTRIBUTE_FORMAT): New macro.
16318         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
16319         * lib/argp-fmtstream.h (__attribute__): Remove definition.
16320         (_GL_ATTRIBUTE_FORMAT): New macro.
16321         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
16322         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
16323         GCC 3 or newer.
16324         * lib/error.h (__attribute__): Remove definition.
16325         (_GL_ATTRIBUTE_FORMAT): New macro.
16326         (error, error_at_line): Use it.
16327         * lib/hash.h (__attribute__): Remove definition.
16328         (ATTRIBUTE_WUR): Update definition. Define always.
16329         * lib/openat.h (__attribute__): Remove definition.
16330         (ATTRIBUTE_NORETURN): Update definition. Define always.
16331         * lib/sigpipe-die.h (__attribute__): Remove definition.
16332         (ATTRIBUTE_NORETURN): Update definition. Define always.
16333         * lib/vasnprintf.h (__attribute__): Remove definition.
16334         (_GL_ATTRIBUTE_FORMAT): New macro.
16335         (asnprintf, vasnprintf): Use it.
16336         * lib/xalloc.h (__attribute__): Remove definition.
16337         (ATTRIBUTE_NORETURN): Update definition. Define always.
16338         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
16339         * lib/xmemdup0.h (__attribute__): Remove definition.
16340         (ATTRIBUTE_NORETURN): Update definition. Define always.
16341         * lib/xprintf.h (__attribute__): Remove definition.
16342         (_GL_ATTRIBUTE_FORMAT): New macro.
16343         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
16344         * lib/xstrtol.h (__attribute__): Remove definition.
16345         (ATTRIBUTE_NORETURN): Update definition. Define always.
16346         * lib/xvasprintf.h (__attribute__): Remove definition.
16347         (_GL_ATTRIBUTE_FORMAT): New macro.
16348         (xasprintf, xvasprintf): Use it.
16349         * tests/test-argmatch.c (__attribute__): Remove definition.
16350         (ATTRIBUTE_NORETURN): Update definition. Define always.
16351         * tests/test-exclude.c (__attribute__): Remove definition.
16352         (ATTRIBUTE_NORETURN): Update definition. Define always.
16353         Reported by Paul Eggert.
16354
16355 2011-02-13  Bruno Haible  <bruno@clisp.org>
16356
16357         mbrtowc: Add more tests for native Windows platforms.
16358         * tests/test-mbrtowc-w32-1.sh: New file.
16359         * tests/test-mbrtowc-w32-2.sh: New file.
16360         * tests/test-mbrtowc-w32-3.sh: New file.
16361         * tests/test-mbrtowc-w32-4.sh: New file.
16362         * tests/test-mbrtowc-w32-5.sh: New file.
16363         * tests/test-mbrtowc-w32.c: New file.
16364         * modules/mbrtowc-tests (Files): Add them.
16365         (Makefile.am): Arrange to run these tests.
16366         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
16367         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
16368
16369 2011-02-13  Bruno Haible  <bruno@clisp.org>
16370
16371         mbrtowc: Work around native Windows bug.
16372         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
16373         guess when no suitable locale for testing was found.
16374         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
16375
16376 2011-02-13  Bruno Haible  <bruno@clisp.org>
16377
16378         mbsinit: Work around mingw bug.
16379         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
16380         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
16381         Windows.
16382         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
16383
16384 2011-02-13  Bruno Haible  <bruno@clisp.org>
16385
16386         mbsinit: Don't crash for a NULL argument.
16387         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
16388         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
16389
16390 2011-02-13  Bruno Haible  <bruno@clisp.org>
16391
16392         Don't interfere with a program's definition of __attribute__.
16393         * lib/stdio.in.h (__attribute__): Remove definition.
16394         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
16395         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
16396         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
16397         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
16398         * lib/string.in.h (__attribute__): Remove definition.
16399         Reported by Paul Eggert.
16400
16401 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
16402
16403         stdlib: don't get in the way of non-GCC __attribute__
16404         See thread starting at
16405         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
16406         Revert previous stdlib change, installing the following instead:
16407         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
16408         to get in the way of a non-GCC compiler that supports __attribute__.
16409         (_GL_ATTRIBUTE_RETURN): New macro.
16410         (_Exit): Use it instead of __attribute__.
16411
16412 2011-02-12  Bruno Haible  <bruno@clisp.org>
16413
16414         quotearg test: Avoid test failure on mingw.
16415         * tests/test-quotearg.sh: Convert the locale identifier from native
16416         Windows syntax to Unix syntax.
16417
16418 2011-02-12  Bruno Haible  <bruno@clisp.org>
16419
16420         setlocale: Prefer gnulib's override over libintl's override.
16421         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
16422         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
16423         GNULIB_defined_setlocale is set.
16424
16425 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
16426
16427         stdlib: support non-GCC __attribute__
16428
16429         Fix a serious and tricky problem encountered when attempting to
16430         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
16431         5.5, but it crashed due to memory corruption on Solaris 10 with
16432         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
16433         bits that are otherwise zero.  This tagging is optional inside
16434         Emacs but is preferred and is used when __attribute__ ((__aligned
16435         (8))) works, as it does with both recent-enough GCC and with Sun C
16436         5.11.  However, Sun C 5.11 is not GCC and does not #define
16437         __GNUC__ and __GNUC_MINOR__.
16438
16439         When I added the getloadavg module to Emacs, it brought in
16440         stdlib.in.h, which contained this fragment:
16441
16442            #ifndef __attribute__
16443            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
16444            #  define __attribute__(Spec)   /* empty */
16445            # endif
16446            #endif
16447
16448         When files that include <stdlib.h> were compiled with Sun C 5.11,
16449         the above code disabled __attribute__ ((__aligned (8))), which
16450         caused variables to not be properly aligned, which eventually led
16451         to the pointer corruption mentioned above.  (This was a bit hard
16452         to diagnose, unfortunately.)
16453
16454         Several "#define __attribute__(X) /* empty */" code snippets need
16455         to be eradicated from Gnulib to work with non-GCC compilers that
16456         support __attribute__.  The Autoconf way to do this is to test for
16457         each kind of attribute that we want support for, and selectively
16458         enable that in source code.
16459
16460         Fix this problem just for stdlib.h, by adding a test for the
16461         __noreturn__ attribute, and change stdlib.in.h to use that test
16462         when needed.  This technique can be easily generalized to the
16463         other *.in.h files and attributes, and a similar technique can be
16464         used for *.h and *.c files.  This patch is enough to solve the
16465         problem for Emacs + getloadavg, and I thought I'd publish it for
16466         feedback before undertaking further, similar fixes in other
16467         modules.
16468
16469         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
16470         because it's not needed for stdlib.h.  It merely substitutes the
16471         value directly into stdlib.h.  We may well need to #define it, or
16472         similar symbols, for other modules, but it's nice to also have an
16473         option to not #define it for applications like Emacs that do not
16474         need it.
16475
16476         * lib/stdlib.in.h (__attribute__): Do not #define.
16477         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
16478         be defined only if the _Exit module is also used.
16479         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
16480         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
16481         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
16482         platforms.
16483         * modules/_Exit (Files): Add m4/attribute.m4.
16484         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
16485         * m4/attribute.m4: New file.
16486
16487 2011-02-12  Bruno Haible  <bruno@clisp.org>
16488
16489         wcsrtombs: Work around bug on native Windows.
16490         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
16491         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
16492         instead of len.
16493         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
16494
16495 2011-02-12  Bruno Haible  <bruno@clisp.org>
16496
16497         mbsrtowcs: Work around bug on native Windows.
16498         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
16499         against mingw bug.
16500         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
16501
16502 2011-02-12  Bruno Haible  <bruno@clisp.org>
16503
16504         Avoid setlocale bugs in tests.
16505         * modules/btowc (Dependencies): Add setlocale.
16506         * modules/c-strcase (Dependencies): Likewise.
16507         * modules/mbmemcasecmp (Dependencies): Likewise.
16508         * modules/mbmemcasecoll (Dependencies): Likewise.
16509         * modules/mbrtowc (Dependencies): Likewise.
16510         * modules/mbscasecmp (Dependencies): Likewise.
16511         * modules/mbscasestr (Dependencies): Likewise.
16512         * modules/mbschr (Dependencies): Likewise.
16513         * modules/mbscspn (Dependencies): Likewise.
16514         * modules/mbsinit (Dependencies): Likewise.
16515         * modules/mbsncasecmp (Dependencies): Likewise.
16516         * modules/mbsnrtowcs (Dependencies): Likewise.
16517         * modules/mbspbrk (Dependencies): Likewise.
16518         * modules/mbspcasecmp (Dependencies): Likewise.
16519         * modules/mbsrchr (Dependencies): Likewise.
16520         * modules/mbsrtowcs (Dependencies): Likewise.
16521         * modules/mbsspn (Dependencies): Likewise.
16522         * modules/mbsstr (Dependencies): Likewise.
16523         * modules/nl_langinfo (Dependencies): Likewise.
16524         * modules/quotearg (Dependencies): Likewise.
16525         * modules/unicase/locale-language (Dependencies): Likewise.
16526         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
16527         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
16528         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
16529         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
16530         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
16531         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
16532         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
16533         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
16534         * modules/vasnprintf-posix (Dependencies): Likewise.
16535         * modules/wcrtomb (Dependencies): Likewise.
16536         * modules/wcsnrtombs (Dependencies): Likewise.
16537         * modules/wcsrtombs (Dependencies): Likewise.
16538
16539 2011-02-12  Bruno Haible  <bruno@clisp.org>
16540
16541         setlocale: Workaround native Windows bug.
16542         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
16543         succeeds but sets LC_CTYPE to "C", report a failure.
16544         * tests/test-setlocale2.sh: New file.
16545         * tests/test-setlocale2.c: New file.
16546         * modules/setlocale-tests (Files): Add the new files.
16547         (Makefile.am): Enable test-setlocale2.sh test.
16548         * doc/posix-functions/setlocale.texi: Mention workaround.
16549
16550 2011-02-11  Bruno Haible  <bruno@clisp.org>
16551
16552         Tests for module 'setlocale'.
16553         * modules/setlocale-tests: New file.
16554         * tests/test-setlocale1.sh: New file.
16555         * tests/test-setlocale1.c: New file.
16556
16557         New module 'setlocale'.
16558         * lib/locale.in.h (setlocale): New declaration.
16559         * lib/setlocale.c: New file, based on
16560         gettext/gettext-runtime/intl/setlocale.c.
16561         * m4/setlocale.m4: New file.
16562         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
16563         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
16564         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
16565         REPLACE_SETLOCALE.
16566         * modules/setlocale: New file.
16567         * tests/test-locale-c++.cc: Test the declaration of setlocale.
16568         * doc/posix-functions/setlocale.texi: Mention the new module.
16569
16570 2011-02-11  Bruno Haible  <bruno@clisp.org>
16571
16572         Prepare for locale dependent tests on mingw.
16573         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
16574         because it has the wrong locale encoding.
16575         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
16576         French_France.1252 instead of "fr".
16577         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
16578         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
16579         because it has the wrong locale encoding.
16580         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
16581         native Windows, try Turkish_Turkey.65001.
16582         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
16583         Chinese_China.54936.
16584
16585         Prepare for locale dependent tests on mingw.
16586         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
16587         differently.
16588         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
16589         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
16590         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
16591         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
16592
16593 2011-02-11  Eric Blake  <eblake@redhat.com>
16594
16595         strptime: avoid compiler warnings
16596         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
16597         compiler warnings about dead code.
16598         Reported by Daniel P. Berrange.
16599
16600 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
16601
16602         doc: update users.txt
16603         * users.txt: Add rcs.
16604
16605 2011-02-10  John W. Eaton  <jwe@gnu.org>
16606
16607         doc: update users.txt
16608         * users.txt: Add octave.
16609
16610 2011-02-10  Jim Meyering  <meyering@redhat.com>
16611
16612         doc: update users.txt
16613         * users.txt: Add iwhd.
16614
16615 2011-02-09  Bruno Haible  <bruno@clisp.org>
16616
16617         gnulib-tool: Make copyright notice adjustment more robust.
16618         * gnulib-tool (func_import): In sed_transform_main_lib_file,
16619         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
16620         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
16621         License".
16622         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
16623
16624 2011-02-06  Bruno Haible  <bruno@clisp.org>
16625
16626         New module 'towctrans'.
16627         * modules/towctrans: New file.
16628         * lib/wctype.in.h (towctrans): New declaration.
16629         * lib/towctrans.c: New file.
16630         * lib/towctrans-impl.h: New file.
16631         * m4/towctrans.m4: New file.
16632         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
16633         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
16634         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
16635         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
16636         * doc/posix-functions/towctrans.texi: Mention the new module.
16637
16638 2011-02-06  Bruno Haible  <bruno@clisp.org>
16639
16640         New module 'wctrans'.
16641         * modules/wctrans: New file.
16642         * lib/wctype.in.h (wctrans): New declaration.
16643         * lib/wctrans.c: New file.
16644         * lib/wctrans-impl.h: New file.
16645         * m4/wctrans.m4: New file.
16646         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
16647         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
16648         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
16649         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
16650         * doc/posix-functions/wctrans.texi: Mention the new module.
16651
16652 2011-02-06  Bruno Haible  <bruno@clisp.org>
16653
16654         New module 'iswctype'.
16655         * modules/iswctype: New file.
16656         * lib/wctype.in.h (iswctype): New declaration.
16657         * lib/iswctype.c: New file.
16658         * lib/iswctype-impl.h: New file.
16659         * m4/iswctype.m4: New file.
16660         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
16661         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
16662         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
16663         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
16664         * doc/posix-functions/iswctype.texi: Mention the new module and the
16665         HP-UX 11.00 problem.
16666
16667 2011-02-06  Bruno Haible  <bruno@clisp.org>
16668
16669         New module 'wctype'.
16670         * modules/wctype: Change to represent the wctype() substitute.
16671         * lib/wctype.in.h (wctype): New declaration.
16672         * lib/wctype.c: New file.
16673         * lib/wctype-impl.h: New file.
16674         * m4/wctype.m4: New file.
16675         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
16676         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
16677         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
16678         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
16679         * doc/posix-functions/wctype.texi: Mention the new module and the
16680         HP-UX 11.00 problem.
16681
16682 2011-02-06  Bruno Haible  <bruno@clisp.org>
16683
16684         wctype-h: Ensure wctype_t and wctrans_t are defined.
16685         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
16686         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
16687         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
16688         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
16689         HAVE_WCTRANS_T.
16690         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
16691
16692 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
16693
16694         flock: fix license typo
16695
16696         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
16697         omitted.
16698
16699 2011-02-08  Bruno Haible  <bruno@clisp.org>
16700
16701         Split large sed scripts, for HP-UX sed.
16702         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
16703         to avoid HP-UX limit of 99 commands, in the near future.
16704         * modules/stdlib (Makefile.am): Likewise.
16705         * modules/unistd (Makefile.am): Likewise.
16706         * modules/wchar (Makefile.am): Likewise.
16707         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
16708         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
16709         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
16710
16711 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
16712             Bruno Haible  <bruno@clisp.org>
16713
16714         stdlib: improve random_r modularization
16715         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
16716         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
16717         you also need the random_r module to get this material right.
16718         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
16719         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
16720         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
16721
16722 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
16723
16724         stdlib: don't depend on stdint
16725         * lib/stdlib.in.h: Don't include <stdint.h> merely because
16726         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
16727         be independent of whether stdint.h is needed.
16728         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
16729         here, instead of ...
16730         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
16731         struct random_data should be using the random_r module, not just
16732         the stdlib module (which wouldn't make sense: what package needs
16733         just struct random_data without also needing random_r?).
16734         * modules/stdlib (Depends-on): Remove stdint.
16735
16736         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
16737         See the thread rooted at
16738         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
16739         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
16740         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
16741         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
16742         __VMS)); previously it was always included (via fcntl--.h).
16743         (getloadavg): Do not use c_strtod.  Instead, approximate it by
16744         hand; this is good enough for load averages.  Also, do not use
16745         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
16746         flags directly if available and don't bother otherwise.  (Packages
16747         that need the extra reliability should use the modules that define
16748         these flags on older platforms that lack them.)
16749         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
16750         fcntl-safer.
16751
16752 2011-02-08  Jim Meyering  <meyering@redhat.com>
16753
16754         di-set.h, ino-map.h: add multiple-inclusion guard
16755         Technically, the guard is required only for ino-map.h, due to its
16756         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
16757         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
16758         * lib/ino-map.h: Likewise.
16759
16760 2011-02-06  Bruno Haible  <bruno@clisp.org>
16761
16762         iswblank: Ensure declaration on glibc systems.
16763         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
16764         * modules/iswblank (Dependencies): Add 'extensions'.
16765         * doc/posix-functions/iswblank.texi: Document the glibc problem.
16766
16767 2011-02-06  Bruno Haible  <bruno@clisp.org>
16768
16769         New module 'iswblank'.
16770         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
16771         * modules/iswblank: New file.
16772         * modules/wctype-h (Files): Remove lib/iswblank.c.
16773         (Makefile.am): Substitute GNULIB_ISWBLANK.
16774         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
16775         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
16776         (gl_WCTYPE_H_DEFAULTS): New macro.
16777         (gl_WCTYPE_H): Require it. Remove iswblank related code.
16778         * modules/iswblank-tests: New file.
16779         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
16780         * tests/test-wctype-h.c (main): Remove iswblank tests.
16781         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
16782         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
16783         of 'wctype-h'.
16784         * NEWS: Mention the change.
16785         * modules/mbchar (Depends-on): Add iswblank.
16786
16787 2011-02-08  Bruno Haible  <bruno@clisp.org>
16788
16789         di-set tests: Refactor.
16790         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
16791         unnecessary includes.
16792         (ASSERT): Remove macro.
16793         (main): Make C90 compliant by avoiding variable declaration after
16794         statement.
16795         * modules/di-set-tests (Files): Add tests/macros.h.
16796
16797 2011-02-08  Bruno Haible  <bruno@clisp.org>
16798
16799         ino-map tests: Refactor.
16800         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
16801         unnecessary includes.
16802         (ASSERT): Remove macro.
16803         (main): Make C90 compliant by avoiding variable declaration after
16804         statement.
16805         * modules/ino-map-tests (Files): Add tests/macros.h.
16806
16807 2011-02-08  Jim Meyering  <meyering@redhat.com>
16808
16809         di-set: add "const" to a cast
16810         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
16811         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
16812
16813 2011-02-06  Bruno Haible  <bruno@clisp.org>
16814
16815         Rename module 'wctype' to 'wctype-h'.
16816         * modules/wctype-h: Renamed from modules/wctype.
16817         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
16818         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
16819         (Files, Depends-on, Makefile.am): Update.
16820         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
16821         (Files, Makefile.am): Update.
16822         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
16823         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
16824         * doc/posix-headers/wctype.texi: Update.
16825         * doc/posix-functions/iswalnum.texi: Update.
16826         * doc/posix-functions/iswalpha.texi: Update.
16827         * doc/posix-functions/iswblank.texi: Update.
16828         * doc/posix-functions/iswcntrl.texi: Update.
16829         * doc/posix-functions/iswdigit.texi: Update.
16830         * doc/posix-functions/iswgraph.texi: Update.
16831         * doc/posix-functions/iswlower.texi: Update.
16832         * doc/posix-functions/iswprint.texi: Update.
16833         * doc/posix-functions/iswpunct.texi: Update.
16834         * doc/posix-functions/iswspace.texi: Update.
16835         * doc/posix-functions/iswupper.texi: Update.
16836         * doc/posix-functions/iswxdigit.texi: Update.
16837         * doc/posix-functions/towlower.texi: Update.
16838         * doc/posix-functions/towupper.texi: Update.
16839         * NEWS: Mention the change.
16840         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
16841         * modules/mbchar (Dependencies): Likewise.
16842         * modules/mbswidth (Dependencies): Likewise.
16843         * modules/quotearg (Dependencies): Likewise.
16844         * modules/regex (Dependencies): Likewise.
16845         * modules/wcscasecmp (Dependencies): Likewise.
16846         * modules/wcsncasecmp (Dependencies): Likewise.
16847         * modules/wcwidth (Dependencies): Likewise.
16848
16849 2011-02-06  Bruno Haible  <bruno@clisp.org>
16850
16851         New module 'wcswidth'.
16852         * modules/wcswidth: New file.
16853         * lib/wchar.in.h (wcswidth): New declaration.
16854         * lib/wcswidth.c: New file.
16855         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
16856         * m4/wcswidth.m4: New file.
16857         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
16858         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
16859         REPLACE_WCSWIDTH.
16860         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
16861         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
16862         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
16863         * doc/posix-functions/wcswidth.texi: Mention the new module.
16864
16865 2011-02-06  Bruno Haible  <bruno@clisp.org>
16866
16867         New module 'wcstok'.
16868         * modules/wcstok: New file.
16869         * lib/wchar.in.h (wcstok): New declaration.
16870         * lib/wcstok.c: New file.
16871         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
16872         * m4/wcstok.m4: New file.
16873         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
16874         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
16875         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
16876         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
16877         * doc/posix-functions/wcstok.texi: Mention the new module.
16878
16879 2011-02-06  Bruno Haible  <bruno@clisp.org>
16880
16881         New module 'wcsstr'.
16882         * modules/wcsstr: New file.
16883         * lib/wchar.in.h (wcsstr): New declaration.
16884         * lib/wcsstr.c: New file.
16885         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
16886         * m4/wcsstr.m4: New file.
16887         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
16888         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
16889         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
16890         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
16891         * doc/posix-functions/wcsstr.texi: Mention the new module.
16892
16893 2011-02-06  Bruno Haible  <bruno@clisp.org>
16894
16895         New module 'wcspbrk'.
16896         * modules/wcspbrk: New file.
16897         * lib/wchar.in.h (wcspbrk): New declaration.
16898         * lib/wcspbrk.c: New file.
16899         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
16900         * m4/wcspbrk.m4: New file.
16901         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
16902         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
16903         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
16904         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
16905         * doc/posix-functions/wcspbrk.texi: Mention the new module.
16906
16907 2011-02-06  Bruno Haible  <bruno@clisp.org>
16908
16909         New module 'wcsspn'.
16910         * modules/wcsspn: New file.
16911         * lib/wchar.in.h (wcsspn): New declaration.
16912         * lib/wcsspn.c: New file.
16913         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
16914         * m4/wcsspn.m4: New file.
16915         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
16916         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
16917         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
16918         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
16919         * doc/posix-functions/wcsspn.texi: Mention the new module.
16920
16921 2011-02-06  Bruno Haible  <bruno@clisp.org>
16922
16923         New module 'wcscspn'.
16924         * modules/wcscspn: New file.
16925         * lib/wchar.in.h (wcscspn): New declaration.
16926         * lib/wcscspn.c: New file.
16927         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
16928         * m4/wcscspn.m4: New file.
16929         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
16930         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
16931         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
16932         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
16933         * doc/posix-functions/wcscspn.texi: Mention the new module.
16934
16935 2011-02-06  Bruno Haible  <bruno@clisp.org>
16936
16937         New module 'wcsrchr'.
16938         * modules/wcsrchr: New file.
16939         * lib/wchar.in.h (wcsrchr): New declaration.
16940         * lib/wcsrchr.c: New file.
16941         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
16942         * m4/wcsrchr.m4: New file.
16943         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
16944         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
16945         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
16946         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
16947         * doc/posix-functions/wcsrchr.texi: Mention the new module.
16948
16949 2011-02-06  Bruno Haible  <bruno@clisp.org>
16950
16951         New module 'wcschr'.
16952         * modules/wcschr: New file.
16953         * lib/wchar.in.h (wcschr): New declaration.
16954         * lib/wcschr.c: New file.
16955         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
16956         * m4/wcschr.m4: New file.
16957         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
16958         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
16959         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
16960         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
16961         * doc/posix-functions/wcschr.texi: Mention the new module.
16962
16963 2011-02-06  Bruno Haible  <bruno@clisp.org>
16964
16965         New module 'wcsdup'.
16966         * modules/wcsdup: New file.
16967         * lib/wchar.in.h (wcsdup): New declaration.
16968         * lib/wcsdup.c: New file.
16969         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
16970         * m4/wcsdup.m4: New file.
16971         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
16972         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
16973         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
16974         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
16975         * doc/posix-functions/wcsdup.texi: Mention the new module.
16976
16977 2011-02-06  Bruno Haible  <bruno@clisp.org>
16978
16979         New module 'wcsxfrm'.
16980         * modules/wcsxfrm: New file.
16981         * lib/wchar.in.h (wcsxfrm): New declaration.
16982         * lib/wcsxfrm.c: New file.
16983         * lib/wcsxfrm-impl.h: New file.
16984         * m4/wcsxfrm.m4: New file.
16985         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
16986         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
16987         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
16988         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
16989         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
16990
16991 2011-02-06  Bruno Haible  <bruno@clisp.org>
16992
16993         New module 'wcscoll'.
16994         * modules/wcscoll: New file.
16995         * lib/wchar.in.h (wcscoll): New declaration.
16996         * lib/wcscoll.c: New file.
16997         * lib/wcscoll-impl.h: New file.
16998         * m4/wcscoll.m4: New file.
16999         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
17000         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
17001         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
17002         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
17003         * doc/posix-functions/wcscoll.texi: Mention the new module.
17004
17005 2011-02-06  Bruno Haible  <bruno@clisp.org>
17006
17007         New module 'wcsncasecmp'.
17008         * modules/wcsncasecmp: New file.
17009         * lib/wchar.in.h (wcsncasecmp): New declaration.
17010         * lib/wcsncasecmp.c: New file.
17011         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
17012         * m4/wcsncasecmp.m4: New file.
17013         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
17014         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
17015         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
17016         HAVE_WCSNCASECMP.
17017         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
17018         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
17019
17020 2011-02-06  Bruno Haible  <bruno@clisp.org>
17021
17022         New module 'wcscasecmp'.
17023         * modules/wcscasecmp: New file.
17024         * lib/wchar.in.h (wcscasecmp): New declaration.
17025         * lib/wcscasecmp.c: New file.
17026         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
17027         * m4/wcscasecmp.m4: New file.
17028         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
17029         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
17030         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
17031         HAVE_WCSCASECMP.
17032         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
17033         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
17034
17035 2011-02-05  Bruno Haible  <bruno@clisp.org>
17036
17037         New module 'wcsncmp'.
17038         * modules/wcsncmp: New file.
17039         * lib/wchar.in.h (wcsncmp): New declaration.
17040         * lib/wcsncmp.c: New file.
17041         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
17042         * m4/wcsncmp.m4: New file.
17043         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
17044         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
17045         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
17046         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
17047         * doc/posix-functions/wcsncmp.texi: Mention the new module.
17048
17049 2011-02-05  Bruno Haible  <bruno@clisp.org>
17050
17051         New module 'wcscmp'.
17052         * modules/wcscmp: New file.
17053         * lib/wchar.in.h (wcscmp): New declaration.
17054         * lib/wcscmp.c: New file.
17055         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
17056         * m4/wcscmp.m4: New file.
17057         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
17058         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
17059         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
17060         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
17061         * doc/posix-functions/wcscmp.texi: Mention the new module.
17062
17063 2011-02-05  Bruno Haible  <bruno@clisp.org>
17064
17065         New module 'wcsncat'.
17066         * modules/wcsncat: New file.
17067         * lib/wchar.in.h (wcsncat): New declaration.
17068         * lib/wcsncat.c: New file.
17069         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
17070         * m4/wcsncat.m4: New file.
17071         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
17072         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
17073         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
17074         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
17075         * doc/posix-functions/wcsncat.texi: Mention the new module.
17076
17077 2011-02-05  Bruno Haible  <bruno@clisp.org>
17078
17079         New module 'wcscat'.
17080         * modules/wcscat: New file.
17081         * lib/wchar.in.h (wcscat): New declaration.
17082         * lib/wcscat.c: New file.
17083         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
17084         * m4/wcscat.m4: New file.
17085         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
17086         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
17087         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
17088         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
17089         * doc/posix-functions/wcscat.texi: Mention the new module.
17090
17091 2011-02-05  Bruno Haible  <bruno@clisp.org>
17092
17093         New module 'wcpncpy'.
17094         * modules/wcpncpy: New file.
17095         * lib/wchar.in.h (wcpncpy): New declaration.
17096         * lib/wcpncpy.c: New file.
17097         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
17098         * m4/wcpncpy.m4: New file.
17099         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
17100         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
17101         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
17102         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
17103         * doc/posix-functions/wcpncpy.texi: Mention the new module.
17104
17105 2011-02-05  Bruno Haible  <bruno@clisp.org>
17106
17107         New module 'wcsncpy'.
17108         * modules/wcsncpy: New file.
17109         * lib/wchar.in.h (wcsncpy): New declaration.
17110         * lib/wcsncpy.c: New file.
17111         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
17112         * m4/wcsncpy.m4: New file.
17113         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
17114         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
17115         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
17116         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
17117         * doc/posix-functions/wcsncpy.texi: Mention the new module.
17118
17119 2011-02-05  Bruno Haible  <bruno@clisp.org>
17120
17121         New module 'wcpcpy'.
17122         * modules/wcpcpy: New file.
17123         * lib/wchar.in.h (wcpcpy): New declaration.
17124         * lib/wcpcpy.c: New file.
17125         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
17126         * m4/wcpcpy.m4: New file.
17127         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
17128         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
17129         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
17130         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
17131         * doc/posix-functions/wcpcpy.texi: Mention the new module.
17132
17133 2011-02-05  Bruno Haible  <bruno@clisp.org>
17134
17135         New module 'wcscpy'.
17136         * modules/wcscpy: New file.
17137         * lib/wchar.in.h (wcscpy): New declaration.
17138         * lib/wcscpy.c: New file.
17139         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
17140         * m4/wcscpy.m4: New file.
17141         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
17142         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
17143         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
17144         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
17145         * doc/posix-functions/wcscpy.texi: Mention the new module.
17146
17147 2011-02-05  Bruno Haible  <bruno@clisp.org>
17148
17149         New module 'wcsnlen'.
17150         * modules/wcsnlen: New file.
17151         * lib/wchar.in.h (wcsnlen): New declaration.
17152         * lib/wcsnlen.c: New file.
17153         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
17154         * m4/wcsnlen.m4: New file.
17155         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
17156         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
17157         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
17158         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
17159         * doc/posix-functions/wcsnlen.texi: Mention the new module.
17160
17161 2011-02-05  Bruno Haible  <bruno@clisp.org>
17162
17163         New module 'wcslen'.
17164         * modules/wcslen: New file.
17165         * lib/wchar.in.h (wcslen): New declaration.
17166         * lib/wcslen.c: New file.
17167         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
17168         * m4/wcslen.m4: New file.
17169         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
17170         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
17171         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
17172         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
17173         * doc/posix-functions/wcslen.texi: Mention the new module.
17174
17175 2011-02-05  Bruno Haible  <bruno@clisp.org>
17176
17177         New module 'wmemset'.
17178         * modules/wmemset: New file.
17179         * lib/wchar.in.h (wmemset): New declaration.
17180         * lib/wmemset.c: New file.
17181         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
17182         * m4/wmemset.m4: New file.
17183         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
17184         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
17185         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
17186         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
17187         * doc/posix-functions/wmemset.texi: Mention the new module.
17188
17189 2011-02-05  Bruno Haible  <bruno@clisp.org>
17190
17191         New module 'wmemmove'.
17192         * modules/wmemmove: New file.
17193         * lib/wchar.in.h (wmemmove): New declaration.
17194         * lib/wmemmove.c: New file.
17195         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
17196         * m4/wmemmove.m4: New file.
17197         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
17198         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
17199         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
17200         HAVE_WMEMMOVE.
17201         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
17202         * doc/posix-functions/wmemmove.texi: Mention the new module.
17203
17204 2011-02-05  Bruno Haible  <bruno@clisp.org>
17205
17206         New module 'wmemcpy'.
17207         * modules/wmemcpy: New file.
17208         * lib/wchar.in.h (wmemcpy): New declaration.
17209         * lib/wmemcpy.c: New file.
17210         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
17211         * m4/wmemcpy.m4: New file.
17212         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
17213         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
17214         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
17215         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
17216         * doc/posix-functions/wmemcpy.texi: Mention the new module.
17217
17218 2011-02-05  Bruno Haible  <bruno@clisp.org>
17219
17220         New module 'wmemcmp'.
17221         * modules/wmemcmp: New file.
17222         * lib/wchar.in.h (wmemcmp): New declaration.
17223         * lib/wmemcmp.c: New file.
17224         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
17225         * m4/wmemcmp.m4: New file.
17226         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
17227         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
17228         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
17229         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
17230         * doc/posix-functions/wmemcmp.texi: Mention the new module.
17231
17232 2011-02-07  Jim Meyering  <meyering@redhat.com>
17233
17234         di-set, ino-map: new modules, from coreutils
17235         * lib/di-set.c: New file.
17236         * lib/di-set.h: Likewise.
17237         * lib/ino-map.c: Likewise.
17238         * lib/ino-map.h: Likewise.
17239         * modules/di-set: Likewise.
17240         * modules/di-set-tests: Likewise.
17241         * modules/ino-map: Likewise.
17242         * modules/ino-map-tests: Likewise.
17243         * tests/test-di-set.c: Likewise.
17244         * tests/test-ino-map.c: Likewise.
17245
17246 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
17247
17248         getloadavg: merge minor changes from Emacs
17249
17250         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
17251         (getloadavg): Use memset, not bzero.
17252
17253         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
17254         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
17255         clash (bug#86).
17256
17257 2010-11-14  Bruno Haible  <bruno@clisp.org>
17258
17259         Allow multiple gnulib generated replacements to coexist.
17260         * lib/getopt.in.h (struct option): Avoid identical redefinition.
17261         * lib/inttypes.in.h (imaxdiv_t): Likewise.
17262         * lib/langinfo.in.h (nl_item): Likewise.
17263         * lib/math.in.h (_NaN, NAN): Likewise.
17264         * lib/netdb.in.h (struct addrinfo): Likewise.
17265         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
17266         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
17267         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
17268         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
17269         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
17270         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
17271         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
17272         pthread_mutexattr_init, pthread_mutexattr_settype,
17273         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
17274         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
17275         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
17276         pthread_spin_trylock, pthread_spin_unlock): Likewise.
17277         * lib/sched.in.h (struct sched_param): Likewise.
17278         * lib/se-selinux.in.h (security_class_t, security_context_t,
17279         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
17280         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
17281         lsetfilecon, fsetfilecon, security_check_context,
17282         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
17283         Likewise.
17284         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
17285         Likewise.
17286         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
17287         _gl_function_taking_int_returning_void_t, union sigval,
17288         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
17289         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
17290         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
17291         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
17292         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
17293         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
17294         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
17295         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
17296         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
17297         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
17298         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
17299         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
17300         socklen_t, rpl_fd_isset): Likewise.
17301         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
17302         * lib/sys_time.in.h (struct timeval): Likewise.
17303         * lib/sys_times.in.h (struct tms): Likewise.
17304         * lib/sys_utsname.in.h (struct utsname):
17305         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
17306         * lib/unistd.in.h (getpagesize): Likewise.
17307         * lib/wchar.in.h (mbstate_t): Likewise.
17308         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
17309         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
17310         towlower, towupper): Likewise.
17311         Reported by Sam Steingold <sds@gnu.org>.
17312
17313 2011-02-05  Eric Blake  <eblake@redhat.com>
17314
17315         unsetenv: work around Haiku issues
17316         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
17317         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
17318
17319 2010-12-30  Bruce Korb  <bkorb@gnu.org>
17320
17321         libposix: avoid calling error() within libposix
17322         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
17323         is defined.
17324
17325 2011-02-05  Eric Blake  <eblake@redhat.com>
17326
17327         strerror_r-posix: port to cygwin
17328         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
17329         implementation.
17330         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
17331         * tests/test-strerror_r.c (main): Fix test.
17332         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
17333         issue.
17334
17335 2011-02-05  Bruno Haible  <bruno@clisp.org>
17336
17337         New module 'wmemchr'.
17338         * modules/wmemchr: New file.
17339         * lib/wchar.in.h (wmemchr): New declaration.
17340         * lib/wmemchr.c: New file.
17341         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
17342         * m4/wmemchr.m4: New file.
17343         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
17344         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
17345         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
17346         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
17347         * doc/posix-functions/wmemchr.texi: Mention the new module.
17348
17349 2011-02-04  Eric Blake  <eblake@redhat.com>
17350
17351         fdopendir: detect FreeBSD bug
17352         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
17353         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
17354
17355 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
17356
17357         stdbool: do not define HAVE_STDBOOL_H
17358         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
17359         AC_HEADER_STDBOOL.  All uses changed.  Do not define
17360         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
17361         imported from the latest Autoconf git.  It was motivated by Emacs,
17362         which uses gnulib but does not need HAVE_STDBOOL_H.
17363
17364 2011-02-04  Bruno Haible  <bruno@clisp.org>
17365
17366         wcsnrtombs: Prepare for new module wwcsnrtombs.
17367         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
17368         * lib/wcsnrtombs.c: Include it.
17369         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
17370
17371         wcsrtombs: Prepare for new module wwcsrtombs.
17372         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
17373         * lib/wcsrtombs.c: Include it.
17374         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
17375
17376         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
17377         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
17378         * lib/mbsnrtowcs.c: Include it.
17379         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
17380
17381         mbsrtowcs: Prepare for new module mbsrtowwcs.
17382         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
17383         * lib/mbsrtowcs.c: Include it.
17384         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
17385
17386 2011-02-04  Bruno Haible  <bruno@clisp.org>
17387
17388         vasnprintf: Reduce use of malloc for small format strings.
17389         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
17390         (arguments): Add room for the first 7 arguments.
17391         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
17392         (char_directives, u8_directives, u16_directives, u32_directives): Add
17393         room for the first 7 directives.
17394         * lib/printf-parse.c: Include <string.h>.
17395         (PRINTF_PARSE): Change memory handling code so that it uses the first
17396         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
17397         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
17398         Reported by Pádraig Brady <P@draigbrady.com>.
17399
17400 2011-01-31  Eric Blake  <eblake@redhat.com>
17401
17402         dup2: work around Haiku bug
17403         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
17404         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
17405         * doc/posix-functions/dup2.texi (dup2): Document the bug.
17406         * tests/test-dup2.c (main): Enhance test.
17407
17408 2011-01-31  Simon Josefsson  <simon@josefsson.org>
17409
17410         doc: off_t is not available in eglibc 2.11.2 stdio.h.
17411         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
17412         declared by eglibc 2.11.2.
17413         * lib/stdio.in.h: Likewise.
17414
17415 2011-01-31  Eric Blake  <eblake@redhat.com>
17416
17417         ignore-value: add missing test dependency
17418         * tests/test-ignore-value.c: Revert previous change; stdio.h
17419         provides off_t.
17420         * modules/ignore-value-tests (Depends-on): Add missing dependency.
17421
17422 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
17423
17424         mktime: clarify long_int width checking
17425         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
17426         the top level, to make it clearer that the assumption about
17427         long_int width is being checked.  See
17428         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
17429
17430 2011-01-30  Simon Josefsson  <simon@josefsson.org>
17431
17432         ignore-value: Fix self-test.
17433         * tests/test-ignore-value.c: Include sys/types.h for off_t.
17434
17435 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
17436
17437         TYPE_MAXIMUM: avoid theoretically undefined behavior
17438         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
17439         negative number, which the C Standard says has undefined behavior.
17440         In practice this is not a problem, but might as well do it by the book.
17441         Reported by Rich Felker and Eric Blake; see
17442         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
17443         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
17444         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
17445         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17446         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
17447         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17448         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
17449
17450         mktime: #undef mktime before #defining it
17451         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
17452
17453         mktime: systematically normalize tm_isdst comparisons
17454         * lib/mktime.c (isdst_differ): New function.
17455         (__mktime_internal): Use it systematically for all isdst comparisons.
17456         This completes the fix for libc BZ #6723, and removes the need for
17457         normalizing tm_isdst.  See
17458         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
17459         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
17460
17461         mktime: fix some integer overflow issues and sidestep the rest
17462
17463         This was prompted by a bug report by Benjamin Lindner for MinGW
17464         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
17465         His bug is due to signed integer overflow (0 - INT_MIN), and I
17466         I scanned through mktime.c looking for other integer overflow
17467         problems, fixing all the bugs I found.
17468
17469         Although the C Standard says the resulting code is still not safe
17470         in the presence of integer overflow, in practice it should be good
17471         enough for all real-world two's-complement implementations, except
17472         for debugging environments that deliberately trap on integer
17473         overflow (e.g., gcc -ftrapv).
17474
17475         * lib/mktime.c (WRAPV): New macro.
17476         (SHR): Also check that long_int and time_t shift right in the
17477         usual way, before using the fast-but-unportable method.
17478         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
17479         used.  The code already assumed two's complement, so there's
17480         no need to test for alternatives.  All uses removed.
17481         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
17482         the C standard.  Problem reported by Rich Felker in
17483         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
17484         (twos_complement_arithmetic): Also check long_int and time_t.
17485         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
17486         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
17487         (__mktime_internal): Avoid integer overflow with unary subtraction
17488         in two instances where -1 - X is an adequate replacement for -X,
17489         since the calculations are approximate.
17490
17491 2011-01-29  Eric Blake  <eblake@redhat.com>
17492
17493         mktime: avoid infinite loop
17494         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
17495         type; behavior is still undefined but portable to all known targets.
17496         Reported by Rich Felker.
17497
17498 2011-01-29  Simon Josefsson  <simon@josefsson.org>
17499
17500         rename, unlink, same-inode: Relicense.
17501         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
17502         * modules/unlink (License): Likewise.
17503         * modules/same-inode (License): Likewise.
17504
17505 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
17506
17507         mktime: avoid problems on NetBSD 5 / i386
17508         * lib/mktime.c (long_int): New type.  This works around a problem
17509         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
17510         but time_t is 64 bits, and where I expect the existing code is
17511         wrong in some cases.
17512         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
17513         (ydhms_diff): Bring back the compile-time check for wide-enough
17514         year and yday.
17515
17516         mktime: fix misspelling in comment
17517         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
17518         This merges all recent glibc changes of importance.
17519
17520 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17521
17522         move-if-change: cope with concurrent mv of identical file.
17523         * build-aux/move-if-change (CMPPROG): Accept environment
17524         variable as an override for `cmp'.
17525         (usage): Document CMPPROG.
17526         Adjust comparison to drop stdout.  Cope with failure of mv if
17527         the target file exists and is identical to the source, for
17528         parallel builds.
17529         Report from H.J. Lu against binutils in PR binutils/12283.
17530
17531 2011-01-28  Bruce Korb  <bkorb@gnu.org>
17532
17533         * users.txt: Mention sharutils.
17534
17535 2011-01-28  Simon Josefsson  <simon@josefsson.org>
17536
17537         * users.txt: Mention OATH Toolkit.
17538
17539 2011-01-27  Bruno Haible  <bruno@clisp.org>
17540
17541         Prepare for supporting FreeBSD 10.
17542         * build-aux/config.libpath: Remove handling of freebsd1*.
17543
17544 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
17545
17546         Prepare for supporting FreeBSD 10.
17547         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
17548         match FreeBSD 10.0.
17549
17550 2011-01-27  Bruno Haible  <bruno@clisp.org>
17551
17552         vma-iter, get-rusage-as: Add OpenBSD support.
17553         * modules/vma-iter (configure.ac): Test for mquery.
17554         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
17555         * lib/vma-iter.c: Include <sys/mman.h>.
17556         (vma_iterate): Add an implementation based on mquery().
17557         * lib/resource-ext.h (get_rusage_as): Update comments.
17558         * lib/get-rusage-as.c: Likewise.
17559         * lib/get-rusage-data.c: Likewise.
17560
17561 2011-01-26  Karl Berry  <karl@gnu.org>
17562
17563         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
17564         variables to make it easier to override the makeinfo program used.
17565
17566 2011-01-26  Eric Blake  <eblake@redhat.com>
17567
17568         fcntl: work around Haiku F_DUPFD bugs
17569         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
17570         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
17571         cloexec bit on duplication.
17572         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
17573
17574 2011-01-26  Bruno Haible  <bruno@clisp.org>
17575
17576         Enable memory leak tests on AIX.
17577         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
17578         * tests/test-fprintf-posix3.c (main): Likewise.
17579
17580 2011-01-26  Bruno Haible  <bruno@clisp.org>
17581
17582         Tests for module 'get-rusage-data'.
17583         * modules/get-rusage-data-tests: New file.
17584         * tests/test-get-rusage-data.c: New file.
17585
17586         New module 'get-rusage-data'.
17587         * lib/resource-ext.h (get_rusage_data): New declaration.
17588         * lib/get-rusage-data.c: New file.
17589         * modules/get-rusage-data: New file.
17590
17591 2011-01-25  Bruno Haible  <bruno@clisp.org>
17592
17593         get-rusage-as: Allow for easier testing.
17594         * lib/resource-ext.h (get_rusage_as): Add comment.
17595         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
17596         (main): New function for interactive testing.
17597
17598 2011-01-25  Bruno Haible  <bruno@clisp.org>
17599
17600         vma-iter: Treat Haiku like BeOS.
17601         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
17602         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
17603
17604 2011-01-25  Eric Blake  <eblake@redhat.com>
17605
17606         c-stack: fix regression on cygwin when libsigsegv is present
17607         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
17608
17609 2011-01-24  Bruno Haible  <bruno@clisp.org>
17610
17611         vma-iter: Avoid empty intervals.
17612         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
17613         on an empty interval.
17614
17615 2011-01-24  Jim Meyering  <meyering@redhat.com>
17616
17617         u64: remove unnecessary #include
17618         * lib/u64.h: Don't include <stddef.h>.  It was not used.
17619
17620 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
17621
17622         Allow the user to avoid the HAVE_RAW_DECL_* macros.
17623         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
17624
17625 2011-01-23  Bruno Haible  <bruno@clisp.org>
17626
17627         New module 'vma-iter'.
17628         * lib/vma-iter.h: New file.
17629         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
17630         * modules/vma-iter: New file.
17631         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
17632         for get_rusage_as_via_iterator.
17633         (vma_iterate_callback): New function.
17634         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
17635         * modules/get-rusage-as (Depends-on): Add vma-iter.
17636
17637 2011-01-23  Bruno Haible  <bruno@clisp.org>
17638
17639         uninorm: Tweak includes.
17640         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
17641         Reported by Jim Meyering.
17642
17643 2011-01-23  Bruno Haible  <bruno@clisp.org>
17644
17645         get-rusage-as: Improve on NetBSD.
17646         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
17647         /proc, like on FreeBSD.
17648
17649 2011-01-23  Jim Meyering  <meyering@redhat.com>
17650
17651         xreadlink.h: remove unnecessary #include
17652         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
17653
17654         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
17655         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
17656
17657 2011-01-23  Bruno Haible  <bruno@clisp.org>
17658
17659         get-rusage-as: Fix bug.
17660         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
17661         original limit when aborting the first loop.
17662
17663 2011-01-23  Bruno Haible  <bruno@clisp.org>
17664
17665         wctype: Ensure valid C syntax.
17666         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
17667         unconditionally, instead of gl_NEXT_HEADERS conditionally.
17668
17669 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
17670
17671         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
17672         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
17673         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
17674         as they are needed only for configure's test case.
17675         This removes two unnecessary symbols from config.h.
17676
17677         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
17678         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
17679         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
17680         AC_CHECK_HEADERS_ONCE on a header that we also invoke
17681         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
17682         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
17683         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
17684         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
17685         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
17686         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
17687         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
17688         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17689         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17690         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
17691         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
17692         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17693         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
17694         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
17695
17696 2011-01-21  Eric Blake  <eblake@redhat.com>
17697
17698         maintainer-makefile: work with older git for submodule check
17699         * top/maint.mk (public-submodule-commit): Rewrite to avoid
17700         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
17701         Reported by Matthias Bolte.
17702
17703         bootstrap: minor portability fixes
17704         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
17705         (usage): Omit leading capital and trailing . on help phrases, per
17706         GNU Coding Standards.
17707         (check_versions, top level): Prefix messages with script name.
17708
17709 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
17710
17711         bootstrap: support --no-git option
17712         * build-aux/bootstrap: Add --no-git option, to be used when
17713         --gnulib-srcdir points to the exact desired checkout.
17714
17715 2011-01-21  Eric Blake  <eblake@redhat.com>
17716
17717         strerror_r-posix: work with glibc 2.13
17718         * lib/strerror_r.c (strerror_r): Fix return type.
17719
17720 2011-01-21  Pádraig Brady  <P@draigBrady.com>
17721             Bruno Haible  <bruno@clisp.org>
17722
17723         uN_strstr: New unit tests.
17724         * modules/unistr/u8-strstr-tests: New file.
17725         * modules/unistr/u16-strstr-tests: New file.
17726         * modules/unistr/u32-strstr-tests: New file.
17727         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
17728         * tests/unistr/test-u8-strstr.c: New file.
17729         * tests/unistr/test-u16-strstr.c: New file.
17730         * tests/unistr/test-u32-strstr.c: New file.
17731
17732 2011-01-21  Pádraig Brady  <P@draigBrady.com>
17733             Bruno Haible  <bruno@clisp.org>
17734
17735         Make uN_strstr functions O(n) worst-case.
17736         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
17737         16-bit and 32-bit unit cases, use the unibyte algorithm from
17738         lib/mbsstr.c.
17739         * lib/unistr/u8-strstr.c: Include <string.h>.
17740         (UNIT_IS_UINT8_T): New macro.
17741         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
17742         (U_STRLEN, U_STRNLEN): New macros.
17743         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
17744         (U_STRLEN, U_STRNLEN): New macros.
17745         * modules/unistr/u8-strstr (Depends-on): Add strstr.
17746         (configure.ac): Update required libunistring version.
17747         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
17748         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
17749         malloca.
17750         (configure.ac): Update required libunistring version.
17751         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
17752         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
17753         malloca.
17754         (configure.ac): Update required libunistring version.
17755
17756 2011-01-21  Pádraig Brady  <P@draigBrady.com>
17757             Bruno Haible  <bruno@clisp.org>
17758
17759         Prepare for faster uN_strstr functions.
17760         * lib/str-kmp.h: Support definable UNITs.
17761         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
17762         needle_len argument.
17763         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
17764         * lib/mbscasestr.c (mbscasestr): Likewise.
17765
17766 2011-01-21  Pádraig Brady <P@draigBrady.com>
17767
17768         malloca-tests: make faster by unsetting MALLOC_PERTURB_
17769         * tests/test-malloca.c (main): Unset the environment variable
17770         to greatly speed up the test.
17771         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
17772         * modules/malloca-tests: Depend on unsetenv.
17773
17774 2011-01-21  Pádraig Brady <P@draigBrady.com>
17775
17776         ignore-value: remove stdint dependency
17777         * lib/ignore-value.h: Remove <stdint.h>
17778         * modules/ignore-value: Remove stdint dependency.
17779
17780 2011-01-21  Jim Meyering  <meyering@redhat.com>
17781
17782         maint.mk: adjust variable name to be consistent with other gl_ vars
17783         * top/maint.mk (gl_public_submodule_commit): Rename the variable
17784         to be lower case.
17785
17786 2011-01-20  Jim Meyering  <meyering@redhat.com>
17787
17788         maint.mk: make "check" depend on public-submodule-commit by default
17789         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
17790
17791 2011-01-20  Bruno Haible  <bruno@clisp.org>
17792
17793         mbfile, mbiter: Complete change from 2008-12-21.
17794         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
17795         * m4/mbiter.m4 (gl_MBITER): Likewise.
17796
17797 2011-01-20  Jim Meyering  <meyering@redhat.com>
17798
17799         init.sh: insert space between each function name and "()"
17800         * tests/init.sh: Make it a little easier to see that a function's
17801         name is "warn_", and not "warn" when looking at the first part of
17802         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
17803
17804 2011-01-20  Jim Meyering  <meyering@redhat.com>
17805
17806         mountlist: clean up code formatting
17807         * lib/mountlist.c (read_file_system_list): Split a long line,
17808         correct bracing style, use NULL in place of "(struct statfs *)0",
17809         don't parenthesize return value, add spaces around "=" and after
17810         ";-in-for-stmt".
17811
17812 2011-01-14  Markus Duft <mduft@gentoo.org>
17813
17814         mountlist: add support for Interix
17815         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
17816         Apply statvfs to all entries of /dev/fs.
17817         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
17818         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
17819
17820 2011-01-20  Jim Meyering  <meyering@redhat.com>
17821
17822         maint.mk: improve the public-submodule-commit rule
17823         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
17824         to suppress printing of its commands... unless V=1.
17825         Add git submodule's --quiet option to suppress printing of e.g.,
17826         "Entering gnulib" output.
17827         "cd" into $(srcdir) before running git submodule.
17828
17829 2011-01-20  Bruno Haible  <bruno@clisp.org>
17830
17831         include_next: Fix bug introduced on 2011-01-18.
17832         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
17833         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
17834         ac_cv_header_... variable if the second argument is not 'check'.
17835         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
17836         gl_NEXT_HEADERS_INTERNAL.
17837
17838 2011-01-20  Bruno Haible  <bruno@clisp.org>
17839
17840         Allow the user to avoid the GNULIB_TEST_* macros.
17841         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
17842         Suggested by Paul Eggert.
17843
17844 2011-01-14  Jim Meyering  <meyering@redhat.com>
17845
17846         bootstrap: avoid failure when there is no .gitmodules file
17847         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
17848         has been assigned to, even when its value is the empty string.
17849         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
17850         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
17851         Reported by John W. Eaton <jwe@gnu.org>.
17852
17853 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
17854
17855         assume <ctype.h>, ..., <time.h> exist
17856         For years gnulib has been assuming the existence of the headers
17857         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
17858         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
17859         them, since they don't appear to be needed.
17860         * README (Portability guidelines): Document this.
17861         * lib/flock.c: Assume <fcntl.h> exists.
17862         * lib/regex_internal.h: Assume <locale.h> exists.
17863         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
17864         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
17865         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
17866         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
17867         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
17868         * m4/regex.m4 (gl_REGEX): Likewise.
17869         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
17870         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
17871         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
17872         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
17873         * tests/test-argp.c: Likewise.
17874         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
17875
17876         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
17877         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
17878         AA_APPLE_UNIVERSAL_BUILD.  See
17879         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
17880         * NEWS: Document this.
17881
17882 2011-01-19  Eric Blake  <eblake@redhat.com>
17883
17884         c-stack: assume stack overflow if SA_SIGINFO unsupported
17885         * lib/c-stack.c (SIGACTION_WORKS): Rename...
17886         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
17887         sigaction will work.
17888         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
17889         behavior match Linux.
17890         * tests/test-c-stack.c (main): Prefer NULL for pointers.
17891
17892         stdbool-tests: accomodate Haiku
17893         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
17894
17895         binary-io: fix O_TEXT on Haiku
17896         * modules/binary-io (Depends-on): Add fcntl-h.
17897         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
17898         than blindly undefining O_TEXT.
17899         Reported by Scott McCreary.
17900
17901 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
17902
17903         include_next: do not check for standard headers like stddef.h
17904
17905         I found this problem when modifying Emacs to use gnulib.
17906         I noticed that it added HAVE_STDDEF_H to config.h, even though
17907         gnulib always assumes <stddef.h> exists as per README and this
17908         symbol is unnecessary.
17909         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
17910         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
17911         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
17912         faster for headers like stddef.h that are known to exist.
17913         (gl_CHECK_NEXT_HEADERS): Use it.
17914         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
17915         rather than gl_CHECK_NEXT_HEADERS.
17916         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
17917         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
17918
17919 2011-01-18  Eric Blake  <eblake@redhat.com>
17920
17921         ansi-c++-opt: skip C++ dependency style if C++ is unused
17922         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
17923         tests when we know C++ compilation is not desired.
17924         Reported by Scott McCreary.
17925
17926 2011-01-18  Bruno Haible  <bruno@clisp.org>
17927
17928         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
17929         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
17930         (main): Perform test also when getrlimit and setrlimit don't exist or
17931         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
17932         limiting the address space size using setrlimit, compare the address
17933         space size before and after the the test.
17934         * tests/test-dprintf-posix2.c: Likewise.
17935         * tests/test-fprintf-posix3.sh: Update skip messages.
17936         * tests/test-dprintf-posix2.sh: Likewise.
17937         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
17938         * modules/dprintf-posix-tests (Depends-on): Likewise.
17939         Reported by Bruce Korb <bkorb@gnu.org> and
17940         Gary V. Vaughan <gary@gnu.org>.
17941
17942 2011-01-18  Bruno Haible  <bruno@clisp.org>
17943
17944         get-rusage-as: Improvement for Cygwin.
17945         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
17946         areas that are merely reserved.
17947
17948 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
17949
17950         strftime: remove dependencies on multibyte modules
17951
17952         strftime depended on mbrlen, mbsinit, and wchar, but these modules
17953         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
17954         only if __osf__ is defined, and I suspect OSF doesn't need these
17955         other modules.  If my guess is wrong, we'll need to come up with a
17956         variant of strftime that doesn't need the multibyte modules.
17957
17958         I discovered this problem when attempting modify Emacs to use the
17959         strftime module.  With the previous gnulib, this caused Emacs to
17960         need 31 new files, ranging from lib/config.charset to
17961         m4/wint_t.m4.  This was overkill and I expect would be offputting
17962         to the Emacs maintainers.  After this change, only 6 new files are
17963         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
17964         stdbool.m4, and tm_gmtoff.m4.
17965
17966         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
17967         Suggested by Bruno Haible in
17968         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
17969         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
17970         and do not check for wchar.h.
17971         * modules/strftime (Files): Remove m4/mbstate_t.m4.
17972         (Depends-on): Remove mbrlen, mbsinit, wchar.
17973
17974 2011-01-18  Bruno Haible  <bruno@clisp.org>
17975
17976         Tests for module 'get-rusage-as'.
17977         * modules/get-rusage-as-tests: New file.
17978         * tests/test-get-rusage-as.c: New file.
17979
17980         New module 'get-rusage-as'.
17981         * modules/get-rusage-as: New file.
17982         * lib/resource-ext.h: New file.
17983         * lib/get-rusage-as.c: New file.
17984
17985 2011-01-17  Eric Blake  <eblake@redhat.com>
17986
17987         sigaction: relax license from LGPLv3+ to LGPLv2+
17988         * modules/sigaction (License): Relax to LGPLv2+.
17989
17990 2011-01-14  Bruno Haible  <bruno@clisp.org>
17991
17992         filemode: Make function declarations usable in C++ mode.
17993         * lib/filemode.h: Enclose function declarations in extern "C" block.
17994         Reported by John W. Eaton <jwe@gnu.org>.
17995
17996 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
17997
17998         save-cwd: no longer include "xgetcwd.h"
17999         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
18000         This avoids a compilation failure in projects that use save-cwd
18001         without also using the xgetcwd module.
18002
18003 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
18004
18005         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
18006         This is so that a program like Emacs, which needs only dtoastr,
18007         does not have to bother with distributing and compiling ftoastr
18008         and ldtoastr.
18009         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
18010         * modules/dtoastr, modules/ldtoastr: New files.
18011         * modules/ftoastr: Now works just for 'float'.
18012         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
18013         (Makefile.am): Remove ftoastr.h (not needed and no effect),
18014         dtoastr.c, ldtoastr.c.
18015
18016 2011-01-11  Jim Meyering  <meyering@redhat.com>
18017
18018         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
18019         There is no need to work around the lack of the fchdir function,
18020         since gnulib can now provide a replacement when required.
18021         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
18022         * modules/save-cwd (Depends-on): Add fchdir.
18023
18024 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
18025
18026         openat, save-cwd: avoid xmalloc
18027
18028         This removes a direct (but undocumented) dependency of openat on
18029         xalloc, along with an indirect dependency via save-cwd.  It also
18030         removes a dependency of save-cwd on xgetcwd, and thereby
18031         indirectly on xalloc.  This change causes the openat substitute
18032         to fall back on save_cwd when memory is tight, and for save_cwd to
18033         fail instead of dying when memory is tight, but that's good enough.
18034         Problem and initial idea for fix reported by Bastien Roucaries in
18035         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
18036
18037         * lib/openat-proc.c: Include stdlib.h (for malloc), not
18038         xalloc.h (for xmalloc).
18039         (openat_proc_name): Use malloc, not xmalloc.
18040         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
18041         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
18042
18043         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
18044         This avoids heap allocation for file names whose lengths are in
18045         the range 512..1023, with the upper bound increasing to at most
18046         4031 depending on the platform's PATH_MAX.  (We do not want
18047         pathmax.h here as it might supply a non-constant PATH_MAX.)
18048         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
18049         Perhaps they should be moved to malloca.h?
18050         (OPENAT_BUFFER_SIZE): Use them.
18051
18052 2011-01-10  Bruno Haible  <bruno@clisp.org>
18053
18054         doc: Update users.txt.
18055         * users.txt: Add recutils.
18056
18057 2011-01-09  Karl Berry  <karl@gnu.org>
18058
18059         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
18060
18061         * doc/configmake.texi: New file.
18062         * doc/gnulib.texi: Include it.
18063         * modules/configmake: Move documentation from here.
18064
18065 2011-01-09  Bruno Haible  <bruno@clisp.org>
18066
18067         Update to Unicode 6.0.0.
18068         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
18069         (get_lbp): Update for Unicode 6.0.0.
18070         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
18071         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
18072         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
18073         U+11001, U+11038..U+11046. Remove U+06DE.
18074         (uc_width): Fix bounds of planes.
18075         * tests/uniwidth/test-uc_width2.sh: Same updates as in
18076         lib/uniwidth/width.c.
18077         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
18078         trailing whitespace removed.
18079         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
18080         without comments, but with the original copyright notice.
18081         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
18082         * lib/unicase/ignorable.h: Likewise.
18083         * lib/unicase/tocasefold.h: Likewise.
18084         * lib/unicase/tolower.h: Likewise.
18085         * lib/unicase/totitle.h: Likewise.
18086         * lib/unicase/toupper.h: Likewise.
18087         * lib/unictype/bidi_of.h: Likewise.
18088         * lib/unictype/blocks.h: Likewise.
18089         * lib/unictype/categ_C.h: Likewise.
18090         * lib/unictype/categ_Cn.h: Likewise.
18091         * lib/unictype/categ_L.h: Likewise.
18092         * lib/unictype/categ_Ll.h: Likewise.
18093         * lib/unictype/categ_Lm.h: Likewise.
18094         * lib/unictype/categ_Lo.h: Likewise.
18095         * lib/unictype/categ_Lu.h: Likewise.
18096         * lib/unictype/categ_M.h: Likewise.
18097         * lib/unictype/categ_Mc.h: Likewise.
18098         * lib/unictype/categ_Me.h: Likewise.
18099         * lib/unictype/categ_Mn.h: Likewise.
18100         * lib/unictype/categ_N.h: Likewise.
18101         * lib/unictype/categ_Nd.h: Likewise.
18102         * lib/unictype/categ_No.h: Likewise.
18103         * lib/unictype/categ_P.h: Likewise.
18104         * lib/unictype/categ_Po.h: Likewise.
18105         * lib/unictype/categ_S.h: Likewise.
18106         * lib/unictype/categ_Sc.h: Likewise.
18107         * lib/unictype/categ_Sk.h: Likewise.
18108         * lib/unictype/categ_Sm.h: Likewise.
18109         * lib/unictype/categ_So.h: Likewise.
18110         * lib/unictype/categ_of.h: Likewise.
18111         * lib/unictype/combining.h: Likewise.
18112         * lib/unictype/ctype_alnum.h: Likewise.
18113         * lib/unictype/ctype_alpha.h: Likewise.
18114         * lib/unictype/ctype_graph.h: Likewise.
18115         * lib/unictype/ctype_lower.h: Likewise.
18116         * lib/unictype/ctype_print.h: Likewise.
18117         * lib/unictype/ctype_punct.h: Likewise.
18118         * lib/unictype/ctype_upper.h: Likewise.
18119         * lib/unictype/decdigit.h: Likewise.
18120         * lib/unictype/digit.h: Likewise.
18121         * lib/unictype/numeric.h: Likewise.
18122         * lib/unictype/pr_alphabetic.h: Likewise.
18123         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
18124         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
18125         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
18126         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
18127         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
18128         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
18129         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
18130         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
18131         * lib/unictype/pr_case_ignorable.h: Likewise.
18132         * lib/unictype/pr_cased.h: Likewise.
18133         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
18134         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
18135         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
18136         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
18137         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
18138         * lib/unictype/pr_combining.h: Likewise.
18139         * lib/unictype/pr_composite.h: Likewise.
18140         * lib/unictype/pr_currency_symbol.h: Likewise.
18141         * lib/unictype/pr_decimal_digit.h: Likewise.
18142         * lib/unictype/pr_deprecated.h: Likewise.
18143         * lib/unictype/pr_format_control.h: Likewise.
18144         * lib/unictype/pr_grapheme_base.h: Likewise.
18145         * lib/unictype/pr_grapheme_extend.h: Likewise.
18146         * lib/unictype/pr_grapheme_link.h: Likewise.
18147         * lib/unictype/pr_id_continue.h: Likewise.
18148         * lib/unictype/pr_id_start.h: Likewise.
18149         * lib/unictype/pr_ideographic.h: Likewise.
18150         * lib/unictype/pr_lowercase.h: Likewise.
18151         * lib/unictype/pr_math.h: Likewise.
18152         * lib/unictype/pr_numeric.h: Likewise.
18153         * lib/unictype/pr_other_alphabetic.h: Likewise.
18154         * lib/unictype/pr_other_id_continue.h: Likewise.
18155         * lib/unictype/pr_other_math.h: Likewise.
18156         * lib/unictype/pr_punctuation.h: Likewise.
18157         * lib/unictype/pr_sentence_terminal.h: Likewise.
18158         * lib/unictype/pr_terminal_punctuation.h: Likewise.
18159         * lib/unictype/pr_unassigned_code_value.h: Likewise.
18160         * lib/unictype/pr_unified_ideograph.h: Likewise.
18161         * lib/unictype/pr_uppercase.h: Likewise.
18162         * lib/unictype/pr_xid_continue.h: Likewise.
18163         * lib/unictype/pr_xid_start.h: Likewise.
18164         * lib/unictype/scripts.h: Likewise.
18165         * lib/unictype/scripts_byname.gperf: Likewise.
18166         * lib/unictype/sy_java_ident.h: Likewise.
18167         * lib/unigbrk/gbrkprop.h: Likewise.
18168         * lib/unilbrk/lbrkprop1.h: Likewise.
18169         * lib/unilbrk/lbrkprop2.h: Likewise.
18170         * lib/uninorm/decomposition-table2.h: Likewise.
18171         * lib/uniwbrk/wbrkprop.h: Likewise.
18172         * tests/unicase/test-cased.c: Likewise.
18173         * tests/unicase/test-ignorable.c: Likewise.
18174         * tests/unicase/test-uc_tolower.c: Likewise.
18175         * tests/unicase/test-uc_totitle.c: Likewise.
18176         * tests/unicase/test-uc_toupper.c: Likewise.
18177         * tests/unictype/test-categ_C.c: Likewise.
18178         * tests/unictype/test-categ_Cn.c: Likewise.
18179         * tests/unictype/test-categ_L.c: Likewise.
18180         * tests/unictype/test-categ_Ll.c: Likewise.
18181         * tests/unictype/test-categ_Lm.c: Likewise.
18182         * tests/unictype/test-categ_Lo.c: Likewise.
18183         * tests/unictype/test-categ_Lu.c: Likewise.
18184         * tests/unictype/test-categ_M.c: Likewise.
18185         * tests/unictype/test-categ_Mc.c: Likewise.
18186         * tests/unictype/test-categ_Me.c: Likewise.
18187         * tests/unictype/test-categ_Mn.c: Likewise.
18188         * tests/unictype/test-categ_N.c: Likewise.
18189         * tests/unictype/test-categ_Nd.c: Likewise.
18190         * tests/unictype/test-categ_No.c: Likewise.
18191         * tests/unictype/test-categ_P.c: Likewise.
18192         * tests/unictype/test-categ_Po.c: Likewise.
18193         * tests/unictype/test-categ_S.c: Likewise.
18194         * tests/unictype/test-categ_Sc.c: Likewise.
18195         * tests/unictype/test-categ_Sk.c: Likewise.
18196         * tests/unictype/test-categ_Sm.c: Likewise.
18197         * tests/unictype/test-categ_So.c: Likewise.
18198         * tests/unictype/test-ctype_alnum.c: Likewise.
18199         * tests/unictype/test-ctype_alpha.c: Likewise.
18200         * tests/unictype/test-ctype_graph.c: Likewise.
18201         * tests/unictype/test-ctype_lower.c: Likewise.
18202         * tests/unictype/test-ctype_print.c: Likewise.
18203         * tests/unictype/test-ctype_punct.c: Likewise.
18204         * tests/unictype/test-ctype_upper.c: Likewise.
18205         * tests/unictype/test-decdigit.h: Likewise.
18206         * tests/unictype/test-digit.h: Likewise.
18207         * tests/unictype/test-numeric.h: Likewise.
18208         * tests/unictype/test-pr_alphabetic.c: Likewise.
18209         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
18210         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
18211         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
18212         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
18213         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
18214         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
18215         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
18216         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
18217         * tests/unictype/test-pr_case_ignorable.c: Likewise.
18218         * tests/unictype/test-pr_cased.c: Likewise.
18219         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
18220         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
18221         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
18222         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
18223         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
18224         * tests/unictype/test-pr_combining.c: Likewise.
18225         * tests/unictype/test-pr_composite.c: Likewise.
18226         * tests/unictype/test-pr_currency_symbol.c: Likewise.
18227         * tests/unictype/test-pr_decimal_digit.c: Likewise.
18228         * tests/unictype/test-pr_deprecated.c: Likewise.
18229         * tests/unictype/test-pr_format_control.c: Likewise.
18230         * tests/unictype/test-pr_grapheme_base.c: Likewise.
18231         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
18232         * tests/unictype/test-pr_grapheme_link.c: Likewise.
18233         * tests/unictype/test-pr_id_continue.c: Likewise.
18234         * tests/unictype/test-pr_id_start.c: Likewise.
18235         * tests/unictype/test-pr_ideographic.c: Likewise.
18236         * tests/unictype/test-pr_lowercase.c: Likewise.
18237         * tests/unictype/test-pr_math.c: Likewise.
18238         * tests/unictype/test-pr_numeric.c: Likewise.
18239         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
18240         * tests/unictype/test-pr_other_id_continue.c: Likewise.
18241         * tests/unictype/test-pr_other_math.c: Likewise.
18242         * tests/unictype/test-pr_punctuation.c: Likewise.
18243         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
18244         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
18245         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
18246         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
18247         * tests/unictype/test-pr_uppercase.c: Likewise.
18248         * tests/unictype/test-pr_xid_continue.c: Likewise.
18249         * tests/unictype/test-pr_xid_start.c: Likewise.
18250         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
18251         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
18252         changes.
18253         * lib/unictype/categ_Cc.h: Likewise.
18254         * lib/unictype/categ_Cf.h: Likewise.
18255         * lib/unictype/categ_Co.h: Likewise.
18256         * lib/unictype/categ_Cs.h: Likewise.
18257         * lib/unictype/categ_Lt.h: Likewise.
18258         * lib/unictype/categ_Nl.h: Likewise.
18259         * lib/unictype/categ_Pc.h: Likewise.
18260         * lib/unictype/categ_Pd.h: Likewise.
18261         * lib/unictype/categ_Pe.h: Likewise.
18262         * lib/unictype/categ_Pf.h: Likewise.
18263         * lib/unictype/categ_Pi.h: Likewise.
18264         * lib/unictype/categ_Ps.h: Likewise.
18265         * lib/unictype/categ_Z.h: Likewise.
18266         * lib/unictype/categ_Zl.h: Likewise.
18267         * lib/unictype/categ_Zp.h: Likewise.
18268         * lib/unictype/categ_Zs.h: Likewise.
18269         * lib/unictype/ctype_blank.h: Likewise.
18270         * lib/unictype/ctype_cntrl.h: Likewise.
18271         * lib/unictype/ctype_digit.h: Likewise.
18272         * lib/unictype/ctype_space.h: Likewise.
18273         * lib/unictype/ctype_xdigit.h: Likewise.
18274         * lib/unictype/mirror.h: Likewise.
18275         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
18276         * lib/unictype/pr_bidi_block_separator.h: Likewise.
18277         * lib/unictype/pr_bidi_common_separator.h: Likewise.
18278         * lib/unictype/pr_bidi_control.h: Likewise.
18279         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
18280         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
18281         * lib/unictype/pr_bidi_european_digit.h: Likewise.
18282         * lib/unictype/pr_bidi_pdf.h: Likewise.
18283         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
18284         * lib/unictype/pr_bidi_whitespace.h: Likewise.
18285         * lib/unictype/pr_dash.h: Likewise.
18286         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
18287         * lib/unictype/pr_diacritic.h: Likewise.
18288         * lib/unictype/pr_extender.h: Likewise.
18289         * lib/unictype/pr_hex_digit.h: Likewise.
18290         * lib/unictype/pr_hyphen.h: Likewise.
18291         * lib/unictype/pr_ids_binary_operator.h: Likewise.
18292         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
18293         * lib/unictype/pr_ignorable_control.h: Likewise.
18294         * lib/unictype/pr_iso_control.h: Likewise.
18295         * lib/unictype/pr_join_control.h: Likewise.
18296         * lib/unictype/pr_left_of_pair.h: Likewise.
18297         * lib/unictype/pr_line_separator.h: Likewise.
18298         * lib/unictype/pr_logical_order_exception.h: Likewise.
18299         * lib/unictype/pr_non_break.h: Likewise.
18300         * lib/unictype/pr_not_a_character.h: Likewise.
18301         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
18302         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
18303         * lib/unictype/pr_other_id_start.h: Likewise.
18304         * lib/unictype/pr_other_lowercase.h: Likewise.
18305         * lib/unictype/pr_other_uppercase.h: Likewise.
18306         * lib/unictype/pr_paired_punctuation.h: Likewise.
18307         * lib/unictype/pr_paragraph_separator.h: Likewise.
18308         * lib/unictype/pr_pattern_syntax.h: Likewise.
18309         * lib/unictype/pr_pattern_white_space.h: Likewise.
18310         * lib/unictype/pr_private_use.h: Likewise.
18311         * lib/unictype/pr_quotation_mark.h: Likewise.
18312         * lib/unictype/pr_radical.h: Likewise.
18313         * lib/unictype/pr_soft_dotted.h: Likewise.
18314         * lib/unictype/pr_space.h: Likewise.
18315         * lib/unictype/pr_titlecase.h: Likewise.
18316         * lib/unictype/pr_variation_selector.h: Likewise.
18317         * lib/unictype/pr_white_space.h: Likewise.
18318         * lib/unictype/pr_zero_width.h: Likewise.
18319         * lib/unictype/sy_c_ident.h: Likewise.
18320         * lib/unictype/sy_c_whitespace.h: Likewise.
18321         * lib/unictype/sy_java_whitespace.h: Likewise.
18322         * lib/uninorm/composition-table.gperf: Likewise.
18323         * lib/uninorm/decomposition-table1.h: Likewise.
18324         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
18325         LB8.
18326         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
18327         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
18328         * modules/unictype/*: Bump version number of expected libunistring
18329         version.
18330
18331 2011-01-09  Bruno Haible  <bruno@clisp.org>
18332
18333         Update to Unicode 5.2.0.
18334         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
18335         trailing whitespace removed.
18336
18337 2011-01-09  Bruno Haible  <bruno@clisp.org>
18338
18339         New Unicode character properties, from Unicode 5.2.0.
18340         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
18341         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
18342         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
18343         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
18344         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
18345         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
18346         uc_is_property_cased, uc_is_property_case_ignorable,
18347         uc_is_property_changes_when_lowercased,
18348         uc_is_property_changes_when_uppercased,
18349         uc_is_property_changes_when_titlecased,
18350         uc_is_property_changes_when_casefolded,
18351         uc_is_property_changes_when_casemapped): New declarations.
18352         * lib/unictype/pr_byname.gperf: Add the new properties.
18353         * modules/unictype/property-byname (Depends-on): Depend on the new
18354         properties modules.
18355         * modules/unictype/property-all (Depends-on): Likewise.
18356         * MODULES.html.sh (Unicode string functions): Add
18357         unictype/property-case-ignorable, unictype/property-cased,
18358         unictype/property-changes-when-casefolded,
18359         unictype/property-changes-when-casemapped,
18360         unictype/property-changes-when-lowercased,
18361         unictype/property-changes-when-titlecased,
18362         unictype/property-changes-when-uppercased.
18363
18364         New module 'unictype/property-changes-when-casemapped'.
18365         * modules/unictype/property-changes-when-casemapped: New file.
18366         * lib/unictype/pr_changes_when_casemapped.c: New file.
18367         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
18368         generated by gen-uni-tables.
18369         * modules/unictype/property-changes-when-casemapped-tests: New file.
18370         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
18371         automatically generated by gen-uni-tables.
18372
18373         New module 'unictype/property-changes-when-casefolded'.
18374         * modules/unictype/property-changes-when-casefolded: New file.
18375         * lib/unictype/pr_changes_when_casefolded.c: New file.
18376         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
18377         generated by gen-uni-tables.
18378         * modules/unictype/property-changes-when-casefolded-tests: New file.
18379         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
18380         automatically generated by gen-uni-tables.
18381
18382         New module 'unictype/property-changes-when-titlecased'.
18383         * modules/unictype/property-changes-when-titlecased: New file.
18384         * lib/unictype/pr_changes_when_titlecased.c: New file.
18385         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
18386         generated by gen-uni-tables.
18387         * modules/unictype/property-changes-when-titlecased-tests: New file.
18388         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
18389         automatically generated by gen-uni-tables.
18390
18391         New module 'unictype/property-changes-when-uppercased'.
18392         * modules/unictype/property-changes-when-uppercased: New file.
18393         * lib/unictype/pr_changes_when_uppercased.c: New file.
18394         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
18395         generated by gen-uni-tables.
18396         * modules/unictype/property-changes-when-uppercased-tests: New file.
18397         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
18398         automatically generated by gen-uni-tables.
18399
18400         New module 'unictype/property-changes-when-lowercased'.
18401         * modules/unictype/property-changes-when-lowercased: New file.
18402         * lib/unictype/pr_changes_when_lowercased.c: New file.
18403         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
18404         generated by gen-uni-tables.
18405         * modules/unictype/property-changes-when-lowercased-tests: New file.
18406         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
18407         automatically generated by gen-uni-tables.
18408
18409         New module 'unictype/property-case-ignorable'.
18410         * modules/unictype/property-case-ignorable: New file.
18411         * lib/unictype/pr_case_ignorable.c: New file.
18412         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
18413         by gen-uni-tables.
18414         * modules/unictype/property-case-ignorable-tests: New file.
18415         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
18416         generated by gen-uni-tables.
18417
18418         New module 'unictype/property-cased'.
18419         * modules/unictype/property-cased: New file.
18420         * lib/unictype/pr_cased.c: New file.
18421         * lib/unictype/pr_cased.h: New file, automatically generated by
18422         gen-uni-tables.
18423         * modules/unictype/property-cased-tests: New file.
18424         * tests/unictype/test-pr_cased.c: New file, automatically generated by
18425         gen-uni-tables.
18426
18427 2011-01-09  Bruno Haible  <bruno@clisp.org>
18428
18429         Update to Unicode 5.2.0.
18430         * lib/gen-uni-tables.c (output_predicate, output_category,
18431         output_combclass, output_bidi_category, output_decimal_digit_test,
18432         output_decimal_digit, output_digit_test, output_digit,
18433         output_numeric_test, output_numeric, output_mirror, output_scripts,
18434         output_scripts_byname, output_blocks, output_ident_category): Fix
18435         comment header.
18436         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
18437         get_wbp.
18438         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
18439         items.
18440         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
18441         Changes_When_Lowercased, Changes_When_Uppercased,
18442         Changes_When_Titlecased, Changes_When_Casefolded,
18443         Changes_When_Casemapped.
18444         (is_property_alphabetic, is_property_default_ignorable_code_point):
18445         Update for Unicode 5.2.0.
18446         (is_property_cased, is_property_case_ignorable,
18447         is_property_changes_when_lowercased,
18448         is_property_changes_when_uppercased,
18449         is_property_changes_when_titlecased,
18450         is_property_changes_when_casefolded,
18451         is_property_changes_when_casemapped): New functions.
18452         (output_properties): Output also the properties cased, case_ignorable,
18453         changes_when_lowercased, changes_when_uppercased,
18454         changes_when_titlecased, changes_when_casefolded,
18455         changes_when_casemapped.
18456         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
18457         Unicode TR#11 revision 17 -> 19.
18458         (LBP_CP): New enumeration value.
18459         (LBP_*): Adjust values accordingly.
18460         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
18461         TR#14 revision 22 -> 24.
18462         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
18463         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
18464         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
18465         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
18466         is_WBP_MIDLETTER.
18467         (output_composition_tables): Allow for 24 bits instead of 16 bits in
18468         the code1 and code2 of each composition rule.
18469         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
18470         * lib/unicase/ignorable.h: Likewise.
18471         * lib/unicase/tocasefold.h: Likewise.
18472         * lib/unicase/tolower.h: Likewise.
18473         * lib/unicase/totitle.h: Likewise.
18474         * lib/unicase/toupper.h: Likewise.
18475         * lib/unictype/bidi_of.h: Likewise.
18476         * lib/unictype/blocks.h: Likewise.
18477         * lib/unictype/categ_C.h: Likewise.
18478         * lib/unictype/categ_Cf.h: Likewise.
18479         * lib/unictype/categ_Cn.h: Likewise.
18480         * lib/unictype/categ_L.h: Likewise.
18481         * lib/unictype/categ_Ll.h: Likewise.
18482         * lib/unictype/categ_Lm.h: Likewise.
18483         * lib/unictype/categ_Lo.h: Likewise.
18484         * lib/unictype/categ_Lu.h: Likewise.
18485         * lib/unictype/categ_M.h: Likewise.
18486         * lib/unictype/categ_Mc.h: Likewise.
18487         * lib/unictype/categ_Mn.h: Likewise.
18488         * lib/unictype/categ_N.h: Likewise.
18489         * lib/unictype/categ_Nd.h: Likewise.
18490         * lib/unictype/categ_Nl.h: Likewise.
18491         * lib/unictype/categ_No.h: Likewise.
18492         * lib/unictype/categ_P.h: Likewise.
18493         * lib/unictype/categ_Pd.h: Likewise.
18494         * lib/unictype/categ_Po.h: Likewise.
18495         * lib/unictype/categ_S.h: Likewise.
18496         * lib/unictype/categ_Sc.h: Likewise.
18497         * lib/unictype/categ_So.h: Likewise.
18498         * lib/unictype/categ_of.h: Likewise.
18499         * lib/unictype/combining.h: Likewise.
18500         * lib/unictype/ctype_alnum.h: Likewise.
18501         * lib/unictype/ctype_alpha.h: Likewise.
18502         * lib/unictype/ctype_graph.h: Likewise.
18503         * lib/unictype/ctype_lower.h: Likewise.
18504         * lib/unictype/ctype_print.h: Likewise.
18505         * lib/unictype/ctype_punct.h: Likewise.
18506         * lib/unictype/ctype_upper.h: Likewise.
18507         * lib/unictype/decdigit.h: Likewise.
18508         * lib/unictype/digit.h: Likewise.
18509         * lib/unictype/numeric.h: Likewise.
18510         * lib/unictype/pr_alphabetic.h: Likewise.
18511         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
18512         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
18513         * lib/unictype/pr_bidi_european_digit.h: Likewise.
18514         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
18515         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
18516         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
18517         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
18518         * lib/unictype/pr_combining.h: Likewise.
18519         * lib/unictype/pr_composite.h: Likewise.
18520         * lib/unictype/pr_currency_symbol.h: Likewise.
18521         * lib/unictype/pr_dash.h: Likewise.
18522         * lib/unictype/pr_decimal_digit.h: Likewise.
18523         * lib/unictype/pr_deprecated.h: Likewise.
18524         * lib/unictype/pr_diacritic.h: Likewise.
18525         * lib/unictype/pr_extender.h: Likewise.
18526         * lib/unictype/pr_grapheme_base.h: Likewise.
18527         * lib/unictype/pr_grapheme_extend.h: Likewise.
18528         * lib/unictype/pr_grapheme_link.h: Likewise.
18529         * lib/unictype/pr_id_continue.h: Likewise.
18530         * lib/unictype/pr_id_start.h: Likewise.
18531         * lib/unictype/pr_ideographic.h: Likewise.
18532         * lib/unictype/pr_ignorable_control.h: Likewise.
18533         * lib/unictype/pr_logical_order_exception.h: Likewise.
18534         * lib/unictype/pr_lowercase.h: Likewise.
18535         * lib/unictype/pr_numeric.h: Likewise.
18536         * lib/unictype/pr_other_alphabetic.h: Likewise.
18537         * lib/unictype/pr_punctuation.h: Likewise.
18538         * lib/unictype/pr_sentence_terminal.h: Likewise.
18539         * lib/unictype/pr_terminal_punctuation.h: Likewise.
18540         * lib/unictype/pr_unassigned_code_value.h: Likewise.
18541         * lib/unictype/pr_unified_ideograph.h: Likewise.
18542         * lib/unictype/pr_uppercase.h: Likewise.
18543         * lib/unictype/pr_xid_continue.h: Likewise.
18544         * lib/unictype/pr_xid_start.h: Likewise.
18545         * lib/unictype/pr_zero_width.h: Likewise.
18546         * lib/unictype/scripts.h: Likewise.
18547         * lib/unictype/scripts_byname.gperf: Likewise.
18548         * lib/unictype/sy_java_ident.h: Likewise.
18549         * lib/unigbrk/gbrkprop.h: Likewise.
18550         * lib/unilbrk/lbrkprop1.h: Likewise.
18551         * lib/unilbrk/lbrkprop2.h: Likewise.
18552         * lib/unilbrk/lbrktables.h: Likewise.
18553         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
18554         LBP_CP. Implement rule LB30.
18555         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
18556         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
18557         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
18558         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
18559         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
18560         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
18561         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
18562         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
18563         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
18564         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
18565         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
18566         bits instead of 16 bits in the code1 and code2 of each composition
18567         rule.
18568         (uc_composition): Update for Unicode 5.2.0.
18569         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
18570         * lib/uninorm/decomposition-table2.h: Likewise.
18571         * lib/uniwbrk/wbrkprop.h: Likewise.
18572         * tests/unicase/test-cased.c: Likewise.
18573         * tests/unicase/test-ignorable.c: Likewise.
18574         * tests/unicase/test-uc_tolower.c: Likewise.
18575         * tests/unicase/test-uc_totitle.c: Likewise.
18576         * tests/unicase/test-uc_toupper.c: Likewise.
18577         * tests/unictype/test-categ_C.c: Likewise.
18578         * tests/unictype/test-categ_Cf.c: Likewise.
18579         * tests/unictype/test-categ_Cn.c: Likewise.
18580         * tests/unictype/test-categ_L.c: Likewise.
18581         * tests/unictype/test-categ_Ll.c: Likewise.
18582         * tests/unictype/test-categ_Lm.c: Likewise.
18583         * tests/unictype/test-categ_Lo.c: Likewise.
18584         * tests/unictype/test-categ_Lu.c: Likewise.
18585         * tests/unictype/test-categ_M.c: Likewise.
18586         * tests/unictype/test-categ_Mc.c: Likewise.
18587         * tests/unictype/test-categ_Mn.c: Likewise.
18588         * tests/unictype/test-categ_N.c: Likewise.
18589         * tests/unictype/test-categ_Nd.c: Likewise.
18590         * tests/unictype/test-categ_Nl.c: Likewise.
18591         * tests/unictype/test-categ_No.c: Likewise.
18592         * tests/unictype/test-categ_P.c: Likewise.
18593         * tests/unictype/test-categ_Pd.c: Likewise.
18594         * tests/unictype/test-categ_Po.c: Likewise.
18595         * tests/unictype/test-categ_S.c: Likewise.
18596         * tests/unictype/test-categ_Sc.c: Likewise.
18597         * tests/unictype/test-categ_So.c: Likewise.
18598         * tests/unictype/test-ctype_alnum.c: Likewise.
18599         * tests/unictype/test-ctype_alpha.c: Likewise.
18600         * tests/unictype/test-ctype_graph.c: Likewise.
18601         * tests/unictype/test-ctype_lower.c: Likewise.
18602         * tests/unictype/test-ctype_print.c: Likewise.
18603         * tests/unictype/test-ctype_punct.c: Likewise.
18604         * tests/unictype/test-ctype_upper.c: Likewise.
18605         * tests/unictype/test-decdigit.h: Likewise.
18606         * tests/unictype/test-digit.h: Likewise.
18607         * tests/unictype/test-numeric.h: Likewise.
18608         * tests/unictype/test-pr_alphabetic.c: Likewise.
18609         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
18610         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
18611         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
18612         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
18613         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
18614         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
18615         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
18616         * tests/unictype/test-pr_combining.c: Likewise.
18617         * tests/unictype/test-pr_composite.c: Likewise.
18618         * tests/unictype/test-pr_currency_symbol.c: Likewise.
18619         * tests/unictype/test-pr_dash.c: Likewise.
18620         * tests/unictype/test-pr_decimal_digit.c: Likewise.
18621         * tests/unictype/test-pr_deprecated.c: Likewise.
18622         * tests/unictype/test-pr_diacritic.c: Likewise.
18623         * tests/unictype/test-pr_extender.c: Likewise.
18624         * tests/unictype/test-pr_grapheme_base.c: Likewise.
18625         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
18626         * tests/unictype/test-pr_grapheme_link.c: Likewise.
18627         * tests/unictype/test-pr_id_continue.c: Likewise.
18628         * tests/unictype/test-pr_id_start.c: Likewise.
18629         * tests/unictype/test-pr_ideographic.c: Likewise.
18630         * tests/unictype/test-pr_ignorable_control.c: Likewise.
18631         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
18632         * tests/unictype/test-pr_lowercase.c: Likewise.
18633         * tests/unictype/test-pr_numeric.c: Likewise.
18634         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
18635         * tests/unictype/test-pr_punctuation.c: Likewise.
18636         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
18637         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
18638         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
18639         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
18640         * tests/unictype/test-pr_uppercase.c: Likewise.
18641         * tests/unictype/test-pr_xid_continue.c: Likewise.
18642         * tests/unictype/test-pr_xid_start.c: Likewise.
18643         * tests/unictype/test-pr_zero_width.c: Likewise.
18644         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
18645         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
18646         changed behaviour: line breaking is now disallowed between a letter
18647         or '=' and '('.
18648         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
18649         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
18650         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
18651         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
18652         * tests/uniwidth/test-uc_width2.sh: Same updates as in
18653         lib/uniwidth/width.c.
18654         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
18655         without comments, but with the original copyright notice.
18656         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
18657         changes.
18658         * lib/unictype/categ_Cc.h: Likewise.
18659         * lib/unictype/categ_Co.h: Likewise.
18660         * lib/unictype/categ_Cs.h: Likewise.
18661         * lib/unictype/categ_Lt.h: Likewise.
18662         * lib/unictype/categ_Me.h: Likewise.
18663         * lib/unictype/categ_Pc.h: Likewise.
18664         * lib/unictype/categ_Pe.h: Likewise.
18665         * lib/unictype/categ_Pf.h: Likewise.
18666         * lib/unictype/categ_Pi.h: Likewise.
18667         * lib/unictype/categ_Ps.h: Likewise.
18668         * lib/unictype/categ_Sk.h: Likewise.
18669         * lib/unictype/categ_Sm.h: Likewise.
18670         * lib/unictype/categ_Z.h: Likewise.
18671         * lib/unictype/categ_Zl.h: Likewise.
18672         * lib/unictype/categ_Zp.h: Likewise.
18673         * lib/unictype/categ_Zs.h: Likewise.
18674         * lib/unictype/ctype_blank.h: Likewise.
18675         * lib/unictype/ctype_cntrl.h: Likewise.
18676         * lib/unictype/ctype_digit.h: Likewise.
18677         * lib/unictype/ctype_space.h: Likewise.
18678         * lib/unictype/ctype_xdigit.h: Likewise.
18679         * lib/unictype/mirror.h: Likewise.
18680         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
18681         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
18682         * lib/unictype/pr_bidi_block_separator.h: Likewise.
18683         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
18684         * lib/unictype/pr_bidi_common_separator.h: Likewise.
18685         * lib/unictype/pr_bidi_control.h: Likewise.
18686         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
18687         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
18688         * lib/unictype/pr_bidi_pdf.h: Likewise.
18689         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
18690         * lib/unictype/pr_bidi_whitespace.h: Likewise.
18691         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
18692         * lib/unictype/pr_format_control.h: Likewise.
18693         * lib/unictype/pr_hex_digit.h: Likewise.
18694         * lib/unictype/pr_hyphen.h: Likewise.
18695         * lib/unictype/pr_ids_binary_operator.h: Likewise.
18696         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
18697         * lib/unictype/pr_iso_control.h: Likewise.
18698         * lib/unictype/pr_join_control.h: Likewise.
18699         * lib/unictype/pr_left_of_pair.h: Likewise.
18700         * lib/unictype/pr_line_separator.h: Likewise.
18701         * lib/unictype/pr_math.h: Likewise.
18702         * lib/unictype/pr_non_break.h: Likewise.
18703         * lib/unictype/pr_not_a_character.h: Likewise.
18704         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
18705         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
18706         * lib/unictype/pr_other_id_continue.h: Likewise.
18707         * lib/unictype/pr_other_id_start.h: Likewise.
18708         * lib/unictype/pr_other_lowercase.h: Likewise.
18709         * lib/unictype/pr_other_math.h: Likewise.
18710         * lib/unictype/pr_other_uppercase.h: Likewise.
18711         * lib/unictype/pr_paired_punctuation.h: Likewise.
18712         * lib/unictype/pr_paragraph_separator.h: Likewise.
18713         * lib/unictype/pr_pattern_syntax.h: Likewise.
18714         * lib/unictype/pr_pattern_white_space.h: Likewise.
18715         * lib/unictype/pr_private_use.h: Likewise.
18716         * lib/unictype/pr_quotation_mark.h: Likewise.
18717         * lib/unictype/pr_radical.h: Likewise.
18718         * lib/unictype/pr_soft_dotted.h: Likewise.
18719         * lib/unictype/pr_space.h: Likewise.
18720         * lib/unictype/pr_titlecase.h: Likewise.
18721         * lib/unictype/pr_variation_selector.h: Likewise.
18722         * lib/unictype/pr_white_space.h: Likewise.
18723         * lib/unictype/sy_c_ident.h: Likewise.
18724         * lib/unictype/sy_c_whitespace.h: Likewise.
18725         * lib/unictype/sy_java_whitespace.h: Likewise.
18726         * modules/uni*/*: Bump version number of expected libunistring version.
18727         Reported by Simon Josefsson.
18728
18729 2011-01-09  Karl Heuer  <kwzh@gnu.org>
18730
18731         useless-if-before-free: fix typo in --help and make the internal,
18732         automatic version date update process work once again.
18733         --help output contained a NUL character instead of the
18734         backslash-zero that was intended.  Also, the "must lie within
18735         the first 8 lines" line is on line 9, and hence not getting
18736         automatically updated.
18737         * build-aux/useless-if-before-free: Fix the former by adding a
18738         backslash, and the latter by condensing the three lines of what-it-does
18739         to a single line, leaving one line of slack for the future.
18740
18741 2011-01-09  Bruno Haible  <bruno@clisp.org>
18742
18743         uniwidth/width: Fix width of U+1D173..U+1D17A.
18744         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
18745         symbolic_width, output_width_property_test): New functions.
18746         (main): Invoke output_nonspacing_property, output_width_property_test.
18747         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
18748         U+1D173..U+1D17A.
18749         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
18750         1.
18751         * modules/uniwidth/*: Bump version number of expected libunistring
18752         version.
18753         * modules/unilbrk/*: Likewise.
18754
18755 2011-01-08  Bruno Haible  <bruno@clisp.org>
18756
18757         uninorm tests: Preserve copyright of Unicode data file.
18758         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
18759         Mention modifications.
18760
18761 2011-01-08  Bruno Haible  <bruno@clisp.org>
18762
18763         gen-uni-tables: Prepare for Unicode 5.2.0.
18764         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
18765         (debug_output_lbp, output_lbp): Update.
18766
18767 2011-01-08  Bruno Haible  <bruno@clisp.org>
18768
18769         unilbrk: Clarify gen-uni-tables.c code.
18770         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
18771         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
18772         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
18773
18774 2011-01-07  Bruno Haible  <bruno@clisp.org>
18775
18776         strtod: Restore errno when successfully parsing Infinity or NaN.
18777         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
18778         restore the original errno.
18779
18780 2011-01-07  Bruno Haible  <bruno@clisp.org>
18781
18782         remove test: Avoid failure on HP-UX 11.
18783         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
18784
18785 2011-01-07  Bruno Haible  <bruno@clisp.org>
18786
18787         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
18788         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
18789         error code.
18790
18791 2011-01-07  Pádraig Brady <P@draigBrady.com>
18792
18793         ignore-value: fixup comments, and add Eric Blake
18794         as an author since he rewrote the macros.
18795         * lib/ignore-value.h (ignore_value):  State that
18796         we now support aggregates.  Also specify exactly
18797         when the GCC warn_unused_result feature was added.
18798
18799 2011-01-06  Eric Blake  <eblake@redhat.com>
18800
18801         ignore-value: support aggregate types
18802         * lib/ignore-value.h (ignore_value): Provide separate gcc
18803         definition.
18804         * modules/ignore-value-tests: New test module.
18805         * tests/test-ignore-value.c: New test.
18806
18807         maint.mk: improve sc_prohibit_strcmp regex
18808         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
18809         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
18810         definition of STRNEQ.
18811
18812         signal: work around Haiku issue with SIGBUS
18813         * lib/siglist.h: Add comment.
18814         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
18815         strsignal's favoring of SIGSEGV.
18816         * tests/test-signal.c (main): Avoid test failure.
18817         * doc/posix-headers/signal.texi (signal.h): Document the issue.
18818         Reported by Scott McCreary.
18819
18820         maint.mk: add pre-release check to ensure submodule commits are public
18821         * top/maint.mk (public-submodule-commit): New rule.
18822         (submodule-checks): New variable.
18823         (alpha beta stable): Depend on the variable.
18824
18825 2011-01-05  Pádraig Brady <P@draigBrady.com>
18826         and Jim Meyering  <meyering@redhat.com>
18827
18828         ignore-value: make ignore_value more generic; deprecate ignore_ptr
18829         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
18830         (ATTRIBUTE_DEPRECATED): Define.
18831         (_ignore_case): New function.
18832         (ignore_value): New macro, to replace the old function.
18833         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
18834         * modules/ignore-value (Depends-on): Add stdint.
18835
18836 2011-01-04  Eric Blake  <eblake@redhat.com>
18837
18838         doc: regenerate INSTALL
18839         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
18840         @firstparagraphindent support, now that autoconf dropped it.
18841         (INSTALL_PRELUDE): Reinstate old macro.
18842         * doc/install.texi: Resync from autoconf.
18843         * doc/INSTALL: Reflect recent autoconf update.
18844         * doc/INSTALL.ISO: Likewise.
18845         * doc/INSTALL.UTF-8: Likewise.
18846         Reported by Karl Berry.
18847
18848 2011-01-04  Bruce Korb  <address@hidden>
18849
18850         git-version-gen: avoid a sub-shell
18851         * build-aux/git-version-gen: Redirect stderr in `...` via
18852         "exec 2>...", rather than via an added sub-shell.
18853
18854 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
18855
18856         git-version-gen: use (...) rather than sh -c '...'
18857         * build-aux/git-version-gen: Rather than hard-coding a shell's name
18858         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
18859
18860 2011-01-03  Jim Meyering  <meyering@redhat.com>
18861
18862         git-version-gen: convert leading TABs to spaces
18863         * build-aux/git-version-gen: Expand leading TABs.
18864
18865         git-version-gen: handle failed "git rev-list"
18866         * build-aux/git-version-gen: Rather than leaking a "fatal" error
18867         from git and proceeding as if it had succeeded but printed no SHA1
18868         checksums, suppress the diagnostic and handle the failure.
18869         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
18870
18871         git-version-gen: include command name in one more diagnostic
18872         * build-aux/git-version-gen: When the required .tarball-version file
18873         was missing or unreadable, you might see the diagnostic from "cat",
18874         but no trace of the name of the invoking script.  Now, you still see
18875         the diagnostic from cat, but also get one from "git-version-gen: ".
18876         Inspired by a patch from Bruce Korb.
18877
18878         update-copyright: adjust test to match changed code
18879         * tests/test-update-copyright.sh: Change test's expected output
18880         to match new actual output.
18881
18882 2011-01-02  Bruno Haible  <bruno@clisp.org>
18883
18884         getlogin_r: Avoid test failure on HP-UX 11.
18885         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
18886         ERANGE when the second argument is zero.
18887         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
18888         portability problem.
18889
18890 2011-01-02  Bruce Korb  <bkorb@gnu.org>
18891
18892         * build-aux/update-copyright: doc Simon's changes
18893
18894 2011-01-02  Simon Josefsson  <simon@josefsson.org>
18895
18896         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
18897         environment variable.
18898
18899 2011-01-02  Bruno Haible  <bruno@clisp.org>
18900
18901         unigbrk: Avoid gcc warnings.
18902         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
18903         unused variable.
18904         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
18905         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
18906         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
18907         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
18908         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
18909         Change type of first argument to 'const char *'.
18910         (main): Remove unused variable.
18911         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
18912         type of first argument to 'const char *'.
18913         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
18914         Likewise.
18915         (main): Change type of variable 's'.
18916         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
18917         to 'int'.
18918
18919 2011-01-02  Bruno Haible  <bruno@clisp.org>
18920
18921         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
18922         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
18923         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
18924         bug.
18925         * lib/pwrite.c: Undo 2010-12-31 patch.
18926         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
18927
18928 2011-01-02  Bruno Haible  <bruno@clisp.org>
18929
18930         pread: Fix test whether it works.
18931         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
18932
18933 2011-01-02  Bruno Haible  <bruno@clisp.org>
18934
18935         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
18936         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
18937         ends in "6". Don't require a specific month name. Try also the locale
18938         names found on HP-UX 11 and Solaris 7.
18939
18940 2011-01-02  Bruno Haible  <bruno@clisp.org>
18941
18942         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
18943         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
18944         C linkage.
18945         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
18946
18947 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
18948
18949         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
18950         for consistency, since the "cluster" term is not used elsewhere.
18951         * lib/unigbrk.in.h: Update name.
18952         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
18953         * lib/unigbrk/u16-grapheme-next.c: Update name.
18954         * lib/unigbrk/u16-grapheme-prev.c: Update name.
18955         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
18956         * lib/unigbrk/u32-grapheme-next.c: Update name.
18957         * lib/unigbrk/u32-grapheme-prev.c: Update name.
18958         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
18959         * lib/unigbrk/u8-grapheme-next.c: Update name.
18960         * lib/unigbrk/u8-grapheme-prev.c: Update name.
18961         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
18962         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
18963         Suggested by Bruno Haible.
18964
18965 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
18966
18967         Remove module 'u8-grapheme-len' as too redundant with
18968         'u8-grapheme-next'.
18969         * modules/unigbrk/u8-grapheme-len: Delete file.
18970         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
18971         * lib/unigbrk.in.h: Remove prototype for deleted function.
18972         * lib/unigbrk/u8-grapheme-len.c: Delete file.
18973         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
18974
18975         Remove module 'u16-grapheme-len' as too redundant with
18976         'u16-grapheme-next'.
18977         * modules/unigbrk/u16-grapheme-len: Delete file.
18978         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
18979         * lib/unigbrk.in.h: Remove prototype for deleted function.
18980         * lib/unigbrk/u16-grapheme-len.c: Delete file.
18981         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
18982
18983         Remove module 'u32-grapheme-len' as too redundant with
18984         'u32-grapheme-next'.
18985         * modules/unigbrk/u32-grapheme-len: Delete file.
18986         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
18987         * lib/unigbrk.in.h: Remove prototype for deleted function.
18988         * lib/unigbrk/u32-grapheme-len.c: Delete file.
18989         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
18990
18991         Suggested by Bruno Haible.
18992
18993 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
18994
18995         * unigbrk.in.h: Fix typo: "ben" => "been".
18996         Reported by Bruno Haible.
18997
18998 2011-01-01  Jim Meyering  <meyering@redhat.com>
18999
19000         maint: update almost all copyright ranges to include 2011
19001         Run the new "make update-copyright" rule.
19002
19003 2011-01-01  Jim Meyering  <meyering@redhat.com>
19004
19005         maint: update-copyright: exempt doc/INSTALL*
19006         * Makefile (update-copyright): Also exclude doc/INSTALL*,
19007         since they are generated.  Suggested by Bruno Haible.
19008
19009 2011-01-01  Jim Meyering  <meyering@redhat.com>
19010
19011         maint: refine the update-copyright rule
19012         * Makefile (update-copyright): Also exclude any file that includes
19013         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
19014         code that merely generates the comment.
19015
19016 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
19017
19018         New module 'u8-grapheme-len'.
19019         * modules/unigbrk/u8-grapheme-len: New file.
19020         * modules/unigbrk/u8-grapheme-len-tests: New file.
19021         * lib/unigbrk.in.h: Add prototype for new function.
19022         * lib/unigbrk/u8-grapheme-len.c: New file.
19023         * tests/unigbrk/test-u8-grapheme-len.c: New file.
19024
19025         New module 'u16-grapheme-len'.
19026         * modules/unigbrk/u16-grapheme-len: New file.
19027         * modules/unigbrk/u16-grapheme-len-tests: New file.
19028         * lib/unigbrk.in.h: Add prototype for new function.
19029         * lib/unigbrk/u16-grapheme-len.c: New file.
19030         * tests/unigbrk/test-u16-grapheme-len.c: New file.
19031
19032         New module 'u32-grapheme-len'.
19033         * modules/unigbrk/u32-grapheme-len: New file.
19034         * modules/unigbrk/u32-grapheme-len-tests: New file.
19035         * lib/unigbrk.in.h: Add prototype for new function.
19036         * lib/unigbrk/u32-grapheme-len.c: New file.
19037         * tests/unigbrk/test-u32-grapheme-len.c: New file.
19038
19039         New module 'u8-grapheme-next'.
19040         * modules/unigbrk/u8-grapheme-next: New file.
19041         * modules/unigbrk/u8-grapheme-next-tests: New file.
19042         * lib/unigbrk.in.h: Add prototype for new function.
19043         * lib/unigbrk/u8-grapheme-next.c: New file.
19044         * tests/unigbrk/test-u8-grapheme-next.c: New file.
19045
19046         New module 'u16-grapheme-next'.
19047         * modules/unigbrk/u16-grapheme-next: New file.
19048         * modules/unigbrk/u16-grapheme-next-tests: New file.
19049         * lib/unigbrk.in.h: Add prototype for new function.
19050         * lib/unigbrk/u16-grapheme-next.c: New file.
19051         * tests/unigbrk/test-u16-grapheme-next.c: New file.
19052
19053         New module 'u32-grapheme-next'.
19054         * modules/unigbrk/u32-grapheme-next: New file.
19055         * modules/unigbrk/u32-grapheme-next-tests: New file.
19056         * lib/unigbrk.in.h: Add prototype for new function.
19057         * lib/unigbrk/u32-grapheme-next.c: New file.
19058         * tests/unigbrk/test-u32-grapheme-next.c: New file.
19059
19060         New module 'u8-grapheme-prev'.
19061         * modules/unigbrk/u8-grapheme-prev: New file.
19062         * modules/unigbrk/u8-grapheme-prev-tests: New file.
19063         * lib/unigbrk.in.h: Add prototype for new function.
19064         * lib/unigbrk/u8-grapheme-prev.c: New file.
19065         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
19066
19067         New module 'u16-grapheme-prev'.
19068         * modules/unigbrk/u16-grapheme-prev: New file.
19069         * modules/unigbrk/u16-grapheme-prev-tests: New file.
19070         * lib/unigbrk.in.h: Add prototype for new function.
19071         * lib/unigbrk/u16-grapheme-prev.c: New file.
19072         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
19073
19074         New module 'u32-grapheme-prev'.
19075         * modules/unigbrk/u32-grapheme-prev: New file.
19076         * modules/unigbrk/u32-grapheme-prev-tests: New file.
19077         * lib/unigbrk.in.h: Add prototype for new function.
19078         * lib/unigbrk/u32-grapheme-prev.c: New file.
19079         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
19080
19081         New module 'u8-grapheme-breaks'.
19082         * modules/unigbrk/u8-grapheme-breaks: New file.
19083         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
19084         * lib/unigbrk.in.h: Add prototype for new function.
19085         * lib/unigbrk/u8-grapheme-breaks.c: New file.
19086         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
19087
19088         New module 'u16-grapheme-breaks'.
19089         * modules/unigbrk/u16-grapheme-breaks: New file.
19090         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
19091         * lib/unigbrk.in.h: Add prototype for new function.
19092         * lib/unigbrk/u16-grapheme-breaks.c: New file.
19093         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
19094
19095         New module 'u32-grapheme-breaks'.
19096         * modules/unigbrk/u32-grapheme-breaks: New file.
19097         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
19098         * lib/unigbrk.in.h: Add prototype for new function.
19099         * lib/unigbrk/u32-grapheme-breaks.c: New file.
19100         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
19101
19102         New module 'ulc-grapheme-breaks'.
19103         * modules/unigbrk/ulc-grapheme-breaks: New file.
19104         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
19105         * m4/locale-ar.m4: New file.
19106         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
19107         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
19108         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
19109
19110 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
19111
19112         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
19113         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
19114         modified how this file was generated before I initially submitted
19115         the module, but failed to regenerate it.  This meant that several
19116         of the level2 entries were wrong.
19117         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
19118         Remove the division-by-2 that is folded into the table now that
19119         gbrkprop.h has been regenerated properly.  Now -1 entries are
19120         handled correctly.
19121
19122         New module 'unigbrk/uc-gbrk-prop-tests'.
19123         * modules/unigbrk/uc-gbrk-prop-tests: New file.
19124         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
19125         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
19126         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
19127
19128 2011-01-01  Bruno Haible  <bruno@clisp.org>
19129
19130         Avoid use of hexadecimal escapes.
19131         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
19132         instead of hexadecimal escapes.
19133
19134 2011-01-01  Jim Meyering  <meyering@redhat.com>
19135
19136         maint: new rule to update copyright year ranges
19137         * Makefile (update-copyright): New rule.
19138
19139         maint: indent with TABs in Makefile
19140         * Makefile: Expand leading sequences of spaces to TABs
19141
19142         version-etc: update the copyright year it reports
19143         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
19144
19145 2010-12-31  Bruno Haible  <bruno@clisp.org>
19146
19147         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
19148         * lib/isfinite.c (zerof, zerod, zerol): New variables.
19149         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
19150         zero.
19151
19152 2010-12-31  Bruno Haible  <bruno@clisp.org>
19153
19154         pwrite: Work around HP-UX 11.11 bug.
19155         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
19156         works and set REPLACE_PWRITE if not.
19157         * lib/pwrite.c (pwrite): Add an implementation that uses the system
19158         function.
19159         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
19160
19161 2010-12-31  Bruno Haible  <bruno@clisp.org>
19162
19163         pread: Work around HP-UX 11 bugs.
19164         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
19165         and set REPLACE_PREAD if not.
19166         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
19167
19168 2010-12-31  Eric Blake  <eblake@redhat.com>
19169
19170         nl_langinfo: fix YESEXPR on Irix 6.5
19171         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
19172         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
19173         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
19174         it.
19175
19176 2010-12-31  Bruno Haible  <bruno@clisp.org>
19177
19178         iconv: Document HP-UX 11 bug.
19179         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
19180
19181 2010-12-31  Bruno Haible  <bruno@clisp.org>
19182
19183         ldexpl: Fix link error on HP-UX 11.
19184         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
19185         LDEXPL_LIBM, using $ISNANL_LIBM.
19186
19187 2010-12-31  Eric Blake  <eblake@redhat.com>
19188
19189         ftello: avoid compilation failure with SunStudio c89
19190         * lib/ftello.c (ftello): Use lseek, not llseek.
19191
19192         tests: avoid failing coreutils tests on cygwin
19193         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
19194         (create_exe_shims_): Return 0 when skipping.
19195
19196 2010-12-31  Bruno Haible  <bruno@clisp.org>
19197
19198         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
19199         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
19200
19201 2010-12-31  Bruno Haible  <bruno@clisp.org>
19202
19203         waitpid: Fix link error in C++ mode.
19204         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
19205
19206 2010-12-31  Bruno Haible  <bruno@clisp.org>
19207
19208         isnan: Use GCC built-ins when possible.
19209         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
19210         __builtin_isnan.
19211         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
19212         (isnan): Define using GCC built-ins for GCC >= 4.0.
19213
19214 2010-12-31  Bruno Haible  <bruno@clisp.org>
19215
19216         isnand: Fix mistake.
19217         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
19218         __builtin_isnand.
19219
19220 2010-12-31  Bruno Haible  <bruno@clisp.org>
19221
19222         open: Avoid C++ error on HP-UX 11.
19223         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
19224
19225 2010-12-31  Bruno Haible  <bruno@clisp.org>
19226
19227         time_r: Add missing declarations on HP-UX 11.
19228         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
19229         instead of HAVE_LOCALTIME_R.
19230         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
19231         HAVE_LOCALTIME_R always.
19232         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
19233         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
19234         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
19235         HAVE_LOCALTIME_R.
19236         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
19237         * doc/posix-functions/localtime_r.texi: Likewise.
19238
19239 2010-12-29  Eric Blake  <eblake@redhat.com>
19240
19241         mountlist: tweak previous commit
19242         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
19243         Reported by Paul Eggert.
19244
19245         mountlist: fix local drive detection on cygwin
19246         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
19247         that works for cygwin.
19248
19249 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
19250
19251         ftoastr, snprintf: ftoastr + snprintf module
19252         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
19253         since the snprintf module now should be good enough here.
19254         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
19255         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
19256         and gl_MODULE_INDICATOR([snprintf]), but the former enables
19257         GNULIB_SNPRINTF only for the test directory, and the latter
19258         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
19259         seems to suffice by itself.
19260
19261 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
19262
19263         alloca: one step towards thread-safety
19264         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
19265         need for a static variable.  All callers changed.  This does not
19266         make the alloca replacement thread-safe, but it's one step.
19267
19268         tests: minor indenting change
19269         * tests/init.sh: Sync from coreutils housekeeping patch
19270         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
19271         to keep lines within 80 columns.
19272
19273 2010-12-28  Jim Meyering  <meyering@redhat.com>
19274
19275         regex: don't infloop on persistent failing calloc
19276         * lib/regexec.c (build_trtable): Return failure indication upon
19277         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
19278         In glibc, this was fixed for version 2.13:
19279         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
19280
19281 2010-12-28  Bruno Haible  <bruno@clisp.org>
19282             Paul Eggert <eggert@cs.ucla.edu>
19283
19284         linkat: Make implementation robust against system behaviour variations.
19285         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
19286         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
19287         way, and to -2 if it needs a generic runtime test.
19288         * lib/linkat.c (solaris_optimized_link_immediate,
19289         solaris_optimized_link_follow): New functions.
19290         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
19291         (check_same_link): Use it.
19292
19293 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
19294
19295         New module 'unigbrk/base'.
19296         * modules/unigbrk/base: New file.
19297         * lib/unigbrk.in.h: New file.
19298
19299         New module 'unigbrk/uc-gbrk-prop'.
19300         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
19301         * modules/unigbrk/uc-gbrk-prop: New file.
19302         * lib/unigbrk/gbrkprop.h: New file.
19303         * lib/unigbrk/uc-gbrk-prop.c: New file.
19304
19305         New module 'unigbrk/uc-is-grapheme-break'.
19306         * modules/unigbrk/uc-is-grapheme-break: New file.
19307         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
19308         * lib/unigbrk/uc-is-grapheme-break.c: New file.
19309         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
19310         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
19311         * tests/unigbrk/GraphemeBreakTest.txt: New file.
19312
19313         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
19314
19315 2010-12-27  Bruno Haible  <bruno@clisp.org>
19316
19317         linkat test: Avoid failure on Solaris 11 2010-11.
19318         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
19319
19320 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19321
19322         utimens: work around glibc rounding bug on more platforms
19323         * lib/utimens.c (fdutimens): Work around rounding bug even if
19324         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
19325         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
19326
19327 2010-12-27  Bruno Haible  <bruno@clisp.org>
19328
19329         select tests: Improve comments.
19330         * tests/test-select.c (do_select): Add comments.
19331
19332 2010-12-27  Bruno Haible  <bruno@clisp.org>
19333
19334         select tests: Safer way of handling timeout.
19335         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
19336         at every invocation.
19337
19338 2010-12-27  Bruno Haible  <bruno@clisp.org>
19339
19340         select tests: Use 'bool' where appropriate.
19341         * tests/test-select.c (connect_to_socket): Change argument type to
19342         'bool'.
19343
19344 2010-12-27  Bruno Haible  <bruno@clisp.org>
19345
19346         select tests: Use existing modules.
19347         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
19348         (configure.ac): Don't test for unistd.h.
19349         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
19350         declared in <unistd.h>.
19351
19352 2010-12-27  Bruno Haible  <bruno@clisp.org>
19353
19354         mbrtowc: Work around a Solaris 7 bug.
19355         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
19356         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
19357         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
19358         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
19359         MBRTOWC_NULL_ARG1_BUG.
19360         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
19361         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
19362         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
19363         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
19364
19365 2010-12-27  Jim Meyering  <meyering@redhat.com>
19366
19367         read-file.c: tweak syntax
19368         * lib/read-file.c (fread_file): Remove space after "*" in function
19369         definitions.
19370
19371 2010-12-27  Bruno Haible  <bruno@clisp.org>
19372
19373         times test: Avoid gcc warnings on OSF/1.
19374         * tests/test-times.c (main): Cast printf arguments from clock_t to
19375         'long int'.
19376
19377 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19378
19379         utimens: work around glibc rounding bug on older Linux kernels
19380         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
19381         on Linux with a glibc whose utimes might not work, then work
19382         around a longstanding glibc bug involving rounding rather than
19383         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
19384         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
19385
19386 2010-12-26  Bruno Haible  <bruno@clisp.org>
19387
19388         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
19389         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
19390         _GL_CXXALIAS_SYS.
19391         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19392
19393 2010-12-26  Bruno Haible  <bruno@clisp.org>
19394
19395         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
19396         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
19397         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
19398         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
19399         looking for the declaration.
19400         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
19401         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
19402         problem.
19403         * doc/posix-functions/inet_pton.texi: Likewise.
19404
19405 2010-12-26  Bruno Haible  <bruno@clisp.org>
19406
19407         arpa_inet: Use the common idioms with C++ support.
19408         * lib/arpa_inet.in.h: Include c++defs.h.
19409         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
19410         support.
19411         * modules/arpa_inet (Depends-on): Add c++defs.
19412         (Makefile.am): Substitute the contents of c++defs.h.
19413         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
19414         * modules/arpa_inet-c++-tests: New file.
19415         * tests/test-arpa_inet-c++.cc: New file.
19416
19417 2010-12-25  Bruno Haible  <bruno@clisp.org>
19418
19419         Fix more C++ link errors on Solaris 8.
19420         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
19421         $(LIB_EACCESS).
19422         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
19423         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
19424         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
19425         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
19426         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
19427
19428 2010-12-25  Bruno Haible  <bruno@clisp.org>
19429
19430         printf-posix: Fix link error when a non-GCC compiler is used.
19431         * lib/stdio.in.h (printf): When not using GCC, override printf
19432         correctly.
19433         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19434
19435 2010-12-25  Bruno Haible  <bruno@clisp.org>
19436
19437         strerror_r-posix: Update doc.
19438         * doc/posix-functions/strerror_r.texi: Update doc about the return
19439         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
19440
19441 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
19442
19443         utimens: simplify the logic of the previous change
19444         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
19445         This should not affect whether the test succeeds or fails.
19446
19447         utimens: configure better on hosts with NFS clock skew
19448         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
19449         uses the clock of the local host.  It might use the clock of the
19450         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
19451         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
19452
19453 2010-12-25  Bruno Haible  <bruno@clisp.org>
19454
19455         ptsname test: Avoid failure on Solaris.
19456         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
19457         open a pseudo-terminal; don't use BSD-style ptys.
19458         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
19459
19460 2010-12-25  Bruno Haible  <bruno@clisp.org>
19461
19462         ptsname: Avoid ERANGE failure on some systems.
19463         * lib/ptsname.c (buffer): Increase size.
19464
19465 2010-12-25  Bruno Haible  <bruno@clisp.org>
19466
19467         rename, renameat: Avoid test failures at NFS mounted locations.
19468         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
19469         so that subsequent mkdir calls succeed.
19470
19471 2010-12-25  Bruno Haible  <bruno@clisp.org>
19472
19473         iswblank: Fix C++ link error on Solaris 8.
19474         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
19475         _GL_FUNCDECL_SYS.
19476
19477 2010-12-25  Bruno Haible  <bruno@clisp.org>
19478
19479         unistd: Fix C++ link error on Solaris 8.
19480         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
19481
19482 2010-12-25  Bruno Haible  <bruno@clisp.org>
19483
19484         readlink doc: Mention an old glibc bug.
19485         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
19486
19487 2010-12-25  Bruno Haible  <bruno@clisp.org>
19488
19489         fcntl-h: Fix for use of C++ on glibc systems.
19490         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
19491         also on glibc systems in C++ mode.
19492         Reported by Gary V. Vaughan <gary@gnu.org>.
19493
19494 2010-12-25  Bruno Haible  <bruno@clisp.org>
19495
19496         roundl-ieee: Make it work on OSF/1 5.1 with cc.
19497         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
19498
19499 2010-12-25  Bruno Haible  <bruno@clisp.org>
19500
19501         truncl-ieee: Make it work on OSF/1 5.1 with cc.
19502         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
19503         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
19504         test whether truncl works according to ISO C 99 with IEC 60559.
19505         * m4/truncl-ieee.m4: New file.
19506         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
19507         m4/signbit.m4.
19508         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
19509
19510 2010-12-25  Bruno Haible  <bruno@clisp.org>
19511
19512         ceill-ieee: Make it work on OSF/1 5.1 with cc.
19513         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
19514         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
19515         test whether ceill works according to ISO C 99 with IEC 60559.
19516         * m4/ceill-ieee.m4: New file.
19517         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
19518         m4/signbit.m4.
19519         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
19520
19521 2010-12-25  Bruno Haible  <bruno@clisp.org>
19522
19523         Ensure all prerequisites of <wchar.h> are included.
19524         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
19525         before <wchar.h>.
19526         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
19527         gl_MBRLEN_NUL_RETVAL): Likewise.
19528         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
19529         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
19530         AC_FUNC_MBRTOWC): Likewise.
19531         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
19532         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
19533         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
19534         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
19535         Likewise.
19536         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
19537         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
19538         (gl_WCHAR_H): Improve comments.
19539         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
19540
19541 2010-12-25  Bruno Haible  <bruno@clisp.org>
19542
19543         strtok_r: Fix C syntax error in autoconf macro.
19544         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
19545         characters in test program.
19546
19547 2010-12-24  Bruno Haible  <bruno@clisp.org>
19548
19549         ceil, trunc, round: Fix gcc warnings.
19550         * lib/ceil.c (MIN): Undefine before redefining.
19551         * lib/trunc.c (MIN): Likewise.
19552         * lib/round.c (MIN): Likewise.
19553         Include <math.h> first.
19554
19555 2010-12-24  Bruno Haible  <bruno@clisp.org>
19556
19557         select tests: Avoid failures on OSF/1 5.1.
19558         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
19559         failure of closing the last socket; it may fail with ECONNRESET.
19560
19561 2010-12-24  Eric Blake  <eblake@redhat.com>
19562
19563         stdint: avoid HP-UX 10.20 preprocessor bug
19564         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
19565         than #if.
19566         * tests/test-floor2.c (main): Likewise.
19567         Reported by Peter O'Gorman.
19568
19569         pipe: make obsoletion transition easier
19570         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
19571         * modules/pipe (Files): Include revived file.
19572         (Include): Drop reference, to mirror getdate's behavior.
19573
19574 2010-12-24  Bruno Haible  <bruno@clisp.org>
19575
19576         sys_socket: Hide mismatch of declarations on NonStop Kernel.
19577         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
19578         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
19579         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19580
19581 2010-12-24  Bruno Haible  <bruno@clisp.org>
19582
19583         gethostname: Ensure declaration on NonStop Kernel.
19584         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
19585         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19586
19587 2010-12-24  Bruno Haible  <bruno@clisp.org>
19588
19589         sys_select: Ensure all necessary types on NonStop Kernel.
19590         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
19591         include <sys/time.h>.
19592         * doc/posix-headers/sys_select.texi: Mention that it's missing on
19593         NonStop Kernel.
19594         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19595
19596 2010-12-24  Bruno Haible  <bruno@clisp.org>
19597
19598         sys_select: Remove unneeded include.
19599         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
19600         have <sys/select.h>.
19601
19602 2010-12-24  Bruno Haible  <bruno@clisp.org>
19603
19604         gethostname: Provide a fallback for HOST_NAME_MAX.
19605         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
19606         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
19607         instead.
19608         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19609
19610 2010-12-24  Bruno Haible  <bruno@clisp.org>
19611
19612         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
19613         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
19614         (SA_RESTART): Likewise.
19615         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19616
19617 2010-12-24  Bruno Haible  <bruno@clisp.org>
19618
19619         signal: Define NSIG.
19620         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
19621         * tests/test-signal.c (nsig): New variable.
19622         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19623
19624 2010-12-24  Bruno Haible  <bruno@clisp.org>
19625
19626         rename, renameat: Avoid test failures on OSF/1 5.1.
19627         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
19628         alternative error codes.
19629         * tests/test-renameat.c (main): Likewise.
19630
19631 2010-12-24  Bruno Haible  <bruno@clisp.org>
19632
19633         *printf: Detect large precisions bug on Solaris 10/SPARC.
19634         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
19635         by Paul Eggert.
19636         * tests/test-snprintf-posix.h (test_function): Add this test code here
19637         too.
19638         * tests/test-sprintf-posix.h (test_function): Likewise.
19639         * tests/test-vasnprintf-posix.c (test_function): Likewise.
19640         * tests/test-vasprintf-posix.c (test_function): Likewise.
19641         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
19642         around by gnulib.
19643         * doc/posix-functions/printf.texi: Likewise.
19644         * doc/posix-functions/snprintf.texi: Likewise.
19645         * doc/posix-functions/sprintf.texi: Likewise.
19646         * doc/posix-functions/vfprintf.texi: Likewise.
19647         * doc/posix-functions/vprintf.texi: Likewise.
19648         * doc/posix-functions/vsnprintf.texi: Likewise.
19649         * doc/posix-functions/vsprintf.texi: Likewise.
19650         * doc/posix-functions/dprintf.texi: Undo last commit.
19651         * doc/posix-functions/vdprintf.texi: Likewise.
19652
19653 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
19654
19655         tests: port test-fdutimensat.c to Solaris 8
19656         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
19657         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
19658         On Solaris 8, it fails with errno == ENOSYS, because there is no
19659         futimens (so it can't use the fd), and there is no lutimens (so it
19660         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
19661
19662         vsnprintf: make more consistent with snprintf; doc fixes
19663
19664         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
19665         the byte count return problem was promoted from the snprintf-posix
19666         to the snprintf module.
19667         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
19668         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
19669         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
19670         * tests/test-snprintf.c (main): Check the byte count returned.
19671         * tests/test-vsnprintf.c (main): Likewise.
19672
19673 2010-12-23  Eric Blake  <eblake@redhat.com>
19674
19675         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
19676         * modules/sigpipe (License): Relax license.
19677
19678 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
19679
19680         doc: document Solaris printf bug with large float precisions
19681         * doc/posix-functions/dprintf.texi (dprintf):
19682         * doc/posix-functions/fprintf.texi (fprintf):
19683         * doc/posix-functions/printf.texi (printf):
19684         * doc/posix-functions/snprintf.texi (snprintf):
19685         * doc/posix-functions/sprintf.texi (sprintf):
19686         * doc/posix-functions/vdprintf.texi (vdprintf):
19687         * doc/posix-functions/vfprintf.texi (vfprintf):
19688         * doc/posix-functions/vprintf.texi (vprintf):
19689         * doc/posix-functions/vsnprintf.texi (vsnprintf):
19690         * doc/posix-functions/vsprintf.texi (vsprintf):
19691         Mention that these functions mishandle large floating point
19692         precisions on Solaris 10.  The same bug is also present in Solaris
19693         8, and I assume earlier.  This causes "cd gnulib-tests; make
19694         check" to fail on Solaris 8 (and I assume, later) when building
19695         the latest coreutils, in test-vasprintf-posix's call to
19696         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
19697         the wide flavors (e.g., wprintf) so this patch just updates the
19698         documentation for the narrow ones.
19699
19700         test-posixtm.c: add two tests
19701         * tests/test-posixtm.c: Add two tests, to highlight the
19702         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
19703         around this bug; this is merely to document it.
19704
19705 2010-12-22  Bruno Haible  <bruno@clisp.org>
19706
19707         getlogin_r: Work around portability problem on OSF/1.
19708         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
19709         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
19710         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
19711         test for a truncated result.
19712         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
19713         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
19714         * modules/getlogin_r (Depends-on): Add memchr.
19715         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
19716
19717 2010-12-22  Bruno Haible  <bruno@clisp.org>
19718
19719         ptsname: Avoid test failure on OSF/1 5.1.
19720         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
19721         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
19722         (same_slave): New function.
19723         (main): Use it to compare ptsname's result with the expected file name.
19724
19725 2010-12-22  Bruno Haible  <bruno@clisp.org>
19726
19727         Port extended stdio modules to HP NonStop Kernel.
19728         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
19729         macros.
19730         * lib/fbufmode.c: Update comments.
19731         * lib/fflush.c: Likewise.
19732         * lib/fpurge.c: Likewise.
19733         * lib/freadable.c: Likewise.
19734         * lib/freadahead.c: Likewise.
19735         * lib/freading.c: Likewise.
19736         * lib/freadptr.c: Likewise.
19737         * lib/freadseek.c: Likewise.
19738         * lib/fseeko.c: Likewise.
19739         * lib/fseterr.c: Likewise.
19740         * lib/fwritable.c: Likewise.
19741         * lib/fwriting.c: Likewise.
19742         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19743
19744 2010-12-22  Bruno Haible  <bruno@clisp.org>
19745
19746         ttyname_r: Work around bug on OSF/1 5.1.
19747         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
19748         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
19749         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
19750         present.
19751         * lib/ttyname_r.c (ttyname_r): Update comments.
19752
19753 2010-12-22  Bruno Haible  <bruno@clisp.org>
19754
19755         round: Implement result sign according to IEEE 754.
19756         * lib/round.c (MIN, MINUS_ZERO): New macros.
19757         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
19758         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
19759         * tests/test-round-ieee.c (main): Likewise.
19760         * tests/test-roundl-ieee.c (main): Likewise.
19761
19762         trunc: Implement result sign according to IEEE 754.
19763         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
19764         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
19765         * tests/test-trunc2.c: Include minus-zero.h.
19766         (MINUS_ZERO): New macro.
19767         (trunc_reference): Keep in sync with lib/trunc.c.
19768         * tests/test-truncf2.c: Include minus-zero.h.
19769         (MINUS_ZERO): New macro.
19770         (truncf_reference): Keep in sync with lib/trunc.c.
19771         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
19772         * tests/test-trunc-ieee.c (main): Likewise.
19773         * tests/test-truncl-ieee.c (main): Likewise.
19774
19775         ceil: Implement result sign according to IEEE 754.
19776         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
19777         (FUNC): Return -0.0 for -1 < x < 0.
19778         * tests/test-ceil2.c: Include minus-zero.h.
19779         (MINUS_ZERO): New macro.
19780         (ceil_reference): Keep in sync with lib/ceil.c.
19781         * tests/test-ceilf2.c: Include minus-zero.h.
19782         (MINUS_ZERO): New macro.
19783         (ceilf_reference): Keep in sync with lib/ceil.c.
19784         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
19785         * tests/test-ceil-ieee.c (main): Likewise.
19786         * tests/test-ceill-ieee.c (main): Likewise.
19787
19788         floor: Implement result sign according to IEEE 754.
19789         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
19790         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
19791         * tests/test-floorf2.c (floorf_reference): Likewise.
19792         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
19793         * tests/test-floor-ieee.c (main): Likewise.
19794         * tests/test-floorl-ieee.c (main): Likewise.
19795
19796 2010-12-22  Bruno Haible  <bruno@clisp.org>
19797
19798         getaddrinfo: Update doc.
19799         * doc/posix-functions/gai_strerror.texi: Return type is also different
19800         on AIX and HP-UX.
19801
19802 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
19803
19804         getaddrinfo, inet_ntop: Update doc for Solaris.
19805         * doc/posix-functions/gai_strerror.texi: Return type is also an
19806         issue on Solaris 9 and earlier.
19807         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
19808         on Solaris 10 and earlier.
19809
19810 2010-12-21  Bruno Haible  <bruno@clisp.org>
19811
19812         New module 'roundl-ieee'.
19813         * modules/roundl-ieee: New file.
19814         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
19815         test whether roundl works according to ISO C 99 with IEC 60559.
19816         * m4/roundl-ieee.m4: New file.
19817         * modules/roundl-ieee-tests: New file.
19818         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
19819         * tests/test-roundl.c (main): Remove signbit tests.
19820         * modules/roundl-tests (Depends-on): Remove signbit.
19821         * doc/posix-functions/roundl.texi: Mention the new module.
19822
19823 2010-12-21  Bruno Haible  <bruno@clisp.org>
19824
19825         New module 'truncl-ieee'.
19826         * modules/truncl-ieee: New file.
19827         * modules/truncl-ieee-tests: New file.
19828         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
19829         * tests/test-truncl.c (main): Remove signbit tests.
19830         * modules/truncl-tests (Depends-on): Remove signbit.
19831         * doc/posix-functions/truncl.texi: Mention the new module.
19832
19833 2010-12-21  Bruno Haible  <bruno@clisp.org>
19834
19835         New module 'ceill-ieee'.
19836         * modules/ceill-ieee: New file.
19837         * modules/ceill-ieee-tests: New file.
19838         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
19839         * tests/test-ceill.c (main): Remove signbit tests.
19840         * modules/ceill-tests (Depends-on): Remove signbit.
19841         * doc/posix-functions/ceill.texi: Mention the new module.
19842
19843 2010-12-21  Bruno Haible  <bruno@clisp.org>
19844
19845         New module 'floorl-ieee'.
19846         * modules/floorl-ieee: New file.
19847         * modules/floorl-ieee-tests: New file.
19848         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
19849         * tests/test-floorl.c (main): Remove signbit tests.
19850         * modules/floorl-tests (Depends-on): Remove signbit.
19851         * doc/posix-functions/floorl.texi: Mention the new module.
19852
19853 2010-12-21  Bruno Haible  <bruno@clisp.org>
19854
19855         New module 'round-ieee'.
19856         * modules/round-ieee: New file.
19857         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
19858         whether round works according to ISO C 99 with IEC 60559.
19859         * m4/round-ieee.m4: New file.
19860         * modules/round-ieee-tests: New file.
19861         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
19862         * tests/test-round1.c (main): Remove signbit tests.
19863         * modules/round-tests (Depends-on): Remove 'signbit'.
19864         * doc/posix-functions/round.texi: Mention the new module.
19865
19866 2010-12-21  Bruno Haible  <bruno@clisp.org>
19867
19868         New module 'trunc-ieee'.
19869         * modules/trunc-ieee: New file.
19870         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
19871         whether trunc works according to ISO C 99 with IEC 60559.
19872         * m4/trunc-ieee.m4: New file.
19873         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
19874         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
19875         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
19876         * modules/trunc-ieee-tests: New file.
19877         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
19878         * tests/test-trunc1.c (main): Remove signbit tests.
19879         * modules/trunc-tests (Depends-on): Remove 'signbit'.
19880         * doc/posix-functions/trunc.texi: Mention the new module.
19881
19882 2010-12-21  Bruno Haible  <bruno@clisp.org>
19883
19884         New module 'ceil-ieee'.
19885         * modules/ceil-ieee: New file.
19886         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
19887         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
19888         ISO C 99 with IEC 60559.
19889         * m4/ceil-ieee.m4: New file.
19890         * modules/ceil (Files): Add lib/ceil.c.
19891         (Depends-on): Add 'float'.
19892         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
19893         * lib/math.in.h (ceil): New declaration.
19894         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
19895         REPLACE_CEIL.
19896         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
19897         * modules/ceil-ieee-tests: New file.
19898         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
19899         * tests/test-math-c++.cc: Check the signature of 'ceil'.
19900         * doc/posix-functions/ceil.texi: Mention the new module.
19901
19902 2010-12-21  Bruno Haible  <bruno@clisp.org>
19903
19904         New module 'floor-ieee'.
19905         * modules/floor-ieee: New file.
19906         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
19907         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
19908         ISO C 99 with IEC 60559.
19909         * m4/floor-ieee.m4: New file.
19910         * modules/floor (Files): Add lib/floor.c.
19911         (Depends-on): Add 'float'.
19912         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
19913         * lib/math.in.h (floor): New declaration.
19914         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
19915         REPLACE_FLOOR.
19916         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
19917         * modules/floor-ieee-tests: New file.
19918         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
19919         * tests/test-math-c++.cc: Check the signature of 'floor'.
19920         * doc/posix-functions/floor.texi: Mention the new module.
19921
19922 2010-12-21  Bruno Haible  <bruno@clisp.org>
19923
19924         New module 'roundf-ieee'.
19925         * modules/roundf-ieee: New file.
19926         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
19927         test whether roundf works according to ISO C 99 with IEC 60559.
19928         * m4/roundf-ieee.m4: New file.
19929         * modules/roundf-ieee-tests: New file.
19930         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
19931         * tests/test-roundf1.c (main): Remove signbit tests.
19932         * modules/roundf-tests (Depends-on): Remove 'signbit'.
19933         * doc/posix-functions/roundf.texi: Mention the new module.
19934
19935 2010-12-21  Bruno Haible  <bruno@clisp.org>
19936
19937         New module 'truncf-ieee'.
19938         * modules/truncf-ieee: New file.
19939         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
19940         test whether truncf works according to ISO C 99 with IEC 60559.
19941         * m4/truncf-ieee.m4: New file.
19942         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
19943         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
19944         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
19945         * modules/truncf-ieee-tests: New file.
19946         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
19947         * tests/test-truncf1.c (main): Remove signbit tests.
19948         * modules/truncf-tests (Depends-on): Remove 'signbit'.
19949         * doc/posix-functions/truncf.texi: Mention the new module.
19950
19951 2010-12-21  Bruno Haible  <bruno@clisp.org>
19952
19953         New module 'ceilf-ieee'.
19954         * modules/ceilf-ieee: New file.
19955         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
19956         test whether ceilf works according to ISO C 99 with IEC 60559.
19957         * m4/ceilf-ieee.m4: New file.
19958         * modules/ceilf-ieee-tests: New file.
19959         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
19960         * tests/test-ceilf1.c (main): Remove signbit tests.
19961         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
19962         * doc/posix-functions/ceilf.texi: Mention the new module.
19963
19964 2010-12-21  Bruno Haible  <bruno@clisp.org>
19965
19966         New module 'floorf-ieee'.
19967         * modules/floorf-ieee: New file.
19968         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
19969         test whether floorf works according to ISO C 99 with IEC 60559.
19970         * m4/floorf-ieee.m4: New file.
19971         * modules/floorf-ieee-tests: New file.
19972         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
19973         * tests/test-floorf1.c (main): Remove signbit tests.
19974         * modules/floorf-tests (Depends-on): Remove 'signbit'.
19975         * doc/posix-functions/floorf.texi: Mention the new module.
19976
19977 2010-12-21  Bruno Haible  <bruno@clisp.org>
19978
19979         Support for minus zero in autoconf macros.
19980         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
19981         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
19982         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
19983         * tests/minus-zero.h: Update comments.
19984
19985 2010-12-21  Bruno Haible  <bruno@clisp.org>
19986
19987         Tests for module 'ceil'.
19988         * modules/ceil-tests: New file.
19989         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
19990         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
19991
19992 2010-12-21  Bruno Haible  <bruno@clisp.org>
19993
19994         Tests for module 'floor'.
19995         * modules/floor-tests: New file.
19996         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
19997         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
19998
19999 2010-12-21  Bruno Haible  <bruno@clisp.org>
20000
20001         math: Fix indentation.
20002         * lib/math.in.h (floorf): Fix indentation.
20003
20004 2010-12-21  Bruno Haible  <bruno@clisp.org>
20005
20006         Fix cross-compilation guesses on Solaris.
20007         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
20008         not match "solaris2.10".
20009         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20010         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
20011         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
20012
20013 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
20014
20015         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
20016         This fixes a problem observed with the latest coreutils snapshot
20017         that caused a test to fail on Solaris 8.  src/csplit.c's call
20018         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
20019         earlier, instead of returning the number of bytes that would have
20020         been generated; this causes csplit to incorrectly report memory
20021         exhaustion.
20022         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
20023         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
20024         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
20025         comments to match.
20026         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
20027         Fix typo in matching older versions of Solaris: "solaris2.10"
20028         is matched by the shell pattern "solaris2.[0-9]*".  This matters
20029         only for guessing while cross-compiling.
20030         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
20031
20032 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
20033
20034         ftoastr: fix comment again
20035         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
20036         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
20037         Also, simplify example a bit by using flags = 0.
20038
20039 2010-12-20  Bruno Haible  <bruno@clisp.org>
20040
20041         round*, trunc*: Update documentation regarding glibc.
20042         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
20043         * doc/posix-functions/round.texi: Likewise.
20044         * doc/posix-functions/roundl.texi: Likewise.
20045         * doc/posix-functions/truncf.texi: Likewise.
20046         * doc/posix-functions/trunc.texi: Likewise.
20047         * doc/posix-functions/truncl.texi: Likewise.
20048
20049 2010-12-20  Bruno Haible  <bruno@clisp.org>
20050
20051         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
20052         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
20053         * doc/posix-functions/round.texi: Likewise.
20054         * doc/posix-functions/roundl.texi: Likewise.
20055
20056 2010-12-20  Bruno Haible  <bruno@clisp.org>
20057
20058         ttyname_r: Add missing declaration on HP-UX 11.
20059         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
20060         HAVE_TTYNAME_R.
20061         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
20062         declared. Set HAVE_TTYNAME_R always.
20063         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20064         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
20065         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
20066         HAVE_TTYNAME_R.
20067         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
20068
20069 2010-12-20  Bruno Haible  <bruno@clisp.org>
20070
20071         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
20072         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
20073         * doc/posix-functions/getlogin_r.texi: Likewise.
20074         * tests/test-getlogin.c: Include <errno.h>.
20075         (main): Avoid test failure on HP-UX 11.11.
20076         * tests/test-getlogin_r.c (main): Likewise.
20077
20078 2010-12-20  Bruno Haible  <bruno@clisp.org>
20079
20080         getlogin_r: Add missing declaration on HP-UX 11.
20081         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
20082         declared also when it exists as a function.
20083         * doc/posix-functions/getlogin_r.texi: Document this workaround.
20084
20085 2010-12-20  Bruno Haible  <bruno@clisp.org>
20086
20087         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
20088         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
20089         through wcrtomb.
20090
20091 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
20092
20093         ftoastr: fix comment
20094         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
20095         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
20096
20097 2010-12-19  Bruno Haible  <bruno@clisp.org>
20098
20099         isnan: Ensure it is a macro.
20100         * lib/math.in.h (isnan): Define as a macro if not already a macro.
20101         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
20102         Solaris.
20103
20104 2010-12-19  Bruno Haible  <bruno@clisp.org>
20105
20106         ldexpl test: Fix link error on OSF/1 5.1.
20107         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
20108
20109 2010-12-19  Bruno Haible  <bruno@clisp.org>
20110
20111         wctype: Make it work in C++ mode on OSF/1 5.1.
20112         * lib/wctype.in.h (iswblank): Declare but not define here.
20113         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
20114         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
20115         * modules/wctype (Files): Add lib/iswblank.c.
20116
20117 2010-12-19  Bruno Haible  <bruno@clisp.org>
20118
20119         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
20120         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
20121         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
20122
20123 2010-12-19  Bruno Haible  <bruno@clisp.org>
20124
20125         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
20126         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
20127         _POSIX_PII_SOCKET.
20128         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
20129         * doc/posix-functions/recvfrom.texi: Likewise.
20130         * doc/posix-functions/send.texi: Likewise.
20131         * doc/posix-functions/sendto.texi: Likewise.
20132
20133 2010-12-19  Bruno Haible  <bruno@clisp.org>
20134
20135         tcgetsid: Add missing declaration on OSF/1 5.1.
20136         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
20137         HAVE_TCGETSID.
20138         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
20139         Don't set HAVE_TCGETSID.
20140         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
20141         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
20142         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
20143         HAVE_TCGETSID.
20144         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
20145
20146 2010-12-19  Bruno Haible  <bruno@clisp.org>
20147
20148         stdio: Fix problem with popen() declaration on OSF/1 5.1.
20149         * lib/stdio.in.h: During the include_next statement, let recursive
20150         includes of this file include only the system header file.
20151
20152 2010-12-19  Bruno Haible  <bruno@clisp.org>
20153
20154         iconv_open: Fix regression from 2010-12-04.
20155         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
20156         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
20157
20158 2010-12-19  Bruno Haible  <bruno@clisp.org>
20159
20160         stdbool test: Avoid a gcc warning.
20161         * tests/test-stdbool.c (main): Fail if e1 is false.
20162         Reported by Jim Meyering.
20163
20164 2010-12-19  Jim Meyering  <meyering@redhat.com>
20165
20166         setenv: restore to working order
20167         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
20168         mistakenly removed.
20169         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
20170         HAVE_SETENV.
20171         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
20172         HAVE_SETENV.
20173
20174 2010-12-19  Bruno Haible  <bruno@clisp.org>
20175
20176         Document some different function declarations on OSF/1 5.1.
20177         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
20178         * doc/posix-functions/inet_ntop.texi: Likewise.
20179         * doc/posix-functions/gethostname.texi: Likewise.
20180         * lib/unistd.in.h (gethostname): Update comment.
20181
20182 2010-12-19  Bruno Haible  <bruno@clisp.org>
20183
20184         doc: Mention vasprintf-posix module.
20185         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
20186         the 'vasprintf-posix' module.
20187         * doc/glibc-functions/vasprintf.texi: Likewise.
20188
20189 2010-12-19  Bruno Haible  <bruno@clisp.org>
20190
20191         unsetenv: Add missing declaration on OSF/1 5.1.
20192         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
20193         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
20194         Don't set HAVE_UNSETENV. In the test program, set _BSD.
20195         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
20196         not HAVE_UNSETENV.
20197         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
20198         HAVE_UNSETENV.
20199         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
20200
20201 2010-12-19  Bruno Haible  <bruno@clisp.org>
20202
20203         setenv: Add missing declaration on OSF/1 5.1.
20204         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
20205         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
20206         declared. Don't set HAVE_SETENV.
20207         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
20208         not HAVE_SETENV.
20209         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
20210         HAVE_SETENV.
20211         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
20212
20213 2010-12-19  Bruno Haible  <bruno@clisp.org>
20214
20215         nl_langinfo tests: Avoid gcc warning.
20216         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
20217
20218 2010-12-19  Bruno Haible  <bruno@clisp.org>
20219
20220         mknod: Avoid error in C++ mode on OSF/1 with GCC.
20221         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
20222         _GL_CXXALIAS_SYS.
20223
20224 2010-12-19  Bruno Haible  <bruno@clisp.org>
20225
20226         stdbool: Relax test.
20227         * tests/test-stdbool.c (e): Don't require that casts from a variable's
20228         address to 'bool' work in static initializer, for compilers other than
20229         GCC.
20230
20231 2010-12-19  Bruno Haible  <bruno@clisp.org>
20232
20233         ftello: Add missing declaration on OSF/1 5.1.
20234         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
20235         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
20236         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
20237         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
20238         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
20239
20240 2010-12-19  Bruno Haible  <bruno@clisp.org>
20241
20242         fseeko: Add missing declaration on OSF/1 5.1.
20243         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
20244         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
20245         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
20246         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
20247         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
20248
20249 2010-12-19  Bruno Haible  <bruno@clisp.org>
20250
20251         fchdir: Add missing declaration on OSF/1 5.1.
20252         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
20253         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
20254         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
20255         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
20256         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
20257
20258 2010-12-19  Bruno Haible  <bruno@clisp.org>
20259
20260         relocatable-prog-wrapper: Separate from relocatable-prog.
20261         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
20262         uninstall-relocwrapper rule here.
20263         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
20264         Reported by Ian Beckwith <ianb@erislabs.net>.
20265
20266 2010-12-19  Bruno Haible  <bruno@clisp.org>
20267
20268         unistr/u8-mbsnlen: Add missing dependency.
20269         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
20270         Reported by Ian Beckwith <ianb@erislabs.net>.
20271
20272 2010-12-19  Bruno Haible  <bruno@clisp.org>
20273
20274         iconv: Make it possible again to use this module without 'iconv-h'.
20275         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
20276         if it is not defined.
20277         Reported by Ian Beckwith <ianb@erislabs.net>.
20278
20279 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
20280
20281         acl: port to Solaris 8 when copying from tmpfs to ufs
20282         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
20283         error number.  Problem observed on Solaris 8 with latest
20284         coreutils, with "mv A B", where A is on a tmpfs file system and B
20285         is on a ufs file system.  This caused coreutils' mv/part-symlink
20286         test to fail.
20287
20288         tests: set fail=0 at start
20289         * tests/init.sh (setup_): Move fail=0 initialization here ...
20290         (mktempd_): ... from here, so that tests can rely on fail being
20291         set to 0 initially.  This fixes a problem in coreutils; see:
20292         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
20293
20294 2010-12-18  Bruno Haible  <bruno@clisp.org>
20295
20296         memmem-simple: Stylistic changes.
20297         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
20298         Fix preprocessor directive indentation.
20299
20300 2010-12-15  Pádraig Brady <P@draigBrady.com>
20301
20302         memmem, memmem-simple: reorganize and expand empty needle check
20303         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
20304         functional checks to memmem-simple so that one has a fully functional
20305         memmem by using just this module.
20306         Restrict the performance only check to the memmem module.
20307         Also expand the empty needle check to ensure the correct
20308         pointer is returned, not just a non NULL pointer.
20309         * doc/glibc-functions/memmem.texi: Rearrange the portability
20310         documentation to correlate with the rearranged checks.
20311         Clarify exactly how the memmem and memmem-simple modules
20312         relate to each other.
20313
20314 2010-12-15  Pádraig Brady <P@draigBrady.com>
20315             Bruno Haible  <bruno@clisp.org>
20316
20317         Improve cross-compilation guesses for uClibc.
20318         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
20319         that uClibc does not have the glibc bug.
20320         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
20321         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
20322
20323 2010-12-14  Eric Blake  <eblake@redhat.com>
20324
20325         configmake: provide fallbacks for oldest supported autotools
20326         * m4/configmake.m4: New file.
20327         * modules/configmake (Files): Ship it.
20328         (configure.ac): Use it to guarantee fallbacks.
20329
20330 2010-12-13  Pádraig Brady <P@draigBrady.com>
20331
20332         read-file: Improve handling of large files
20333         * lib/read-file.c (fread_file): Minimize realloc()s
20334         for regular files, and better manage sizes around SIZE_MAX.
20335
20336 2010-12-13  Eric Blake  <eblake@redhat.com>
20337
20338         cloexec, fcntl: relax license
20339         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
20340         consent from all contributors.
20341         * modules/fcntl (License): Likewise.
20342
20343 2010-12-10  Bruno Haible  <bruno@clisp.org>
20344
20345         Tests for module 'pipe-posix'.
20346         * modules/pipe-posix-tests: New file.
20347         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
20348
20349 2010-12-10  Bruno Haible  <bruno@clisp.org>
20350
20351         pipe-posix: Make it work in C++ mode.
20352         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
20353         (pipe): Use common idiom, not a macro definition.
20354         * lib/pipe.c: New file.
20355         * m4/pipe.m4: New file.
20356         * modules/pipe-posix (Description): Enhance.
20357         (Files): Add lib/pipe.c, m4/pipe.m4.
20358         (configure.ac): Invoke gl_FUNC_PIPE.
20359         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
20360         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
20361         * tests/test-unistd-c++.cc: Check the signature of pipe.
20362
20363 2010-12-10  Bruno Haible  <bruno@clisp.org>
20364
20365         Rename module 'pipe' to 'spawn-pipe'.
20366         * modules/spawn-pipe: New file, renamed from modules/pipe.
20367         (Files, configure.ac, Makefile.am): Update.
20368         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
20369         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
20370         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
20371         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
20372         "spawn-pipe.h" instead of "pipe.h".
20373         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
20374         to gl_SPAWN_PIPE.
20375         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
20376         (Files, Makefile.am): Update.
20377         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
20378         Update.
20379         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
20380         Include "spawn-pipe.h" instead of "pipe.h".
20381         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
20382         * lib/javacomp.c: Likewise.
20383         * lib/javaversion.c: Likewise.
20384         * lib/pipe-filter-gi.c: Likewise.
20385         * lib/pipe-filter-ii.c: Likewise.
20386         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
20387         * modules/javacomp (Depends-on): Likewise.
20388         * modules/javaversion (Depends-on): Likewise.
20389         * modules/pipe-filter-gi (Depends-on): Likewise.
20390         * modules/pipe-filter-ii (Depends-on): Likewise.
20391         * MODULES.html.sh (Executing programs): Update.
20392         * NEWS: Mention the change.
20393
20394 2010-12-10  Eric Blake  <eblake@redhat.com>
20395
20396         pipe-posix: new module
20397         * modules/pipe-posix: New file.
20398         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
20399         (gl_UNISTD_H): Check for declaration.
20400         * modules/unistd (Makefile.am): Substitute it.
20401         * lib/unistd.in.h (pipe): Provide it for mingw.
20402         * doc/posix-functions/pipe.texi (pipe): Update documentation.
20403         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
20404
20405 2010-12-07  Bruno Haible  <bruno@clisp.org>
20406
20407         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
20408         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
20409         u8_strcmp_gnu.
20410         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
20411
20412 2010-12-06  Bruno Haible  <bruno@clisp.org>
20413
20414         Update internal documentation.
20415         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
20416
20417 2010-12-04  Bruno Haible  <bruno@clisp.org>
20418
20419         Put more information about failed tests into the test return codes.
20420         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
20421         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
20422         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
20423         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
20424         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
20425         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
20426         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
20427         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
20428         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
20429         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
20430         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
20431         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
20432         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
20433         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20434         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
20435         returns a bit mask.
20436         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
20437         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
20438         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
20439         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
20440         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
20441         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
20442         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
20443         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
20444         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20445         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
20446         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
20447         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
20448         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20449         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
20450         * m4/link.m4 (gl_FUNC_LINK): Likewise.
20451         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
20452         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
20453         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
20454         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20455         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
20456         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20457         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
20458         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
20459         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
20460         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20461         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
20462         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
20463         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
20464         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
20465         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
20466         gl_PRINTF_PRECISION): Likewise.
20467         * m4/regex.m4 (gl_REGEX): Likewise.
20468         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
20469         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20470         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
20471         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20472         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
20473         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20474         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20475         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
20476         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
20477         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
20478         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
20479         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
20480         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
20481         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
20482         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20483         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
20484         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
20485         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20486         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
20487         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
20488         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
20489         enumerated value.
20490         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
20491
20492 2010-12-04  Bruno Haible  <bruno@clisp.org>
20493
20494         Update for Solaris 11 2010-11.
20495         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
20496         Express, released in November 2010.
20497
20498 2010-12-04  Bruno Haible  <bruno@clisp.org>
20499
20500         nproc: Relax license.
20501         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
20502         and Paul Eggert.
20503         Requested by Ludovic Courtès <ludo@gnu.org>.
20504
20505 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
20506
20507         utimecmp: fine-grained src to nearby coarse-grained dest
20508
20509         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
20510         and the source is on a file system with higher-resolution time
20511         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
20512         not work, and the time stamps are close together, the algorithm to
20513         determine the exact resolution from the read-back mtime was buggy:
20514         it had a "!=" where it should have had an "==".  This bug has been
20515         in the code ever since it was introduced to gnulib.
20516         Problem reported by Dan Jacobson in
20517         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
20518
20519 2010-11-30  Bruno Haible  <bruno@clisp.org>
20520
20521         strerror_r-posix: Fix autoconf test.
20522         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
20523
20524 2010-11-28  Bruno Haible  <bruno@clisp.org>
20525             Paul Eggert  <eggert@cs.ucla.edu>
20526
20527         Tests for module 'getdomainname'.
20528         * modules/getdomainname-tests: New file.
20529         * tests/test-getdomainname.c: New file, based on
20530         tests/test-gethostname.c.
20531
20532 2010-11-28  Bruno Haible  <bruno@clisp.org>
20533             Paul Eggert  <eggert@cs.ucla.edu>
20534
20535         getdomainname: Use the system function when possible.
20536         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
20537         (getdomainname): Replace if needed. Provide the declaration if it is
20538         missing. Don't use _GL_CXXALIAS_SYS_CAST.
20539         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
20540         (getdomainname): When the system has getdomainname, call the system
20541         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
20542         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
20543         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
20544         found in libnsl. Look for the declaration also in <netdb.h>. Replace
20545         the function if its second argument is of type 'int' or if it is found
20546         in libnsl.
20547         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
20548         <sys/systeminfo.h> and sysinfo().
20549         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
20550         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20551         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
20552         HAVE_GETDOMAINNAME.
20553         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
20554         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
20555         * doc/glibc-functions/getdomainname.texi: Document the problems with
20556         the getdomainname declaration.
20557
20558 2010-11-28  Bruno Haible  <bruno@clisp.org>
20559
20560         sys_socket: Ensure ss_family field on AIX.
20561         * lib/sys_socket.in.h (ss_family): New macro definition.
20562         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
20563         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
20564         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
20565         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
20566         * modules/sys_socket (Makefile.am): Substitute
20567         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
20568         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
20569
20570 2010-11-27  Bruno Haible  <bruno@clisp.org>
20571
20572         readline: Improve configure output.
20573         * m4/readline.m4 (gl_FUNC_READLINE): Make the
20574         "checking for readline..." result understandable.
20575
20576 2010-11-27  Bruno Haible  <bruno@clisp.org>
20577
20578         *printf-posix: Detect a bug on Solaris 10/x86.
20579         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
20580         for floating-point output.
20581         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
20582         directive.
20583         * tests/test-snprintf-posix.h (test_function): Likewise.
20584         * tests/test-sprintf-posix.h (test_function): Likewise.
20585         * tests/test-vasprintf-posix.c (test_function): Likewise.
20586         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
20587         * doc/posix-functions/printf.texi: Likewise.
20588         * doc/posix-functions/snprintf.texi: Likewise.
20589         * doc/posix-functions/sprintf.texi: Likewise.
20590         * doc/posix-functions/vfprintf.texi: Likewise.
20591         * doc/posix-functions/vprintf.texi: Likewise.
20592         * doc/posix-functions/vsnprintf.texi: Likewise.
20593         * doc/posix-functions/vsprintf.texi: Likewise.
20594         * doc/glibc-functions/obstack_printf.texi: Likewise.
20595         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
20596
20597 2010-11-27  Bruno Haible  <bruno@clisp.org>
20598
20599         Fix link error when module libunistring-optional is in use.
20600         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
20601         * modules/striconveha-tests (Makefile.am): Likewise.
20602
20603 2010-11-27  Bruno Haible  <bruno@clisp.org>
20604
20605         regex: Mention link dependencies.
20606         * modules/regex (Link): New section.
20607         * modules/rpmatch (Link): Likewise.
20608         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
20609
20610 2010-11-27  Bruno Haible  <bruno@clisp.org>
20611
20612         ftoastr: Fix compilation error on Solaris.
20613         * lib/ftoastr.c: Include <config.h>.
20614
20615 2010-11-27  Bruno Haible  <bruno@clisp.org>
20616
20617         getloadavg: Update documentation.
20618         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
20619
20620 2010-11-27  Bruno Haible  <bruno@clisp.org>
20621
20622         sys_socket: Fix test whether the functions are declared.
20623         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
20624         not <sys/select.h>.
20625
20626 2010-11-27  Bruno Haible  <bruno@clisp.org>
20627
20628         getpass: Make sure to get system declaration on some platforms.
20629         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
20630         gl_USE_SYSTEM_EXTENSIONS.
20631         * modules/getpass (Depends-on): Add extensions.
20632
20633 2010-11-26  Bruno Haible  <bruno@clisp.org>
20634
20635         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
20636         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
20637         'iconv' module is present.
20638         (ICONV_CONST): New macro.
20639         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
20640         ICONV_CONST.
20641         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
20642         set ICONV_CONST.
20643         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
20644         here.
20645         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
20646         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
20647         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
20648         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
20649         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
20650         present.
20651
20652 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
20653
20654         ftoastr: comment fix
20655         * lib/ftoastr.c: "little" -> "little or no" in comment
20656
20657 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
20658
20659         stdint: port to GCC 4.3 + OSX + Octave
20660         On this platform, stdint.h is buggy and defines int64_t to long
20661         long int.  The replacement defined it to long int, causing
20662         problems with C++ style name mangling.  Instead, trust the system
20663         definition if INT64_MAX is defined, and likewise for the unsigned
20664         variant.   Problem reported by Jarno Rajahalme in
20665         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
20666         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
20667         and don't mess with int64_t and INT64_MAX in this case.
20668         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
20669
20670 2010-11-24  Bruno Haible  <bruno@clisp.org>
20671
20672         doc: Corrections regarding MacOS X 10.4 and 10.5.
20673         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
20674         MacOS X.
20675         Reported by Simon Josefsson.
20676
20677 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
20678
20679         Uninstall ".bin" files installed by relocwrapper.
20680         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
20681         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
20682         unless it is already there.
20683
20684 2010-11-21  Bruno Haible  <bruno@clisp.org>
20685
20686         Update for NetBSD 5.0.
20687         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
20688         NetBSD; the test fails on NetBSD 5.0.
20689         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
20690         about NetBSD.
20691
20692 2010-11-21  Bruno Haible  <bruno@clisp.org>
20693
20694         Update for HP-UX 11.23 and HP-UX 11.31.
20695         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
20696         HP-UX.
20697
20698 2010-11-21  Bruno Haible  <bruno@clisp.org>
20699
20700         Update for MacOS X 10.5.
20701         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
20702         MacOS X; the test fails on MacOS X 10.5.8.
20703         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
20704         about MacOS X.
20705
20706 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
20707
20708         bootstrap: add bootstrap_sync option.
20709         See discussion at
20710         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
20711         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
20712         * build-aux/bootstrap: Accept --bootstrap-sync to update
20713         bootstrap if it is not identical to the local gnulib's
20714         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
20715         enable this by default.  Accept --no-bootstrap-sync to disable
20716         it.
20717
20718 2010-11-20  Bruno Haible  <bruno@clisp.org>
20719
20720         Ensure that <features.h> is included before __GLIBC__ is tested.
20721         * lib/printf-parse.h: Include <features.h>.
20722         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
20723         Reported by Mike Frysinger <vapier@gentoo.org>.
20724
20725         Ensure that <features.h> is included before __GLIBC__ is tested.
20726         * lib/wchar.in.h: Include <features.h>.
20727         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
20728         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
20729         Reported by Mike Frysinger <vapier@gentoo.org>.
20730
20731         Ensure that <features.h> is included before __GLIBC__ is tested.
20732         * lib/arpa_inet.in.h: Include <features.h>.
20733         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
20734         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
20735         Reported by Mike Frysinger <vapier@gentoo.org>.
20736
20737         Ensure that <features.h> is included before __GLIBC__ is tested.
20738         * build-aux/link-warning.h: Include <features.h>.
20739         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
20740         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
20741         Reported by Mike Frysinger <vapier@gentoo.org>.
20742
20743         Ensure that <features.h> is included before __GLIBC__ is tested.
20744         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
20745         Reported by Mike Frysinger <vapier@gentoo.org>.
20746
20747 2010-11-20  Bruno Haible  <bruno@clisp.org>
20748
20749         memmem: Fix autoconf test.
20750         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
20751
20752 2010-11-20  Bruno Haible  <bruno@clisp.org>
20753
20754         Port to uClibc.
20755         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
20756         * lib/fcntl.in.h: Likewise.
20757         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
20758         * lib/mbrtowc.c (mbrtowc): Likewise.
20759         * lib/relocatable.c (find_shared_library_fullname): Likewise.
20760         * lib/strerror_r.c: Likewise.
20761         * lib/unistr/u8-strnlen.c: Likewise.
20762         * lib/vasnprintf.c (decimal_point_char): Likewise.
20763         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
20764         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
20765         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
20766         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
20767         * tests/test-sigaction.c (handler, main): Likewise.
20768         * lib/freading.h: Treat uClibc like a non-glibc platform.
20769         * lib/freading.c: Likewise.
20770         * lib/gettext.h: Likewise.
20771         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
20772         Likewise.
20773         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
20774         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
20775         * lib/propername.c (proper_name_utf8): Likewise.
20776         * lib/spawn.in.h: Likewise.
20777         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
20778         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
20779         mem_cd_iconveh_internal): Likewise.
20780         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
20781         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
20782         strstr, strcasestr): Likewise.
20783         * lib/unicodeio.c (unicode_to_mb): Likewise.
20784         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
20785         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
20786         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
20787         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
20788         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
20789         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
20790         * lib/unistr/u8-stpncpy.c: Likewise.
20791         * lib/vasnprintf.c (VASNPRINTF): Likewise.
20792         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
20793         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
20794         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
20795         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
20796         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
20797         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
20798         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
20799         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
20800         Likewise.
20801         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
20802         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
20803         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
20804         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20805         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
20806         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
20807         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
20808         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
20809         * tests/test-getopt.h (OPTIND_MIN): Likewise.
20810         * tests/test-striconveha.c (main): Likewise.
20811         * tests/test-vasnprintf-posix.c (test_function): Likewise.
20812         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
20813         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
20814         * doc/posix-functions/getline.texi: Likewise.
20815         Reported by Mike Frysinger <vapier@gentoo.org>.
20816
20817 2010-11-20  Bruno Haible  <bruno@clisp.org>
20818
20819         nproc: Fix condition.
20820         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
20821         HAVE_PTHREAD_AFFINITY_NP.
20822
20823 2010-11-20  Bruno Haible  <bruno@clisp.org>
20824
20825         Fix a comment.
20826         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
20827
20828 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
20829
20830         ftoastr: don't assume snprintf
20831         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
20832         Implement a subset of snprintf here, by using sprintf safely.
20833         * modules/ftoastr (Depends-on): Remove snprintf.
20834
20835 2010-11-19  Jim Meyering  <meyering@redhat.com>
20836
20837         test-rename.h: fix compilation failure
20838         * tests/test-rename.h (test_rename): Add omitted "}".
20839
20840 2010-11-17  Jim Meyering  <meyering@redhat.com>
20841
20842         maint.mk: add a URL discussing the no-@acronym policy
20843         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
20844
20845 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
20846
20847         ftoastr: depend on snprintf, improve comments
20848         * lib/ftoastr.c: Also mention Loitsch's draft.
20849         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
20850         needed in the current implementation, but it might simplify
20851         speeding up the code later.
20852         * modules/ftoastr: Depend on snprintf; this improves portability.
20853         Suggested by Bruno Haible in the same email.
20854
20855         ftoastr: port to hosts lacking strtof and strtold
20856         Problem reported by Bruno Haible in
20857         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
20858         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
20859         environment and strtold (and presumably strtof) are not available.
20860         * modules/ftoastr (Files): Add m4/c-strtod.m4.
20861         (configure.ac): Require gl_C99_STRTOLD.
20862
20863 2010-11-18  Bruno Haible  <bruno@clisp.org>
20864
20865         c-strtold: Avoid link error on AIX 7.
20866         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
20867         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
20868         (gl_C_STRTOLD): Test whether strtold_l exists.
20869         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20870
20871 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
20872
20873         intprops: new macro INT_BITS_STRLEN_BOUND
20874         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
20875         ftoastr.h.  This exposes an internal of intprops.h that was formerly
20876         not exposed.  Also, it uses a slightly tighter bound than before;
20877         though this makes no practical difference, we might as well be as
20878         tight as we easily can.
20879
20880         ftoastr: new module, for lossless conversion of floats to short strings
20881         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
20882         * modules/ftoastr: New files.
20883
20884 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
20885
20886         bootstrap: port to Solaris sed
20887         * build-aux/bootstrap (get_version): Port to Solaris sed.
20888         See Ralf Wildenhues's note in
20889         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
20890
20891 2010-11-14  Jim Meyering  <meyering@redhat.com>
20892
20893         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
20894         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
20895         and move definition closer to sole use.
20896
20897 2010-11-13  Jim Meyering  <meyering@redhat.com>
20898
20899         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
20900         Now we require at least autoconf-2.59, which means the work-around
20901         is no longer needed.
20902         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
20903         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
20904         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
20905         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
20906         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
20907
20908 2010-11-13  Bruno Haible  <bruno@clisp.org>
20909
20910         rename, renameat: Avoid test failures at NFS mounted locations.
20911         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
20912         functions.
20913         (test_rename): Use assert_nonexistent.
20914         * tests/test-rename.c: Include <dirent.h>.
20915         * tests/test-renameat.c: Likewise.
20916         Reported by Gary V. Vaughan <gary@gnu.org>.
20917
20918         rename, renameat: Document Linux bug with NFS
20919         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
20920         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
20921         * doc/posix-functions/renameat.texi: Likewise.
20922         Suggested by Eric Blake.
20923
20924 2010-11-13  Bruno Haible  <bruno@clisp.org>
20925
20926         rename test: Add comments.
20927         * tests/test-rename.h (test_rename): Add structure and comments.
20928
20929 2010-11-13  Eric Blake  <eblake@redhat.com>
20930
20931         maintainer-makefile: cover a few more files
20932         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
20933         scripts generated within C files, for libvirt.
20934
20935 2010-11-13  Bruno Haible  <bruno@clisp.org>
20936
20937         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
20938         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
20939         character, return the number of bytes that belong together, not always
20940         1.
20941         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
20942         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
20943         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
20944         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
20945         number of bytes of an invalid character.
20946         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
20947         (main): Invoke it.
20948         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
20949         results.
20950         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
20951         malformed byte sequences.
20952         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
20953         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
20954         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
20955         Reported by Ben Pfaff and Paolo Bonzini.
20956
20957 2010-11-13  Bruno Haible  <bruno@clisp.org>
20958
20959         openat: Work around glibc bug with fchownat() and empty file names.
20960         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
20961         (gl_FUNC_FCHOWNAT): Invoke it.
20962         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
20963         * doc/posix-functions/fchownat.texi: Document the glibc bug.
20964         Reported by Gary V. Vaughan <gary@gnu.org>.
20965
20966 2010-11-13  Bruno Haible  <bruno@clisp.org>
20967
20968         openat: Ensure autoconf macro ordering.
20969         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
20970         gl_USE_SYSTEM_EXTENSIONS.
20971         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
20972
20973 2010-11-13  Bruno Haible  <bruno@clisp.org>
20974
20975         Update comments.
20976         * lib/unistr/u8-check.c: Update file name in comments.
20977         * lib/unistr/u8-mblen.c: Likewise.
20978         * lib/unistr/u8-prev.c: Likewise.
20979         * lib/unistr/u8-strmblen.c: Likewise.
20980         * lib/unistr/u8-strmbtouc.c: Likewise.
20981
20982 2010-11-13  Jim Meyering  <meyering@redhat.com>
20983
20984         tests: avoid test failure on Solaris 10 due to lack of PATH export
20985         * tests/test-update-copyright.sh: Don't forget to export PATH.
20986
20987         init.sh: ensure that IFS is defined, just in case...
20988         * tests/init.sh (setup_): Ensure that IFS is defined,
20989         so that saving and restoring it works as expected.  This
20990         appears to be useful at least for an old version of dash
20991         from a long time ago (RH 6).  See here for details:
20992         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
20993
20994         maint.mk: tighten "test a == b" check
20995         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
20996         test to files that contain something like #!/bin/sh.
20997         Without this, coreutils would get two false positives in
20998         the comments of C source files.
20999
21000 2010-11-12  Eric Blake  <eblake@redhat.com>
21001
21002         bootstrap: fix typo in previous attempt
21003         * build-aux/bootstrap (buildreq): Correct the grouping.
21004         Reported by Paul Eggert.
21005
21006         maintainer-makefile: prohibit test x == x
21007         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
21008         Based on a report by Matthias Bolte.
21009
21010         bootstrap: allow FreeBSD gzip
21011         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
21012         which has no '.' and goes to stderr.
21013         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
21014         Reported by Matthias Bolte.
21015
21016         maintainer-makefile: check for i18n setup
21017         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
21018         will likely work.
21019
21020 2010-11-12  Bruno Haible  <bruno@clisp.org>
21021
21022         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
21023         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
21024         * lib/nanosleep.c (nanosleep): Likewise.
21025
21026 2010-11-11  Bruno Haible  <bruno@clisp.org>
21027
21028         fcntl-h: Fix for use of C++ on glibc systems.
21029         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
21030         also on glibc systems in C++ mode.
21031         Reported by Gary V. Vaughan <gary@gnu.org>.
21032
21033 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21034
21035         mknod: avoid false failure with dash
21036         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
21037
21038 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
21039
21040         unlink: Fix "is it should" typo in diagnostic.
21041         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
21042         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
21043
21044 2010-11-11  Bruno Haible  <bruno@clisp.org>
21045
21046         Tests for module 'strerror_r-posix'.
21047         * modules/strerror_r-posix-tests: New file.
21048         * tests/test-strerror_r.c: New file.
21049         * tests/test-string-c++.cc: Check the signature of strerror_r.
21050
21051         New module 'strerror_r-posix'.
21052         * lib/string.in.h (strerror_r): New declaration.
21053         * lib/strerror_r.c: New file.
21054         * m4/strerror_r.m4: New file.
21055         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
21056         of strerror_r.
21057         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
21058         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
21059         * modules/strerror_r-posix: New file.
21060         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
21061         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
21062         * doc/posix-functions/strerror_r.texi: Mention the new module and the
21063         portability problems.
21064
21065 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
21066
21067         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
21068         line is also considered for output. Quoted function name in shell
21069         command, so temporary files for functions like MyClass::operator()
21070         are removed correctly without errors.
21071
21072 2010-11-09  Bruno Haible  <bruno@clisp.org>
21073
21074         * doc/posix-functions/strerror.texi: List more failing platforms.
21075
21076         * doc/posix-functions/strerror.texi: Add a comment.
21077
21078 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
21079
21080         fdopendir: fix bug on MacOS X when low on file descriptors
21081
21082         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
21083         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
21084         All callers changed.
21085         (fdopendir): Invoke save_cwd at the top level, not after using
21086         multiple dup() calls to use up file descriptors.  Then retry
21087         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
21088         less than the maximum number of open file descriptors, because
21089         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
21090         on Mac OS X 10.6.4 for tar 1.24
21091         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
21092         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
21093         and for tar 1.25
21094         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
21095
21096 2010-11-07  Bruno Haible  <bruno@clisp.org>
21097
21098         vasnprintf: Support I flag on glibc systems.
21099         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
21100         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
21101         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
21102         snprintf function.
21103         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
21104         glibc systems.
21105         * tests/test-vasnprintf-posix3.c: New file.
21106         * modules/vasnprintf-posix-tests (Files): Add it.
21107         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
21108
21109 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
21110
21111         [html] Fix copy/paste bug: Use unique name for compiler warnings.
21112         * MODULES.html.sh: For compiler warnings, use name
21113         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
21114
21115 2010-11-05  Eric Blake  <eblake@redhat.com>
21116
21117         ceil, floor: avoid spurious failure with icc
21118         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
21119         [denormals-as-zero] when optimizing without -mieee-fp option.
21120         * tests/test-floorf2.c (floorf_reference): Likewise.
21121         * tests/test-ceilf1.c (dummy): New function.
21122         (main): Use it to outsmart icc's optimization.
21123         * tests/test-floorf1.c (dummy, main): Likewise.
21124
21125         tests: require working signbit
21126         * modules/ceilf-tests (Depends-on): Add signbit.
21127         * modules/ceill-tests (Depends-on): Likewise.
21128         * modules/floorf-tests (Depends-on): Likewise.
21129         * modules/floorl-tests (Depends-on): Likewise.
21130         * modules/round-tests (Depends-on): Likewise.
21131         * modules/roundf-tests (Depends-on): Likewise.
21132         * modules/roundl-tests (Depends-on): Likewise.
21133         * modules/trunc-tests (Depends-on): Likewise.
21134         * modules/truncf-tests (Depends-on): Likewise.
21135         * modules/truncl-tests (Depends-on): Likewise.
21136
21137         strtod: work around icc bug
21138         * lib/strtod.c (minus_zero): Define to working value.
21139         (strtod): Use it to avoid icc bug.
21140
21141         copysign: enhance tests
21142         * modules/copysign-tests (Files): Add minus-zero.h.
21143         * tests/test-copysign.c (main): Also test zeros.
21144
21145 2010-11-04  Eric Blake  <eblake@redhat.com>
21146
21147         ceil, floor, round, trunc: enhance tests of -0
21148         * tests/test-ceilf1.c (main): Ensure correct sign of result.
21149         * tests/test-ceill.c (main): Likewise.
21150         * tests/test-floorf1.c (main): Likewise.
21151         * tests/test-floorl.c (main): Likewise.
21152         * tests/test-round1.c (main): Likewise.
21153         * tests/test-roundf1.c (main): Likewise.
21154         * tests/test-roundl.c (main): Likewise.
21155         * tests/test-trunc1.c (main): Likewise.
21156         * tests/test-truncf1.c (main): Likewise.
21157         * tests/test-truncl.c (main): Likewise.
21158
21159 2010-11-04  Eric Blake  <eblake@redhat.com>
21160
21161         frexp, tests: work around ICC bug with -zero
21162         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
21163         works with more compilers.
21164         * tests/minus-zero.h: New file.
21165         * modules/ceilf-tests (Files): Include it.
21166         * modules/ceill-tests (Files): Likewise.
21167         * modules/floorf-tests (Files): Likewise.
21168         * modules/floorl-tests (Files): Likewise.
21169         * modules/frexp-nolibm-tests (Files): Likewise.
21170         * modules/frexp-tests (Files): Likewise.
21171         * modules/frexpl-nolibm-tests (Files): Likewise.
21172         * modules/frexpl-tests (Files): Likewise.
21173         * modules/isnan-tests (Files): Likewise.
21174         * modules/isnand-nolibm-tests (Files): Likewise.
21175         * modules/isnand-tests (Files): Likewise.
21176         * modules/isnanf-nolibm-tests (Files): Likewise.
21177         * modules/isnanf-tests (Files): Likewise.
21178         * modules/isnanl-nolibm-tests (Files): Likewise.
21179         * modules/isnanl-tests (Files): Likewise.
21180         * modules/round-tests (Files): Likewise.
21181         * modules/roundf-tests (Files): Likewise.
21182         * modules/roundl-tests (Files): Likewise.
21183         * modules/ldexpl-tests (Files): Likewise.
21184         * modules/signbit-tests (Files): Likewise.
21185         * modules/snprintf-posix-tests (Files): Likewise.
21186         * modules/sprintf-posix-tests (Files): Likewise.
21187         * modules/strtod-tests (Files): Likewise.
21188         * modules/trunc-tests (Files): Likewise.
21189         * modules/truncf-tests (Files): Likewise.
21190         * modules/truncl-tests (Files): Likewise.
21191         * modules/vsnprintf-posix-tests (Files): Likewise.
21192         * modules/vsprintf-posix-tests (Files): Likewise.
21193         * modules/vasnprintf-posix-tests (Files): Likewise.
21194         * modules/vasprintf-posix-tests (Files): Likewise.
21195         * tests/test-ceilf1.c (main): Use it.
21196         * tests/test-ceill.c (main): Likewise.
21197         * tests/test-floorf1.c (main): Likewise.
21198         * tests/test-floorl.c (main): Likewise.
21199         * tests/test-frexp.c (main): Likewise.
21200         * tests/test-frexpl.c (main): Likewise.
21201         * tests/test-isnan.c (main): Likewise.
21202         * tests/test-isnand.h (main): Likewise.
21203         * tests/test-isnanf.h (main): Likewise.
21204         * tests/test-isnanl.h (main): Likewise.
21205         * tests/test-ldexpl.c (main): Likewise.
21206         * tests/test-round.c (main): Likewise.
21207         * tests/test-roundf.c (main): Likewise.
21208         * tests/test-roundl.c (main): Likewise.
21209         * tests/test-signbit.c (test_signbitf, test_signbitd)
21210         (test_signbitl): Likewise.
21211         * tests/test-snprintf-posix.h (test_function): Likewise.
21212         * tests/test-sprintf-posix.h (test_function): Likewise.
21213         * tests/test-strtod.c (main): Likewise.
21214         * tests/test-trunc1.c (main): Likewise.
21215         * tests/test-truncf1.c (main): Likewise.
21216         * tests/test-truncl.c (main): Likewise.
21217
21218         isnanl: work around icc bug
21219         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
21220
21221 2010-11-03  Eric Blake  <eblake@redhat.com>
21222
21223         tests: fix compiler warnings
21224         * tests/test-getopt.h (test_getopt): Fix condition.
21225         * tests/test-getopt_long.h (test_getopt_long): Likewise.
21226         * tests/test-pipe2.c (main): Likewise.
21227         * tests/test-quotearg-simple.c (main): Avoid icc warning.
21228
21229         utimens: fix broken m4 test
21230         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
21231
21232 2010-10-28  Bruno Haible  <bruno@clisp.org>
21233
21234         posix_spawn*, getdtablesize: Relax license.
21235         * modules/posix_spawn (License): Change to LGPLv2+.
21236         * modules/posix_spawnp (License): Likewise.
21237         * modules/posix_spawn-internal (License): Likewise.
21238         * modules/posix_spawnattr_init (License): Likewise.
21239         * modules/posix_spawnattr_getflags (License): Likewise.
21240         * modules/posix_spawnattr_setflags (License): Likewise.
21241         * modules/posix_spawnattr_getpgroup (License): Likewise.
21242         * modules/posix_spawnattr_setpgroup (License): Likewise.
21243         * modules/posix_spawnattr_getschedparam (License): Likewise.
21244         * modules/posix_spawnattr_setschedparam (License): Likewise.
21245         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
21246         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
21247         * modules/posix_spawnattr_getsigdefault (License): Likewise.
21248         * modules/posix_spawnattr_setsigdefault (License): Likewise.
21249         * modules/posix_spawnattr_getsigmask (License): Likewise.
21250         * modules/posix_spawnattr_setsigmask (License): Likewise.
21251         * modules/posix_spawnattr_destroy (License): Likewise.
21252         * modules/posix_spawn_file_actions_init (License): Likewise.
21253         * modules/posix_spawn_file_actions_addclose (License): Likewise.
21254         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
21255         * modules/posix_spawn_file_actions_addopen (License): Likewise.
21256         * modules/posix_spawn_file_actions_destroy (License): Likewise.
21257         * modules/getdtablesize (License): Likewise.
21258         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
21259
21260 2010-10-26  Bruno Haible  <bruno@clisp.org>
21261
21262         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
21263         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
21264         Cygwin and mingw.
21265         Suggested by Eric Blake.
21266
21267 2010-10-26  Bruno Haible  <bruno@clisp.org>
21268
21269         stdio: Work around compilation error due to renameat() on Solaris 10.
21270         * lib/stdio.in.h: Include <unistd.h> on Solaris.
21271         * lib/renameat.c: Don't include <unistd.h> here.
21272         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
21273         Reported by Paul Eggert and Eric Blake.
21274
21275 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
21276
21277         renameat: port to Solaris 10, which declares renameat in unistd.h
21278
21279         * lib/renameat.c: Include unistd.h before stdio.h, because
21280         Solaris 10 declares renameat in unistd.h.  Problem encountered
21281         when building GNU tar 1.24 on Solaris 10.
21282
21283 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21284
21285         fdopendir: fix C89 compilation
21286         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
21287         compilers.
21288
21289 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
21290
21291         inttostr: simplify by removing unnecessary redundancy
21292         * lib/anytostr.c: Don't include verify.h.
21293         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
21294         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
21295         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
21296         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
21297         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
21298         Likewise.
21299         * modules/inttostr (Depends-on): Remove 'verify'.
21300
21301 2010-10-23  Bruno Haible  <bruno@clisp.org>
21302
21303         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
21304         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
21305         Reported by Eric Blake.
21306
21307 2010-10-23  Bruno Haible  <bruno@clisp.org>
21308
21309         Tests: Fix LOCALE_JA on MirBSD 10.
21310         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
21311         to an UTF-8 locale.
21312         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
21313         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
21314         Reported by Eric Blake.
21315
21316 2010-10-21  Bruno Haible  <bruno@clisp.org>
21317
21318         nl_langinfo test: Avoid test failure on NetBSD 5.
21319         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
21320         Reported by Eric Blake.
21321
21322 2010-10-21  Eric Blake  <eblake@redhat.com>
21323
21324         c-stack: work around libsigsegv 2.8 bug
21325         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
21326         overflow on at least PowerPC64.
21327
21328 2010-10-17  Bruno Haible  <bruno@clisp.org>
21329
21330         userspec: Drop redundant file.
21331         * modules/userspec (Files): Remove lib/inttostr.h.
21332
21333 2010-10-17  Bruno Haible  <bruno@clisp.org>
21334
21335         nl_langinfo tests: Silence some warnings.
21336         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
21337         Reported by Jim Meyering.
21338
21339 2010-10-17  Bruno Haible  <bruno@clisp.org>
21340
21341         Make use of GCC's attribute __alloc_size__.
21342         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
21343         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
21344         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
21345         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
21346         __alloc_size__.
21347         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
21348         Suggested by Jim Meyering.
21349
21350 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
21351
21352         bootstrap: anchor .gitignore entries.
21353         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
21354         with...
21355         (insert_vc_ignore): ... this new function, which prepends `/' to
21356         all .gitignore entries before passing them to
21357         insert_sorted_if_absent.
21358
21359 2010-10-16  Bruno Haible  <bruno@clisp.org>
21360
21361         nextafter: Fix configure check.
21362         * modules/nextafter (configure.ac): Correct expected prototype.
21363
21364 2010-10-16  Bruno Haible  <bruno@clisp.org>
21365
21366         termios: Update documentation.
21367         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
21368
21369 2010-10-16  Bruno Haible  <bruno@clisp.org>
21370
21371         tests: Make them compile with TinyCC.
21372         * tests/test-strstr.c (main): Remove parentheses around array
21373         initializer.
21374
21375 2010-10-15  Eric Blake  <eblake@redhat.com>
21376
21377         ignore-value: make header idempotent
21378         * lib/ignore-value.h: Add double-inclusion guards.
21379         Reported by Stefan Berger.
21380
21381 2010-10-15  Jim Meyering  <meyering@redhat.com>
21382
21383         GNUmakefile: handle "stable" target, not "major"
21384         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
21385         lists in maint.mk and announce-gen.  Without this, "make stable"
21386         would fail to ensure that $(VERSION) is up to date.
21387
21388 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
21389
21390         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
21391         & co.
21392
21393 2010-10-14  Bruno Haible  <bruno@clisp.org>
21394
21395         vasnprintf: Don't set errno to 0.
21396         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
21397         block that sets it to 0.
21398         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
21399
21400 2010-10-14  Bruno Haible  <bruno@clisp.org>
21401
21402         socketlib: Fix.
21403         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
21404         gl_PREREQ_SYS_H_WINSOCK2.
21405         Reported by Ian Beckwith <ianb@erislabs.net>.
21406
21407 2010-10-13  Jim Meyering  <meyering@redhat.com>
21408
21409         test-select-stdin.c: avoid warn_unused_result warnings
21410         * tests/test-select-stdin.c: Include "macros.h".
21411         ASSERT that read and fflush succeed.
21412
21413 2010-10-13  Jim Meyering  <meyering@redhat.com>
21414
21415         git-version-gen: do require git-VC'd files in cwd
21416         * build-aux/git-version-gen: Reject a git version string
21417         if there are no commits associated with the current directory.
21418         This avoids an unlikely false-positive (unrelated dir whose parent
21419         repository also contains a tag matching v*), as pointed out
21420         by Giuseppe Scrivano in
21421         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
21422
21423 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
21424
21425         argv-iter: omit nonconforming declaration
21426         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
21427         enum arg_iter_err declaration, which doesn't conform to C99.
21428         Solaris 10 cc warns about this.
21429
21430 2010-10-13  Eric Blake  <eblake@redhat.com>
21431
21432         termios: fix compilation on mingw
21433         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
21434         (gl_TERMIOS_H): Adjust it on mingw.
21435         * modules/termios (Makefile.am): Substitute new key.
21436         * lib/termios.in.h (includes): Make include_next conditional.
21437         * doc/posix-headers/termios.texi (termios.h): Update
21438         documentation.
21439         Reported by Daniel P. Berrange.
21440
21441 2010-10-13  Jim Meyering  <meyering@redhat.com>
21442
21443         git-version-gen: don't require that .git/ be in the current dir
21444         * build-aux/git-version-gen: Adjust this script so that it works
21445         when run from any working directory beneath the top-level .git/-
21446         containing directory.  Inspired by a patch from Giuseppe Scrivano,
21447         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
21448
21449         test-select: avoid warn_unused_result warnings
21450         * tests/test-select.c: Include "macros.h".
21451         ASSERT that each call to read, write, and pipe succeeds.
21452         While not technically required, also check each "close".
21453         * modules/select-tests (Files): Add tests/macros.h.
21454
21455         test-symlinkat: remove declaration of unused local
21456         * tests/test-symlinkat.c (main): Remove unused local, "buf".
21457
21458         test-inttostr: avoid shadowing warnings
21459         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
21460         and use malloc rather than the stack for the same reason as
21461         mentioned in the comment justifying the other allocation.
21462
21463 2010-10-11  Bruno Haible  <bruno@clisp.org>
21464
21465         stdlib: Allow multiple gnulib generated replacements to coexist.
21466         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
21467         Reported by Sam Steingold <sds@gnu.org>.
21468
21469 2010-10-11  Jim Meyering  <meyering@redhat.com>
21470
21471         fix a documentation typo
21472         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
21473
21474 2010-10-11  Eric Blake  <eblake@redhat.com>
21475
21476         futimens: work around Solaris 11 bug
21477         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
21478         * tests/test-futimens.h (test_futimens): Enhance, rather than
21479         weaken test.
21480         * doc/posix-functions/futimens.texi (futimens): Document the bug.
21481
21482 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
21483
21484         Indentation.
21485         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
21486         higher-level operators more to the left.
21487
21488 2010-10-11  Jim Meyering  <meyering@redhat.com>
21489
21490         test-futimens: avoid unwarranted test failure on Solaris 5.11
21491         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
21492         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
21493         because it tries to dereference the NULL name argument.
21494
21495 2010-10-11  Bruno Haible  <bruno@clisp.org>
21496
21497         Indentation.
21498         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
21499         indentation.
21500
21501 2010-10-11  Jim Meyering  <meyering@redhat.com>
21502
21503         spawn.in.h: make indentation consistent with parentheses
21504         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
21505         Make indentation consistent with parentheses.
21506
21507 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
21508
21509         Fix mismatched parens in previous commit
21510         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
21511         parens.
21512
21513 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
21514
21515         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
21516
21517         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
21518         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
21519         * lib/malloca.c: Include "verify.h".
21520         (verify1): Remove, replacing with a verify call.
21521         * lib/relocwrapper.c (verify1): Likewise.
21522         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
21523         Likewise.
21524         * modules/malloca (Depends-on): Add 'verify'.
21525         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
21526         * modules/vasnprintf (Depends-on): Add 'verify'.
21527         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
21528         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
21529         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
21530         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
21531         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
21532         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
21533         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
21534
21535         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
21536
21537         Formerly the style was sometimes 2*X - 1, because the C standard
21538         was wrongly thought to disallow ?: in integral constant expressions.
21539         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
21540         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
21541         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
21542         * lib/stdint.in.h (_verify_intmax_size): Likewise.
21543         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
21544         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
21545         verify that time_t cannot be floating.
21546
21547 2010-10-08  Eric Blake  <eblake@redhat.com>
21548
21549         time: enforce recent POSIX ruling that time_t is integral
21550         * lib/time.in.h (__time_t_must_be_integral): Detect any
21551         problematic systems, allowing the rest of gnulib to assume POSIX.
21552
21553 2010-10-08  Jim Meyering  <meyering@redhat.com>
21554
21555         fdopendir: fix a bug on systems lacking openat and /proc support
21556         OpenBSD 4.7 is one such system.  The most noticeable effect was
21557         failure of any application making nontrivial use of fts: rm, du,
21558         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
21559           ./rm: traversal failed: `a': Bad file descriptor
21560         Debugging that, you see that even though FD 6 was closed just
21561         prior to the opendir call in fd_clone_opendir, its resulting
21562         dir->dd_fd was 8, rather than the expected value of 6:
21563
21564         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
21565         93                close (fd);
21566         (gdb) n
21567         94                dir = fd_clone_opendir (dupfd);
21568         (gdb) n
21569         95                saved_errno = errno;
21570         (gdb) p dir->dd_fd
21571         $11 = 8
21572
21573         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
21574         The problem is that on OpenBSD, fd_clone_opendir has to resort
21575         to using the old-style save/restore CWD mechanism, due to its
21576         lack of openat/proc support, and *that* would steal the FD (6)
21577         that opendir was supposed to use.
21578
21579         The fix is to squirrel away the desired FD so that save_cwd uses a
21580         different one, and then free the dest FD right before calling opendir.
21581         That guarantees opendir will use the required file descriptor.
21582
21583         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
21584
21585 2010-10-08  Bruno Haible  <bruno@clisp.org>
21586
21587         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
21588         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
21589
21590 2010-10-08  Bruno Haible  <bruno@clisp.org>
21591
21592         nanosleep: Make replacement POSIX compliant.
21593         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
21594         is out of range.
21595         Reported by Jim Meyering.
21596
21597 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
21598
21599         bootstrap: add hook for altering gnulib.mk, for Bison
21600         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
21601         the Bison bootstrapping process can rewrite file names and variables
21602         in this file before later parts of 'bootstrap' use the file.
21603         Bison wants to include lib/gnulib.mk from the top-level makefile,
21604         so it needs the file names in this file to be relative to the top
21605         level, not relative to lib; plus it needs variable names to be
21606         rewritten.
21607         (slurp): Use the new function.
21608
21609         bootstrap: reformat for readability
21610         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
21611
21612 2010-10-08  Eric Blake  <eblake@redhat.com>
21613
21614         docs: update cygwin progress
21615         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
21616         1.7.7.
21617         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
21618         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
21619         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
21620         * doc/posix-functions/carg.texi (carg): Likewise.
21621         * doc/posix-functions/cargf.texi (cargf): Likewise.
21622         * doc/posix-functions/casin.texi (casin): Likewise.
21623         * doc/posix-functions/casinf.texi (casinf): Likewise.
21624         * doc/posix-functions/casinh.texi (casinh): Likewise.
21625         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
21626         * doc/posix-functions/catan.texi (catan): Likewise.
21627         * doc/posix-functions/catanf.texi (catanf): Likewise.
21628         * doc/posix-functions/catanh.texi (catanh): Likewise.
21629         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
21630         * doc/posix-functions/ccos.texi (ccos): Likewise.
21631         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
21632         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
21633         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
21634         * doc/posix-functions/cexp.texi (cexp): Likewise.
21635         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
21636         * doc/posix-functions/cimag.texi (cimag): Likewise.
21637         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
21638         * doc/posix-functions/clog.texi (clog): Likewise.
21639         * doc/posix-functions/clogf.texi (clogf): Likewise.
21640         * doc/posix-functions/conj.texi (conj): Likewise.
21641         * doc/posix-functions/conjf.texi (conjf): Likewise.
21642         * doc/posix-functions/cpow.texi (cpow): Likewise.
21643         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
21644         * doc/posix-functions/cproj.texi (cproj): Likewise.
21645         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
21646         * doc/posix-functions/creal.texi (creal): Likewise.
21647         * doc/posix-functions/crealf.texi (crealf): Likewise.
21648         * doc/posix-functions/csin.texi (csin): Likewise.
21649         * doc/posix-functions/csinf.texi (csinf): Likewise.
21650         * doc/posix-functions/csinh.texi (csinh): Likewise.
21651         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
21652         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
21653         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
21654         * doc/posix-functions/ctan.texi (ctan): Likewise.
21655         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
21656         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
21657         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
21658         * doc/posix-headers/complex.texi (complex.h): Likewise.
21659
21660 2010-10-07  Jim Meyering  <meyering@redhat.com>
21661
21662         parse-datetime: avoid compilation failure on OpenBSD 4.7
21663         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
21664         This works around a compilation failure on OpenBSD 4.7:
21665         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
21666
21667 2010-10-07  Eric Blake  <eblake@redhat.com>
21668
21669         docs: update cygwin progress
21670         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
21671         1.7.6.
21672         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
21673         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
21674         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
21675         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
21676         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
21677         Likewise.
21678         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
21679         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
21680         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
21681         Likewise.
21682         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
21683         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
21684         Likewise.
21685         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
21686         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
21687         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
21688         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
21689         Likewise.
21690         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
21691         Likewise.
21692         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
21693
21694         docs: update parse-datetime history
21695         * doc/parse-datetime.texi (Authors of parse_datetime): Better
21696         documentation of this function's history and alternatives.
21697
21698         cygwin: use more robust version check
21699         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
21700         exclude an eventual cygwin 1.9.1.
21701         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
21702         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
21703         (gl_FUNC_STRCASESTR): Likewise.
21704         Reported by Bruno Haible.
21705
21706 2010-10-06  Bruno Haible  <bruno@clisp.org>
21707
21708         string, sys_select: Avoid #including large headers unless necessary.
21709         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
21710         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
21711         OSF/1, BeOS, Haiku.
21712         Reported by Jim Meyering.
21713
21714 2010-10-05  Eric Blake  <eblake@redhat.com>
21715
21716         memmem, strstr, strcasestr: fix bug with long periodic needle
21717         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
21718         periodic needle having false positive.
21719         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
21720         and cygwin 1.7.7.
21721         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
21722         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
21723         (gl_FUNC_STRCASESTR): Likewise.
21724         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
21725         * tests/test-memmem.c (main): Expose the bug.
21726         * tests/test-strcasestr.c (main): Likewise.
21727         * tests/test-strstr.c (main): Likewise.
21728         * tests/test-c-strcasestr.c (main): Likewise.
21729         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
21730         * doc/posix-functions/strstr.texi (strstr): Likewise.
21731         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
21732         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
21733
21734 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
21735
21736         parse-datetime: do some more renaming
21737         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
21738         parse_datetime, not get_date.  Mention the renaming.
21739         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
21740         in comments.
21741         * m4/bison.m4: Likewise.
21742
21743 2010-10-05  Eric Blake  <eblake@redhat.com>
21744
21745         parse-datetime: better name than get_date
21746         * NEWS: Reword the deprecation notice.
21747         * modules/get_date: Rename to modules/parse-datetime.
21748         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
21749         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
21750         * lib/get_date.y: Rename to lib/parse-datetime.y.
21751         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
21752         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
21753         * doc/getdate.texi: Provide fallback wrapper.
21754         * lib/getdate.h: Move guts, and wrap...
21755         * lib/parse-datetime.h: ...new file.
21756         * lib/parse-datetime.y (get_date): Rename...
21757         (parse_datetime): ...to this.
21758         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
21759         (gl_PARSE_DATETIME): ...to this.
21760         * doc/posix-functions/getdate.texi (get_date): Provide fallback
21761         documentation.
21762         * modules/getdate (Files): Provide fallback docs and header.
21763         (Notice, Depends-on): Update references.
21764         * tests/test-parse-datetime.c: Likewise.
21765         * DEPENDENCIES: Likewise.
21766         * MODULES.html.sh (Date and time <time.h>): Likewise.
21767         * doc/parse-datetime.texi (Date input formats)
21768         (Authors of parse_datetime): Likewise.
21769         * modules/parse-datetime (Files, configure.ac, Makefile.am)
21770         (Include): Likewise.
21771         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
21772         * gnulib-tool: Likewise.
21773         * m4/bison.m4 (gl_BISON): Likewise.
21774         Suggested by Bruno Haible.
21775
21776 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
21777
21778         more ports to Solaris tr, which needs [] around ranges
21779         * gnulib-tool: Solaris tr needs [] around ranges.
21780         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
21781         * tests/test-pipe-filter-gi1.c (main): Likewise.
21782         * tests/test-pipe-filter-ii1.c (main): Likewise.
21783
21784 2010-10-05  Eric Blake  <eblake@redhat.com>
21785
21786         bootstrap: fix Solaris regression
21787         * build-aux/bootstrap (check_versions): Solaris tr still needs []
21788         around ranges.
21789         Reported by Pádraig Brady.
21790
21791         bootstrap: work with pkg-config
21792         * build-aux/bootstrap (check_versions): Also transliterate - in
21793         prerequisite name.
21794         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
21795         prerequisites that were already found, to avoid confusion.
21796         Reported by Justin Clift.
21797
21798         faccessat: remove unused wrappers
21799         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
21800         presence of these wrappers dragged in -lgen on Solaris.
21801         Reported by Clemens Brogi; fix suggested by Paul Eggert.
21802
21803 2010-10-05  Jim Meyering  <meyering@redhat.com>
21804
21805         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
21806         * Makefile (sc_pragma_columns): New syntax-check rule.
21807
21808 2010-10-04  Bruno Haible  <bruno@clisp.org>
21809
21810         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
21811         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
21812         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
21813         Reported by Bruce Korb and Eric Blake.
21814
21815 2010-10-04  Bruno Haible  <bruno@clisp.org>
21816
21817         threadlib: Make option --with-libpth-prefix work.
21818         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
21819         use $LIBPTH, not just -lpth.
21820
21821 2010-10-04  Bruno Haible  <bruno@clisp.org>
21822
21823         Avoid line length limitation from HP NonStop system header files.
21824         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
21825         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
21826         * lib/ctype.in.h: Likewise.
21827         * lib/dirent.in.h: Likewise.
21828         * lib/errno.in.h: Likewise.
21829         * lib/fcntl.in.h: Likewise.
21830         * lib/float.in.h: Likewise.
21831         * lib/getopt.in.h: Likewise.
21832         * lib/iconv.in.h: Likewise.
21833         * lib/inttypes.in.h: Likewise.
21834         * lib/langinfo.in.h: Likewise.
21835         * lib/locale.in.h: Likewise.
21836         * lib/math.in.h: Likewise.
21837         * lib/netdb.in.h: Likewise.
21838         * lib/netinet_in.in.h: Likewise.
21839         * lib/poll.in.h: Likewise.
21840         * lib/pthread.in.h: Likewise.
21841         * lib/pty.in.h: Likewise.
21842         * lib/sched.in.h: Likewise.
21843         * lib/se-selinux.in.h: Likewise.
21844         * lib/search.in.h: Likewise.
21845         * lib/signal.in.h: Likewise.
21846         * lib/spawn.in.h: Likewise.
21847         * lib/stdarg.in.h: Likewise.
21848         * lib/stddef.in.h: Likewise.
21849         * lib/stdint.in.h: Likewise.
21850         * lib/stdio.in.h: Likewise.
21851         * lib/stdlib.in.h: Likewise.
21852         * lib/string.in.h: Likewise.
21853         * lib/strings.in.h: Likewise.
21854         * lib/sys_file.in.h: Likewise.
21855         * lib/sys_ioctl.in.h: Likewise.
21856         * lib/sys_select.in.h: Likewise.
21857         * lib/sys_socket.in.h: Likewise.
21858         * lib/sys_stat.in.h: Likewise.
21859         * lib/sys_time.in.h: Likewise.
21860         * lib/sys_times.in.h: Likewise.
21861         * lib/sys_utsname.in.h: Likewise.
21862         * lib/sys_wait.in.h: Likewise.
21863         * lib/sysexits.in.h: Likewise.
21864         * lib/termios.in.h: Likewise.
21865         * lib/time.in.h: Likewise.
21866         * lib/unistd.in.h: Likewise.
21867         * lib/wchar.in.h: Likewise.
21868         * lib/wctype.in.h: Likewise.
21869         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
21870         * modules/ctype (Makefile.am): Likewise.
21871         * modules/dirent (Makefile.am): Likewise.
21872         * modules/errno (Makefile.am): Likewise.
21873         * modules/fcntl-h (Makefile.am): Likewise.
21874         * modules/float (Makefile.am): Likewise.
21875         * modules/getopt-posix (Makefile.am): Likewise.
21876         * modules/iconv-h (Makefile.am): Likewise.
21877         * modules/inttypes (Makefile.am): Likewise.
21878         * modules/langinfo (Makefile.am): Likewise.
21879         * modules/locale (Makefile.am): Likewise.
21880         * modules/math (Makefile.am): Likewise.
21881         * modules/netdb (Makefile.am): Likewise.
21882         * modules/netinet_in (Makefile.am): Likewise.
21883         * modules/poll-h (Makefile.am): Likewise.
21884         * modules/pthread (Makefile.am): Likewise.
21885         * modules/pty (Makefile.am): Likewise.
21886         * modules/sched (Makefile.am): Likewise.
21887         * modules/search (Makefile.am): Likewise.
21888         * modules/selinux-h (Makefile.am): Likewise.
21889         * modules/signal (Makefile.am): Likewise.
21890         * modules/spawn (Makefile.am): Likewise.
21891         * modules/stdarg (Makefile.am): Likewise.
21892         * modules/stddef (Makefile.am): Likewise.
21893         * modules/stdint (Makefile.am): Likewise.
21894         * modules/stdio (Makefile.am): Likewise.
21895         * modules/stdlib (Makefile.am): Likewise.
21896         * modules/string (Makefile.am): Likewise.
21897         * modules/strings (Makefile.am): Likewise.
21898         * modules/sys_file (Makefile.am): Likewise.
21899         * modules/sys_ioctl (Makefile.am): Likewise.
21900         * modules/sys_select (Makefile.am): Likewise.
21901         * modules/sys_socket (Makefile.am): Likewise.
21902         * modules/sys_stat (Makefile.am): Likewise.
21903         * modules/sys_time (Makefile.am): Likewise.
21904         * modules/sys_times (Makefile.am): Likewise.
21905         * modules/sys_utsname (Makefile.am): Likewise.
21906         * modules/sys_wait (Makefile.am): Likewise.
21907         * modules/sysexits (Makefile.am): Likewise.
21908         * modules/termios (Makefile.am): Likewise.
21909         * modules/time (Makefile.am): Likewise.
21910         * modules/unistd (Makefile.am): Likewise.
21911         * modules/wchar (Makefile.am): Likewise.
21912         * modules/wctype (Makefile.am): Likewise.
21913
21914 2010-10-04  Bruno Haible  <bruno@clisp.org>
21915
21916         read-file tests: Avoid a test failure on NonStop Kernel.
21917         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
21918         a regular file.
21919         Reported by Joachim Schmitz <schmitz@hp.com>.
21920
21921 2010-10-03  Bruno Haible  <bruno@clisp.org>
21922
21923         gnulib-tool: Fixes for --create-testdir with --libtool.
21924         * gnulib-tool (func_get_automake_snippet): Don't augment
21925         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
21926         an executable.
21927         (func_create_testdir): Handle module 'alloca' like func_import.
21928         Reported by Bruce Korb <bruce.korb@gmail.com>.
21929
21930 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
21931
21932         Avoid some lines longer than 80 characters.
21933         * lib/stdint.in.h: Break long comment lines.
21934         * lib/math.in.h: Likewise.
21935         (_GL_NUM_UINT_WORDS): New macro, for readability.
21936         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
21937         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
21938         * lib/stdlib.in.h: Likewise.
21939         * lib/spawn.in.h: Likewise.
21940         * lib/sys_socket.in.h: Update an URL.
21941         * lib/sys_stat.in.h: Break long line.
21942
21943 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
21944
21945         Improve pmccabe2html.
21946         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
21947         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
21948         when the sources change. Remove the line in the HTML about "Used
21949         ranges" (which implied that there might be other unused ranges),
21950         rename "Resume" to "Summary" (easier to understand for more users).
21951         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
21952         styles, and some unnecessary blank lines.
21953
21954 2010-10-03  Bruno Haible  <bruno@clisp.org>
21955             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
21956
21957         acl: Add support for ACLs on NonStop Kernel.
21958         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
21959         Check whether the function aclsort() exists.
21960         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
21961         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
21962         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
21963         (acl_nontrivial [HAVE_ACLSORT]: New function.
21964         (file_has_acl): Implement for NonStop Kernel.
21965         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
21966         (qset_acl): Implement for NonStop Kernel.
21967         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
21968         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
21969         (main): Implement for NonStop Kernel.
21970         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
21971         Kernel. Handle this flavor.
21972         * tests/test-set-mode-acl.sh: Likewise.
21973         * tests/test-copy-acl.sh: Likewise.
21974         * tests/test-copy-file.sh: Likewise.
21975
21976 2010-10-03  Bruno Haible  <bruno@clisp.org>
21977
21978         Info about ACLs on NonStop Kernel.
21979         * doc/acl-resources.txt: Add info about NonStop Kernel.
21980         References by Joachim Schmitz <schmitz@hp.com>.
21981
21982 2010-10-02  Bruno Haible  <bruno@clisp.org>
21983
21984         Define missing EDQUOT on NonStop Kernel.
21985         * lib/errno.in.h (EDQUOT): Assign a value if missing.
21986         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
21987         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
21988         missing.
21989         * doc/posix-headers/errno.texi: Mention the NSK bug.
21990         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
21991         Reported by Joachim Schmitz <schmitz@hp.com>.
21992
21993 2010-10-02  Bruno Haible  <bruno@clisp.org>
21994
21995         Update doc for POSIX:2008.
21996         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
21997         Update URL of POSIX specification.
21998
21999 2010-10-02  Bruno Haible  <bruno@clisp.org>
22000
22001         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
22002         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
22003         from gnulib, not from Automake.
22004
22005 2010-10-02  Bruno Haible  <bruno@clisp.org>
22006
22007         New module 'system-posix'.
22008         * modules/system-posix: New file.
22009         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
22010         module is present.
22011         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
22012         GNULIB_SYSTEM_POSIX.
22013         * modules/stdlib (Depends-on): Remove sys_wait.
22014         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
22015         * doc/posix-functions/system.texi: Mention the new module.
22016         * doc/posix-headers/stdlib.texi: Likewise.
22017         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
22018         define test_sys_wait_macros to a no-op.
22019         Reported by Sam Steingold <sds@gnu.org>.
22020
22021 2010-09-30  Bruno Haible  <bruno@clisp.org>
22022
22023         More renaming from 'getdate' to 'get_date'.
22024         * doc/get_date.texi: Renamed from doc/getdate.texi.
22025         * modules/get_date (Files): Update.
22026         * MODULES.html.sh (Date and time <time.h>): Update.
22027         * DEPENDENCIES: Update.
22028         * gnulib-tool: Update comment.
22029         * m4/bison.m4 (gl_BISON): Likewise.
22030         * m4/get_date.m4 (gl_GET_DATE): Likewise.
22031
22032 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
22033
22034         bootstrap: support ACLOCAL_FLAGS during aclocal
22035         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
22036         can add additional -I dir for third-party .m4 files.
22037
22038 2010-09-30  Eric Blake  <eblake@redhat.com>
22039
22040         bootstrap: use glibtoolize on MacOS
22041         * build-aux/bootstrap (check_versions): Convert libtool into
22042         libtoolize.
22043         (tool search): Move libtool check earlier, and look for
22044         glibtoolize for MacOS.
22045         (gnulib_tool_options): Auto-add --libtool when appropriate.
22046         Reported by Justin Clift.
22047
22048         poll: fix typo that broke test on MacOS
22049         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
22050         Reported by Justin Clift.
22051
22052         getdate: rename to get_date
22053         Note: getdate.h is not renamed, to minimize client impact.
22054         * modules/getdate: Mark obsolete.  Move old contents...
22055         * modules/get_date: ...to new module name.
22056         * modules/getdate-tests: Move...
22057         * modules/get_date-tests: ...here.
22058         * m4/getdate.m4: Move...
22059         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
22060         * lib/getdate.y: Move...
22061         * lib/get_date.y: ...here.
22062         * tests/test-getdate.c: Move...
22063         * tests/test-get_date.c: ...here.
22064         * doc/posix-functions/getdate.texi (getdate): Update name.
22065         * NEWS: Mention the change.
22066
22067 2010-09-29  Bruno Haible  <bruno@clisp.org>
22068
22069         Separate the module 'waitpid' from the module 'sys_wait'.
22070         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
22071         present.
22072         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
22073         gl_MODULE_INDICATOR_FOR_TESTS.
22074         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
22075         * modules/sys_wait (Depends-on): Remove waitpid.
22076         (Makefile.am): Substitute GNULIB_WAITPID.
22077         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
22078         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
22079         signature only if the 'waitpid' module is present.
22080         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
22081         * NEWS: Mention the change.
22082         * modules/grantpt (Depends-on): Add waitpid.
22083         * modules/wait-process (Depends-on): Likewise.
22084
22085 2010-09-29  Bruno Haible  <bruno@clisp.org>
22086
22087         More tests for module 'sys_wait'.
22088         * modules/sys_wait-c++-tests: New file.
22089         * tests/test-sys_wait-c++.cc: New file.
22090         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
22091         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
22092
22093 2010-09-29  Bruno Haible  <bruno@clisp.org>
22094
22095         New module 'waitpid'.
22096         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
22097         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
22098         Don't include <process.h>.
22099         (waitpid): Declare only, using modern idiom.
22100         * m4/waitpid.m4: New file.
22101         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
22102         * modules/waitpid: New file.
22103         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
22104         (Makefile.am): Update.
22105         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
22106
22107 2010-09-28  Bruno Haible  <bruno@clisp.org>
22108
22109         poll: Assume ANSI C.
22110         * lib/poll.c (poll): Use an ANSI C declaration.
22111
22112 2010-09-28  Bruno Haible  <bruno@clisp.org>
22113
22114         poll-h: Create poll.h on all platforms.
22115         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
22116         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
22117         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
22118         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
22119         (gl_REPLACE_POLL_H): Don't set POLL_H.
22120         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
22121         * modules/poll-h (Depends-on): Add include_next.
22122         (Makefile.am): Create poll.h unconditionally. Substitute also
22123         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
22124
22125 2010-09-28  Bruno Haible  <bruno@clisp.org>
22126
22127         Tests for module 'poll-h'.
22128         * modules/poll-h-c++-tests: New file.
22129         * tests/test-poll-h-c++.cc: New file.
22130
22131         Tests for module 'poll-h'.
22132         * modules/poll-h-tests: New file.
22133         * tests/test-poll-h.c: New file.
22134
22135 2010-09-28  Bruno Haible  <bruno@clisp.org>
22136
22137         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
22138         * modules/poll-h (Depends-on): Add 'extensions'.
22139
22140 2010-09-28  Bruno Haible  <bruno@clisp.org>
22141
22142         New module 'poll-h'.
22143         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
22144         (poll): Use modern idiom.
22145         * modules/poll-h: New file.
22146         * modules/poll (Files): Remove lib/poll.in.h.
22147         (Depends-on): Add poll-h.
22148         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
22149         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
22150         * m4/poll_h.m4: New file.
22151         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
22152         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
22153         and invoke gl_REPLACE_POLL_H.
22154         * lib/poll.c: Use common idiom.
22155         * tests/test-poll.c: Likewise.
22156         * doc/posix-headers/poll.texi: Mention the poll-h module.
22157         Suggested by Eric Blake.
22158
22159 2010-09-26  Bruno Haible  <bruno@clisp.org>
22160
22161         sys_wait: Implement WSTOPSIG.
22162         * lib/sys_wait.in.h (WSTOPSIG): New macro.
22163         Reported by Simon Josefsson.
22164
22165 2010-09-26  Simon Josefsson  <simon@josefsson.org>
22166
22167         stdlib, sys_wait: Avoid compilation error on mingw.
22168         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
22169
22170 2010-09-26  Bruno Haible  <bruno@clisp.org>
22171
22172         stdlib tests: Avoid code duplication.
22173         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
22174         * modules/sys_wait-tests (Files): Likewise.
22175         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
22176         * tests/test-stdlib.c: Include test-sys_wait.h.
22177         (main): Invoke test_sys_wait_macros.
22178         * tests/test-sys_wait.c: Include test-sys_wait.h.
22179         (main): Invoke test_sys_wait_macros.
22180
22181 2010-09-25  Simon Josefsson  <simon@josefsson.org>
22182
22183         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
22184         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
22185         sure Windows sockets are working before calling getaddrinfo.
22186         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
22187         * doc/gnulib.texi (Windows sockets): Fix typo.
22188
22189 2010-09-25  Bruno Haible  <bruno@clisp.org>
22190
22191         Tests for module 'regex-quote'.
22192         * modules/regex-quote-tests: New file.
22193         * tests/test-regex-quote.c: New file.
22194
22195         New module 'regex-quote'.
22196         * lib/regex-quote.h: New file.
22197         * lib/regex-quote.c: New file.
22198         * modules/regex-quote: New file.
22199         Suggested by Reuben Thomas <rrt@sc3d.org>.
22200
22201 2010-09-24  Bruno Haible  <bruno@clisp.org>
22202
22203         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
22204         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
22205
22206 2010-09-23  Bruno Haible  <bruno@clisp.org>
22207
22208         setenv: Relax license.
22209         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
22210         Blake.
22211         Requested by Eric Blake.
22212
22213 2010-09-22  Bruno Haible  <bruno@clisp.org>
22214
22215         termios: Relax license.
22216         * modules/termios (License): Change to LGPLv2+.
22217         Requested by Eric Blake.
22218
22219 2010-09-22  Bruno Haible  <bruno@clisp.org>
22220
22221         threadlib: Allow the package to change the default to 'no'.
22222         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
22223         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
22224         Reported by Paul Eggert.
22225
22226 2010-09-22  Pádraig Brady  <P@draigbrady.com>
22227             Bruno Haible  <bruno@clisp.org>
22228
22229         Fix endless loop in mbmemcasecoll.
22230         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
22231         byte.
22232         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
22233
22234 2010-09-22  Bruno Haible  <bruno@clisp.org>
22235
22236         Tests for module 'memcoll'.
22237         * modules/memcoll-tests: New file.
22238         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
22239
22240         memcoll, xmemcoll: Clarify size vs. length.
22241         * modules/memcoll.c (memcoll0): Clarify specification.
22242         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
22243         passed to collate_error.
22244
22245 2010-09-22  Bruno Haible  <bruno@clisp.org>
22246
22247         Tests for module 'memcasecmp'.
22248         * modules/memcasecmp-tests: New file.
22249         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
22250
22251 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
22252
22253         * lib/pthread.in.h: Add split double-inclusion guard, and include
22254         system <pthread.h> if there is one.  Use @@-style as in other
22255         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
22256         pthread.h doesn't.
22257         (pthread_mutexattr_destroy, pthread_mutexattr_init):
22258         (pthread_mutexattr_settype, pthread_mutex_trylock):
22259         New static inline functions, if there's no system <pthread.h>.
22260         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
22261         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
22262         Approximate with mutexes if the system lacks spinlocks, as in
22263         MacOS.
22264         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
22265         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
22266         @@-style.  Check for spinlocks separately.
22267         (gl_PTHREAD_DEFAULTS): New macro.
22268         * modules/pthread: Redo to use a more typical style for in.h files.
22269
22270 2010-09-21  Eric Blake  <eblake@redhat.com>
22271
22272         net_if: enhance tests
22273         * tests/test-net_if.c (main): Move signature checks earlier.
22274         Print failures to stderr.
22275         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
22276         Document the bug that we do not yet fix.
22277
22278 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
22279
22280         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
22281         about gnulib, not GSS.
22282
22283 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
22284
22285         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
22286         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
22287         for Emacs.
22288         * build-aux/pmccabe2html: Make Makefile.am example code more
22289         cut-and-paste friendly.
22290
22291 2010-09-21  Simon Josefsson  <simon@josefsson.org>
22292
22293         * tests/test-net_if.c: New file.
22294         * modules/net_if-tests: New file.
22295
22296 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
22297
22298         pthread: add pthread_spin_destroy
22299         * lib/pthread.in.h (pthread_spin_destroy): New function.
22300
22301 2010-09-19  Bruno Haible  <bruno@clisp.org>
22302
22303         gnulib-tool: Fix --help output.
22304         * gnulib-tool (func_usage): Fix help message.
22305         Reported by Reuben Thomas <rrt@sc3d.org>.
22306
22307 2010-09-18  Jim Meyering  <meyering@redhat.com>
22308
22309         maint.mk: avoid unexpanded \n in two diagnostics
22310         * top/maint.mk (sc_prohibit_always_true_header_tests):
22311         Don't use a literal \n in a halt=... assignment.  It would not be
22312         expanded, and the two \n bytes would appear in the diagnostic output
22313         rather than the desired newline.  Use halt=$$(printf ... instead.
22314         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
22315
22316 2010-09-18  Bruno Haible  <bruno@clisp.org>
22317
22318         netinet_in: Doc tweak.
22319         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
22320         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22321
22322 2010-09-18  Jim Meyering  <meyering@redhat.com>
22323
22324         init.sh: correct an outdated comment
22325         * tests/init.sh (create_exe_shims_):  s/function/alias/
22326
22327         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
22328         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
22329         a file named "*.exe" is removed between the glob expansion and the
22330         processing of that oddly named file.
22331
22332 2010-09-17  Eric Blake  <eblake@redhat.com>
22333
22334         mirbsd: add some more support
22335         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
22336         in BSD family.
22337         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
22338         devices as OpenBSD.
22339         * m4/host-os.m4 (mirbsd): Add MirBSD.
22340
22341         tests: fix unportable assumption on sys/wait.h
22342         * tests/test-sys_wait.c (main): Relax test.
22343         * tests/test-stdlib.c (main): Likewise.
22344
22345         init.sh: accomodate directory with no .exes
22346         * tests/init.sh: Accomodate directory containing only scripts.
22347
22348         tests: avoid compiler warning
22349         * tests/test-stdlib.c (main): Use the variable.
22350
22351         fdutimens, fdutimensat: update signature, again
22352         * lib/utimens.h (gl_futimens): Delete, and move signature...
22353         (fdutimens): ...here.
22354         (fdutimensat): Rearrange signature.
22355         (lutimensat): Rename variable for clarity.
22356         * lib/fdutimensat.c (fdutimensat): Update signature.
22357         * lib/utimens.c (fdutimens): Likewise.
22358         (gl_futimens): Delete.
22359         (utimens, lutimens): Update callers.
22360         * lib/futimens.c (futimens): Likewise.
22361         * tests/test-fdutimensat.c: Likewise.
22362         * tests/test-utimens.c: Likewise.
22363         * tests/test-futimens.h: Update comment.
22364         * NEWS: Mention this.
22365         Suggested by Paul Eggert.
22366
22367 2010-09-17  Bruno Haible  <bruno@clisp.org>
22368
22369         Take over the maintenance of some older macros from Autoconf.
22370         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
22371         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
22372         GNU Autoconf.
22373         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
22374         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
22375
22376 2010-09-17  Eric Blake  <eblake@redhat.com>
22377
22378         fdutimensat: drop atflag validation
22379         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
22380         with valid fd, to close a race scenario where futimens is
22381         unsupported and FILE was replaced by a symlink.
22382         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
22383         accordingly.
22384         Suggested by Paul Eggert.
22385
22386 2010-09-16  Bruno Haible  <bruno@clisp.org>
22387
22388         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
22389         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
22390
22391 2010-09-16  Bruno Haible  <bruno@clisp.org>
22392
22393         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
22394         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
22395         login_tty exists.
22396         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22397
22398 2010-09-16  Bruno Haible  <bruno@clisp.org>
22399
22400         login_tty: Make the replacement code work on BSD systems.
22401         * lib/login_tty.c: Include <sys/ioctl.h>.
22402         (login_tty): Use ioctl TIOCSCTTY when available.
22403         * modules/login_tty (Depends-on): Add sys_ioctl.
22404         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22405
22406 2010-09-16  Bruno Haible  <bruno@clisp.org>
22407
22408         login_tty: Stricter unit test.
22409         * modules/login_tty-tests (Depends-on): Add tcgetsid.
22410         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
22411         and tcgetsid() after login_tty.
22412         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22413
22414 2010-09-16  Bruno Haible  <bruno@clisp.org>
22415
22416         New module 'tcgetsid'.
22417         * lib/tcgetsid.c: New file.
22418         * m4/tcgetsid.m4: New file.
22419         * modules/tcgetsid: New file.
22420         * modules/termios (Depends-on): Add c++defs, warn-on-use.
22421         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
22422         GNULIB_TCGETSID, HAVE_TCGETSID.
22423         * lib/termios.in.h: Include <sys/types.h>.
22424         (tcgetsid): New declaration.
22425         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
22426         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
22427         * doc/posix-functions/tcgetsid.texi: Mention the new module.
22428         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
22429
22430 2010-09-16  Bruno Haible  <bruno@clisp.org>
22431
22432         Tests for module 'termios'.
22433         * modules/termios-c++-tests: New file.
22434         * modules/termios-tests: New file.
22435         * tests/test-termios-c++.cc: New file.
22436         * tests/test-termios.c: New file.
22437
22438         New module 'termios'.
22439         * modules/termios: New file.
22440         * lib/termios.in.h: New file.
22441         * m4/termios_h.m4: New file.
22442         * doc/posix-headers/termios.texi: Mention the new module.
22443
22444 2010-09-16  Eric Blake  <eblake@redhat.com>
22445
22446         fdutimensat: add an atflag parameter
22447         * lib/fdutimensat.c (fdutimensat): Add new parameter.
22448         * lib/utimens.h (fdutimensat): Update prototype.
22449         * tests/test-fdutimensat.c: Adjust test to match.
22450         * NEWS: Document the change.
22451         Suggested by Paul Eggert.
22452
22453 2010-09-16  Bruno Haible  <bruno@clisp.org>
22454
22455         Fix typos in comments.
22456         * lib/striconveh.h: Fix typo in comment.
22457         * lib/login_tty.c (login_tty): Likewise.
22458
22459 2010-09-15  Bruno Haible  <bruno@clisp.org>
22460
22461         stdlib: clarify MirBSD WEXITSTATUS bug
22462         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
22463         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
22464
22465 2010-09-15  Eric Blake  <eblake@redhat.com>
22466
22467         stdlib: work around MirBSD WEXITSTATUS bug
22468         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
22469         * modules/stdlib (Depends-on): Add sys_wait.
22470         * tests/test-sys_wait.c (main): Enhance test.
22471         * tests/test-stdlib.c (main): Likewise.
22472         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
22473
22474         docs: mention MacOS issue with WEXITSTATUS(constant)
22475         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
22476         issue.
22477         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
22478
22479         strnlen: add tests
22480         * modules/strnlen-tests: New file.
22481         * tests/test-strnlen.c: Likewise.
22482
22483 2010-09-14  Bruno Haible  <bruno@clisp.org>
22484
22485         unistr/base: Avoid link errors when module 'libunistring' is also used.
22486         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
22487         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
22488         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
22489         Declare also when HAVE_LIBUNISTRING is set.
22490         Reported by Pádraig Brady <P@draigbrady.com>.
22491
22492 2010-09-14  Eric Blake  <eblake@redhat.com>
22493
22494         test-rawmemchr: make more robust
22495         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
22496         (Depends-on, configure.ac): Add needed prerequisites to use it.
22497         * modules/memchr-tests (Files, Depends-on, configure.ac):
22498         Likewise, to avoid implicit reliance on memchr module prereqs.
22499         * tests/test-memchr.c (main): Ensure proper masking.
22500         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
22501         reads.
22502
22503         memchr: detect glibc Alpha bug
22504         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
22505         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
22506         Alpha.
22507         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
22508         * tests/test-memchr.c (main): Enhance test.
22509         Reported by Nelson H. F. Beebe.
22510
22511 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22512
22513         fts, getcwd, glob: audit for dirfd returning -1
22514         * lib/fts.c (opendir): Remove #define; no longer used.
22515         (opendirat): New arg PDIR_FD.  All callers changed.
22516         (fts_build, _opendir2): Use new opendirat to avoid the need for
22517         dirfd, or for checking whether dirfd returns a negative value.
22518         Don't use opendir; always use openat followed by fdopendir.
22519         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
22520         it.
22521         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
22522         returns -1 here.
22523         * modules/fts (Depends-on): Remove dirfd.
22524         * modules/getcwd (Depends-on): Likewise.
22525
22526 2010-09-13  Eric Blake  <eblake@redhat.com>
22527
22528         float: fix broken MirBSD header
22529         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
22530         * doc/posix-headers/float.texi (float.h): Document it.
22531
22532 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22533
22534         fts: use O_NOFOLLOW to avoid race condition when opening a directory
22535         * lib/fts.c (opendirat): New arg extra_flags.
22536         (__opendir2): Use it to avoid following symlinks when opening
22537         a directory, if symlinks are not supposed to be followed.  See
22538         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
22539
22540         fdopendir: preserve argument fd before returning
22541         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
22542         (fdopendir_with_dup, fd_clone_opendir): New static functions.
22543         (fdopendir): Use them, arranging for FD to be open to the same
22544         directory that it was when it started.  (It might be temporarily
22545         closed while fdopendir is running, so this not thread- or
22546         signal-safe.)  Be careful to do the right thing even when file
22547         descriptors are scarce and dup fails with errno == EMFILE.  See
22548         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
22549
22550 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
22551
22552         regex: Pass the system regex if its only problem is 32-bit regoff_t.
22553         * NEWS: Document change.
22554         * m4/regex.m4: Disable test for regoff_t size.
22555
22556 2010-09-13  Jim Meyering  <meyering@redhat.com>
22557
22558         fts: don't operate on an invalid file descriptor after failed dup
22559         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
22560         negative file descriptor.
22561
22562 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
22563
22564         savedir: add streamsavedir, deprecate fdsavedir
22565         * NEWS: Mention deprecation of fdsavedir.
22566         * lib/savedir.c (streamsavedir): New extern function, whose name
22567         ends in "savedir" to be consistent with the others.  This differs
22568         from savedirstream in that it doesn't close its argument.  The
22569         next version of GNU tar will use this instead of fdsavedir, to
22570         avoid some race conditions and conserve file descriptors.
22571         (savedirstream): Reimplement as a wrapper around streamsavedir.
22572         (fdsavedir): Add a comment deprecating this function.  As far as
22573         I know, only GNU tar used it, and GNU tar doesn't need it any more.
22574         * lib/savedir.h (streamsavedir): New decl.
22575         (fdsavedir): Add a comment deprecating this.
22576
22577 2010-09-10  Bruno Haible  <bruno@clisp.org>
22578
22579         langinfo: Fix last commit.
22580         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
22581         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
22582         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22583
22584 2010-09-10  Bruno Haible  <bruno@clisp.org>
22585
22586         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
22587         * lib/progreloc.c (O_EXEC): Define fallback.
22588
22589 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
22590
22591         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
22592         * NEWS: Document recent changes to fcntl-h.
22593         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
22594         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
22595         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
22596         Similarly for O_SEARCH; this last was already true, but not documented.
22597         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
22598         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
22599         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
22600         Likewise.
22601         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
22602         is zero, not whether it is defined.
22603         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
22604         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
22605         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
22606
22607 2010-09-10  Bruno Haible  <bruno@clisp.org>
22608
22609         langinfo, nl_langinfo: Fix for IRIX 5.3.
22610         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
22611         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
22612         HAVE_LANGINFO_YESEXPR.
22613         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
22614         HAVE_LANGINFO_YESEXPR.
22615         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
22616         HAVE_LANGINFO_T_FMT_AMPM is 0.
22617         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
22618         HAVE_LANGINFO_YESEXPR is 0.
22619         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
22620         NOEXPR.
22621         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
22622         * doc/posix-functions/nl_langinfo.texi: Likewise.
22623         Reported by Eric Blake.
22624
22625 2010-09-10  Bruno Haible  <bruno@clisp.org>
22626
22627         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
22628         * doc/glibc-functions/login_tty.texi: Mention the include file problem
22629         on FreeBSD 8.0 and OpenBSD 4.6.
22630         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
22631         * m4/pty_h.m4 (gl_PTY_H): Likewise.
22632         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
22633         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
22634         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
22635         ac_includes_default.
22636         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22637
22638 2010-09-09  Eric Blake  <eblake@redhat.com>
22639
22640         strsignal: work around NetBSD bug
22641         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
22642         * lib/string.in.h (includes): Likewise.
22643         * doc/posix-functions/strsignal.texi (strsignal): Document the
22644         bug.
22645         Reported by Nelson H. F. Beebe.
22646
22647         gnulib-tool: work with NetBSD /bin/sh
22648         * gnulib-tool (func_cache_var, func_cache_lookup_module)
22649         (func_get_description, func_get_comment, func_get_status)
22650         (func_get_notice, func_get_applicability, func_get_filelist)
22651         (func_get_dependencies, func_get_autoconf_early_snippet)
22652         (func_get_autoconf_snippet, func_get_automake_snippet)
22653         (func_get_include_directive, func_get_link_directive)
22654         (func_get_license, func_get_maintainer, func_import): Avoid
22655         shell syntax errors from parsing syntax extensions.
22656
22657 2010-09-09  Bruno Haible  <bruno@clisp.org>
22658
22659         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
22660         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
22661         a reliable way to determine whether the 'alias' command works.
22662
22663 2010-09-08  Jim Meyering  <meyering@redhat.com>
22664
22665         init.sh: penalize a set-x-impaired shell; don't disqualify it
22666         * tests/init.sh: Too many shells corrupt application stderr when
22667         you set -x, so we can't afford to disqualify them, since at least
22668         on Irix-6.5, that would disqualify all bourne shells.
22669         Instead, use a two-pass approach.
22670         On the first pass, try to find a shell that meets the stricter
22671         condition that set -x does not corrupt stderr.
22672         If no shell meets the stricter condition, retest each candidate
22673         shell, but without that extra condition.  Finally, when
22674         VERBOSE=yes is requested and set -x might cause trouble, simply
22675         issue a warning and refrain from enabling debug output.
22676
22677 2010-09-08  Eric Blake  <eblake@redhat.com>
22678
22679         unsetenv: fix OpenBSD bug
22680         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
22681         * doc/posix-functions/unsetenv.texi (unsetenv): Update
22682         documentation.
22683         Reported by Jim Meyering.
22684
22685         strtod: work around IRIX 6.5 bug
22686         * lib/strtod.c (strtod): Reparse number on shorter string if
22687         exponent parse was invalid.
22688         * tests/test-strtod.c (main): Add check for "0x1p 2".
22689         Reported by Tom G. Christensen.
22690
22691         getopt: optimize previous patch
22692         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
22693         empty variable.  Speed up awk script.
22694         Reported by Paolo Bonzini.
22695
22696 2010-09-08  Jim Meyering  <meyering@redhat.com>
22697
22698         test.sh: disqualify shells for which set -x corrupts stderr
22699         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
22700         and OpenBSD 4.7.  They make it so with "set -x", environment settings
22701         appear in stderr output.  For example, this command:
22702             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
22703         prints "P=1" on those two systems:
22704
22705 2010-09-08  Bruno Haible  <bruno@clisp.org>
22706
22707         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
22708         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
22709         commands, because some shells ignore redirections when there is an
22710         error in the command lookup.
22711         Reported by Eric Blake.
22712
22713 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
22714
22715         * lib/regex.h: Fix a mention of `regex_compile' (should be
22716         `re_compile_pattern').
22717         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
22718         (re_set_registers): Correct name of parameter in comment.
22719
22720         * doc/regex.texi: Add documentation for missing syntax flags.
22721         Remove commented-out documentation of defunct syntax option
22722         RE_NO_EMPTY_ALTS.
22723         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
22724         Add documentation of re_set_registers.
22725         Document trick to re-use a pattern buffer by setting fastmap manually.
22726         Update documentation of struct re_pattern_buffer per public members.
22727         Uncomment documentation of equivalence class operators and
22728         collating symbol operators, since they are now implemented,
22729         Explain leftmost-longest matching in relation to alternatives.
22730         Tidy documentation of substring matching.
22731         Remove POSIX documentation, which is done better in
22732         glibc, and refer the reader there. Keep BSD API documentation, as
22733         that is not readily available elsewhere.
22734
22735 2010-09-07  Eric Blake  <eblake@redhat.com>
22736
22737         getopt: handle POSIXLY_CORRECT set but not exported
22738         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
22739         export state of POSIXLY_CORRECT, due to bash set -o posix.
22740         Reported by Dustin J. Mitchell.
22741
22742 2010-09-05  Bruno Haible  <bruno@clisp.org>
22743
22744         gnulib-tool: Highlight the changed options.
22745         * gnulib-tool (func_usage): Display the --import, --add-import,
22746         --remove-import explanations in bold font.
22747
22748 2010-09-06  Karl Berry  <karl@gnu.org>
22749
22750         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
22751
22752 2010-09-05  Bruno Haible  <bruno@clisp.org>
22753
22754         uniwidth/width: Update comment.
22755         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
22756         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
22757
22758 2010-09-05  Bruno Haible  <bruno@clisp.org>
22759
22760         isinf, isnan: Relax license.
22761         * modules/isinf (License): Change from GPL to LGPL, with consent from
22762         Ben Pfaff.
22763         * modules/isnan (License): Likewise.
22764         Requested by Ludovic Courtès.
22765
22766 2010-09-04  Bruno Haible  <bruno@clisp.org>
22767
22768         gnulib-tool: Help migration from --import to --add-import or --update.
22769         * gnulib-tool: Emit a verbose error message when --import is used
22770         without any module name.
22771
22772 2010-09-04  Bruno Haible  <bruno@clisp.org>
22773
22774         Update doc about gnulib-tool.
22775         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
22776         'gnulib-tool --update' in more detail.
22777         Reported by Eric Blake.
22778
22779 2010-09-04  Bruno Haible  <bruno@clisp.org>
22780
22781         gnulib-tool: Change --import. New options --add/remove-import.
22782         * gnulib-tool: New options --add-import, --remove-import.
22783         (func_usage): Document them.
22784         (have_associative): Define always.
22785         (func_import): In import mode, don't merge the specified settings with
22786         the cached settings. Implement remove-import mode.
22787         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
22788         Explain when to use them versus --import.
22789         (Simple update): Use --add-import instead of --import.
22790         * NEWS: Mention the change.
22791
22792 2010-09-04  Bruno Haible  <bruno@clisp.org>
22793
22794         * doc/gnulib-tool.texi (Initial import): Update paragraph about
22795         separate gnulib.mk.
22796
22797 2010-09-04  Bruno Haible  <bruno@clisp.org>
22798
22799         gnulib-tool: Don't talk about CVS any more.
22800         * gnulib-tool (func_usage, func_import): Write "version control"
22801         instead of CVS.
22802
22803 2010-09-04  Jim Meyering  <meyering@redhat.com>
22804
22805         maint.mk: avoid obscure sc_copyright_check failure in coreutils
22806         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
22807         false positives (whose names may be ill-chosen) when searching
22808         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
22809         would cause a false-positive.
22810
22811         avoid coreutils "make distcheck" failure
22812         Coreutils tests with an absolute build directory name that contains
22813         a space.  Not quoting this directory name caused a failure.
22814         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
22815         * tests/test-vc-list-files-cvs.sh: Likewise.
22816
22817 2010-09-04  Bruno Haible  <bruno@clisp.org>
22818
22819         gnulib-tool: Avoid error when run in a package without Makefile.am.
22820         * gnulib-tool: When collecting the m4dirs in a package that does not
22821         have a Makefile.am, eliminate those directories that contain no
22822         gnulib-cache.m4. Fix expression that counts these directories.
22823
22824 2010-09-04  Bruno Haible  <bruno@clisp.org>
22825
22826         update-copyright test: Improve output when perl is missing or too old.
22827         * tests/test-update-copyright.sh: Move test of Perl version down after
22828         the test whether Perl exists. Provide an explanation relating Perl's
22829         error message to Automake's SKIP: message.
22830
22831 2010-09-04  Bruno Haible  <bruno@clisp.org>
22832
22833         Don't augment PATH in TESTS_ENVIRONMENT.
22834         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
22835         set abs_aux_dir instead of augmenting PATH.
22836         * modules/vc-list-files-tests (Makefile.am): Likewise.
22837         * tests/test-update-copyright.sh: Augment PATH here.
22838         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
22839         path_prepend_.
22840         * tests/test-vc-list-files-git.sh: Likewise.
22841
22842 2010-09-04  Jim Meyering  <meyering@redhat.com>
22843
22844         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
22845         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
22846
22847 2010-09-04  Bruno Haible  <bruno@clisp.org>
22848
22849         strdup: Fix compilation error in C++ mode.
22850         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
22851         the macro.
22852
22853 2010-09-04  Bruno Haible  <bruno@clisp.org>
22854
22855         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
22856         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
22857         macro into a function.
22858         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
22859
22860 2010-09-04  Bruno Haible  <bruno@clisp.org>
22861
22862         Set PATH_SEPARATOR the same way autoconf does.
22863         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
22864         the value of PATH_SEPARATOR the same way autoconf-generated configure
22865         scripts do.
22866         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
22867         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
22868
22869 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
22870
22871         Set PATH_SEPARATOR the same way autoconf does.
22872         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
22873         the same way autoconf-generated configure scripts do.
22874         * posix-modules: Likewise.
22875
22876 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22877
22878         hash: fix safe_hasher const typo
22879         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
22880         const; otherwise, there is a type error later.
22881
22882 2010-09-02  Jim Meyering  <meyering@redhat.com>
22883
22884         test-update-copyright.sh: require perl 5.8.0
22885         * tests/test-update-copyright.sh: Require 5.8.0,
22886         which Tom G. Christensen has confirmed is adequate,
22887         while 5.6.1 is not.
22888
22889 2010-09-02  Eric Blake  <eblake@redhat.com>
22890
22891         tests: init.sh improvements for re-exec'ing with zsh
22892         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
22893         -vx through shell re-exec.
22894         Reported by Tom G. Christensen.
22895
22896         wctype: fix typo in previous commit
22897         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
22898         Reported by Ludovic Courtès.
22899
22900 2010-09-02  Jim Meyering  <meyering@redhat.com>
22901
22902         test-update-copyright.sh: skip test if Perl is too old
22903         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
22904         Reported by Tom G. Christensen.
22905
22906 2010-09-02  Bruno Haible  <bruno@clisp.org>
22907
22908         wctype: Avoid compilation error on IRIX 6.5.30.
22909         * lib/wctype.in.h (iswblank): Declare with a replacement if
22910         REPLACE_ISWBLANK is set.
22911         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
22912         declared. Set REPLACE_ISWBLANK.
22913         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
22914         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
22915         * doc/posix-headers/wctype.texi: Likewise.
22916         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22917
22918 2010-09-01  Bruno Haible  <bruno@clisp.org>
22919
22920         New module 'socketlib'.
22921         * modules/socketlib: New file.
22922         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
22923         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
22924         * modules/sockets (Depends-on): Add socketlib.
22925         Suggested by Sam Steingold <sds@gnu.org>.
22926
22927 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22928
22929         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
22930
22931         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
22932         when one needs search access to a directory but not read access.
22933         On systems where it is available, it works in some cases where
22934         O_RDONLY does not, namely on directories that are searchable but
22935         not readable, and which need only to be searchable.  If O_SEARCH
22936         is not available, fall back to the traditional method of using
22937         O_RDONLY.
22938
22939         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
22940         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
22941         when opening a directory that needs only to be searchable.
22942         * lib/chdir-safer.c (chdir_no_follow): Likewise.
22943         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
22944         * lib/openat-proc.c (openat_proc_name): Likewise.
22945         * lib/openat.c (openat_needs_fchdir): Likewise.
22946         * lib/save-cwd.c (save_cwd): Likewise.
22947         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
22948
22949 2010-08-28  Bruno Haible  <bruno@clisp.org>
22950
22951         New module 'host-cpu-c-abi'.
22952         * modules/host-cpu-c-abi: New file.
22953         * m4/host-cpu-c-abi.m4: New file, based on part of
22954         clisp/src/m4/general.m4.
22955         Requested by Sam Steingold <sds@gnu.org>.
22956
22957 2010-08-31  Eric Blake  <eblake@redhat.com>
22958         and Jim Meyering  <meyering@redhat.com>
22959
22960         hash: factor, and guard against misbehaving hasher function
22961         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
22962         of table->hasher's return value.  Also protect against a hash value
22963         so large that adding it to table->bucket results in a NULL pointer.
22964         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
22965         Use it in place of open-coded check-and-abort.
22966
22967 2010-08-30  Bruno Haible  <bruno@clisp.org>
22968
22969         hash: silence spurious clang warning
22970         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
22971         Reported by Eric Blake.
22972
22973 2010-08-30  Eric Blake  <eblake@redhat.com>
22974
22975         strstr, memmem, strcasestr: avoid leaked shell message
22976         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
22977         FreeBSD.
22978         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22979         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
22980
22981         tests: silence clang warning
22982         * tests/test-malloca.c (do_allocation): Avoid dead store.
22983
22984 2010-08-29  Bruno Haible  <bruno@clisp.org>
22985
22986         gettext: Fix recent mistake.
22987         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
22988
22989 2010-08-29  Bruno Haible  <bruno@clisp.org>
22990
22991         selinux-h: Offer a --without-selinux option.
22992         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
22993         --without-selinux was specified, skip all tests and define
22994         HAVE_SELINUX_SELINUX_H to 0.
22995         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
22996         set LIB_SELINUX to empty.
22997         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
22998         gl_LIBSELINUX. If --without-selinux was specified, replace
22999         selinux/context.h.
23000         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
23001
23002 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23003             Bruno Haible  <bruno@clisp.org>
23004
23005         Make the module 'realloc-gnu' work again on AIX and OSF/1.
23006         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
23007         of HAVE_REALLOC.
23008         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
23009         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
23010         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
23011         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
23012
23013 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23014             Bruno Haible  <bruno@clisp.org>
23015
23016         Make the module 'calloc-gnu' work again on AIX and OSF/1.
23017         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
23018         HAVE_CALLOC.
23019         * lib/xmalloc.c: Update accordingly.
23020         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
23021         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
23022         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
23023
23024 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23025             Bruno Haible  <bruno@clisp.org>
23026
23027         Make the module 'malloc-gnu' work again on AIX and OSF/1.
23028         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
23029         HAVE_MALLOC.
23030         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
23031         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
23032         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
23033
23034 2010-08-29  Bruno Haible  <bruno@clisp.org>
23035
23036         Update modules list.
23037         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
23038         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
23039         (String handling <string.h>): Add astrxfrm.
23040         (File system functions): Add readlinkat.
23041
23042 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23043
23044         Tests for module 'realloc-gnu'.
23045         * modules/realloc-gnu-tests: New file.
23046         * tests/test-realloc-gnu.c: New file.
23047
23048         Tests for module 'calloc-gnu'.
23049         * modules/calloc-gnu-tests: New file.
23050         * tests/test-calloc-gnu.c: New file.
23051
23052         Tests for module 'malloc-gnu'.
23053         * modules/malloc-gnu-tests: New file.
23054         * tests/test-malloc-gnu.c: New file.
23055
23056 2010-08-28  Bruno Haible  <bruno@clisp.org>
23057
23058         Rename module 'realloc' -> 'realloc-gnu'.
23059         * modules/realloc-gnu: New file, copied from modules/realloc.
23060         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
23061         obsolete.
23062         * modules/mgetgroups (Depends-on): Update.
23063         * doc/posix-functions/realloc.texi: Update.
23064         * NEWS: Mention the change.
23065
23066         Rename module 'calloc' -> 'calloc-gnu'.
23067         * modules/calloc-gnu: New file, copied from modules/calloc.
23068         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
23069         obsolete.
23070         * doc/posix-functions/calloc.texi: Update.
23071         * NEWS: Mention the change.
23072
23073         Rename module 'malloc' -> 'malloc-gnu'.
23074         * modules/malloc-gnu: New file, copied from modules/malloc.
23075         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
23076         obsolete.
23077         * modules/argp (Depends-on): Update.
23078         * modules/regex (Depends-on): Update.
23079         * doc/posix-functions/malloc.texi: Update.
23080         * NEWS: Mention the change.
23081
23082 2010-08-28  Eric Blake  <eblake@redhat.com>
23083
23084         pread, pwrite: add missing dependency
23085         * modules/pread (Depends-on): Add extensions.
23086         * modules/pwrite (Depends-on): Likewise.
23087
23088 2010-08-28  Bruno Haible  <bruno@clisp.org>
23089
23090         unistr/u*-strchr: Fix tests dependencies.
23091         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
23092         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
23093         Reported by Ian Beckwith <ianb@erislabs.net>.
23094
23095 2010-08-28  Bruno Haible  <bruno@clisp.org>
23096
23097         read-file: Don't occupy too much unused memory.
23098         * lib/read-file.c (fread_file): Shrink the buffer at the end.
23099
23100 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
23101             Eric Blake  <eblake@redhat.com>
23102             Bruno Haible  <bruno@clisp.org>
23103
23104         read-file: Avoid memory reallocations with regular files.
23105         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
23106         (fread_file): With regular files, use the remaining length as the
23107         initial buffer size.  Check against overflow.
23108         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
23109         sys_stat.
23110
23111 2010-08-28  Bruno Haible  <bruno@clisp.org>
23112
23113         ftello: Relax license.
23114         * modules/ftello (License): Relax to LGPLv2+.
23115         Reported by Eric Blake.
23116
23117 2010-08-28  Bruno Haible  <bruno@clisp.org>
23118
23119         Avoid relocwrapper link errors due to gnulib replacement functions.
23120         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
23121         function.
23122         Reported by Ben Pfaff <blp@cs.stanford.edu>.
23123
23124 2010-08-28  Bruno Haible  <bruno@clisp.org>
23125
23126         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
23127         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
23128         defined.
23129         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
23130         Suggested by Eric Blake.
23131
23132 2010-08-28  Bruno Haible  <bruno@clisp.org>
23133
23134         sys_socket, netdb: Ensure socklen_t gets defined.
23135         * modules/sys_socket (Depends-on): Add socklen.
23136         * modules/netdb (Depends-on): Likewise.
23137         * modules/getaddrinfo (Depends-on): Remove socklen.
23138         * modules/getsockopt (Depends-on): Likewise.
23139         * modules/setsockopt (Depends-on): Likewise.
23140         * tests/test-sys_socket.c: Check that socklen_t is defined.
23141         * tests/test-netdb.c: Likewise.
23142         * m4/socklen.m4: Update comments.
23143         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23144
23145 2010-08-27  Eric Blake  <eblake@redhat.com>
23146
23147         login_tty: add missing dependency
23148         * modules/login_tty (Depends-on): Add pty.
23149
23150 2010-08-26  Eric Blake  <eblake@redhat.com>
23151
23152         lib-symbol-versions: fix m4 quoting
23153         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
23154         format for AC_LINK_IFELSE.
23155
23156         glob: fix compile test
23157         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
23158
23159         btowc: fix missing file
23160         * modules/btowc (Files): Also ship locale-fr.m4.
23161
23162         lseek: fix link test
23163         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
23164         AC_LINK_IFELSE.
23165
23166         include_next: silence autoconf 2.68 warning
23167         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
23168         AC_COMPILE_IFELSE as special.
23169         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
23170         autoconf < 2.68.
23171
23172         acl: fix compilation test
23173         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
23174         AC_COMPILE_IFELSE.
23175
23176 2010-08-26  Bruno Haible  <bruno@clisp.org>
23177
23178         Modernize AC_TRY_RUN invocations.
23179         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
23180         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
23181         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
23182         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
23183         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
23184         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
23185         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
23186         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
23187         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23188         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23189         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
23190         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
23191         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
23192         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23193         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
23194         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
23195         gl_MBRLEN_NUL_RETVAL): Likewise.
23196         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
23197         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
23198         Likewise.
23199         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
23200         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23201         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
23202         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
23203         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
23204         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
23205         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
23206         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
23207         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
23208         Likewise.
23209         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
23210         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
23211         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
23212         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
23213         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23214         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
23215         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23216         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
23217         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
23218         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
23219
23220 2010-08-26  Bruno Haible  <bruno@clisp.org>
23221
23222         Modernize AC_TRY_LINK invocations.
23223         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
23224         AC_TRY_LINK.
23225         * m4/argp.m4 (gl_ARGP): Likewise.
23226         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
23227         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
23228         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
23229         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
23230         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
23231         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
23232         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
23233         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
23234         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
23235         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
23236         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
23237         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
23238         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
23239         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23240         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
23241         * m4/hostent.m4 (gl_HOSTENT): Likewise.
23242         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23243         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
23244         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
23245         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
23246         Likewise.
23247         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
23248         Likewise.
23249         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
23250         Likewise.
23251         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
23252         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
23253         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
23254         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
23255         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
23256         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
23257         * m4/servent.m4 (gl_SERVENT): Likewise.
23258         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
23259         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
23260         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
23261         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
23262         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
23263         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
23264         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
23265         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23266         * modules/tsearch-tests (configure.ac): Likewise.
23267
23268 2010-08-26  Bruno Haible  <bruno@clisp.org>
23269
23270         Modernize AC_TRY_COMPILE invocations.
23271         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
23272         AC_TRY_COMPILE.
23273         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
23274         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
23275         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
23276         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
23277         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
23278         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
23279         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
23280         * m4/lock.m4 (gl_LOCK): Likewise.
23281         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
23282         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
23283         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
23284         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
23285         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
23286         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
23287         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
23288         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
23289         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
23290         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
23291         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
23292         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
23293         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
23294         extraneous semicolon.
23295
23296 2010-08-26  Jim Meyering  <meyering@redhat.com>
23297
23298         stat-time: relax license LGPL
23299         * modules/stat-time (License): Change from GPL to LGPL,
23300         with consent from all contributors, for use in libguile.
23301         Requested by Ludovic Courtès.
23302
23303 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
23304
23305         poll: return immediately on POLLHUP.
23306         * lib/poll.c (poll): Always set timeout before wait_timeout is
23307         computed.
23308
23309 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23310
23311         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
23312         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
23313         rmdir ("dir/.//"), unlinkat.
23314
23315 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
23316
23317         stdbool: avoid spurious failure with modern xlc
23318         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
23319
23320 2010-08-24  Bruno Haible  <bruno@clisp.org>
23321
23322         getloadavg: simplify code
23323         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
23324         gl_have_func. Update comments.
23325
23326 2010-08-24  Eric Blake  <eblake@redhat.com>
23327
23328         getloadavg: don't define SVR4 on cygwin
23329         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
23330         only define SVR4 when -lkvm is required.
23331         Reported by Yaakov Selkowitz.
23332
23333 2010-08-24  Bruno Haible  <bruno@clisp.org>
23334
23335         priv-set: fix comment
23336         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
23337
23338 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
23339
23340         priv-set: fix comments
23341         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
23342         to match code, as suggested by David Bartley in:
23343         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
23344
23345 2010-08-23  Eric Blake  <eblake@redhat.com>
23346
23347         stdbool: avoid rejecting clang
23348         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
23349         * tests/test-stdbool.c: Enable more tests if using the system
23350         <stdbool.h> instead of the gnulib replacement.
23351         (main): Move xlc bug test to a runtime test for all compilers.
23352         Reported by Anders Kaseorg.
23353
23354         argz: fix shell quoting issue
23355         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
23356         Reported by Charles Wilson.
23357
23358 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
23359             Erik Faye-Lund <kusmabite@gmail.com>
23360
23361         poll, select: handle ERROR_BROKEN_PIPE.
23362         * lib/poll.c (win32_compute_revents): Return POLLHUP when
23363         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
23364         * lib/select.c (win32_compute_revents): Do not mark a pipe
23365         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
23366
23367 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
23368
23369         fts: allow compilation with C++
23370         * lib/fts_.h: Specify extern "C" linkage with C++.
23371
23372 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23373
23374         Fix gnulib-tool sed script de-commentation for AIX sed.
23375         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
23376         sed.
23377
23378 2010-08-17  Eric Blake  <eblake@redhat.com>
23379
23380         test-stddef: test for (some) offsetof bugs
23381         * tests/test-stddef.c: Enhance test to ensure correct type of
23382         offsetof.
23383         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
23384         that we are not fixing at this time.
23385
23386 2010-08-15  Bruno Haible  <bruno@clisp.org>
23387
23388         stpncpy: Allow stpncpy to be defined as a macro.
23389         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
23390         if it's already correctly declared.
23391         * lib/string.in.h (stpncpy): Undefine before redefining.
23392         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
23393
23394 2010-08-14  Bruno Haible  <bruno@clisp.org>
23395
23396         Rename module 'memxfrm' to 'amemxfrm'.
23397         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
23398         (amemxfrm): Renamed from memxfrm.
23399         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
23400         (amemxfrm): Renamed from memxfrm.
23401         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
23402         * NEWS: Mention the change.
23403         * MODULES.html.sh (String handling <string.h>): Update.
23404         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
23405         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
23406         * lib/unicase/u16-casexfrm.c: Likewise.
23407         * lib/unicase/u32-casexfrm.c: Likewise.
23408         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
23409         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
23410         * lib/uninorm/u16-normxfrm.c: Likewise.
23411         * lib/uninorm/u32-normxfrm.c: Likewise.
23412         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
23413         memxfrm.
23414         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
23415         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
23416         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
23417         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
23418         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
23419         Suggested by Paul Eggert.
23420
23421 2010-08-14  Bruno Haible  <bruno@clisp.org>
23422
23423         Tests for module 'astrxfrm'.
23424         * modules/astrxfrm-tests: New file.
23425         * tests/test-astrxfrm.c: New file.
23426
23427         New module 'astrxfrm'.
23428         * lib/astrxfrm.h: New file.
23429         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
23430         * modules/astrxfrm: New file.
23431
23432 2010-08-14  Reuben Thomas <rrt@sc3d.org>
23433
23434         regex: Tweak doc.
23435         * doc/regex.texi (Overview): Don't mention regex.c.
23436         (GNU Regular Expression Compiling): Likewise.
23437         (Match-end-of-line Operator): Mention 'not_eol'.
23438
23439 2010-08-14  Brian Gough  <bjg@gnu.org>
23440             Bruno Haible  <bruno@clisp.org>
23441
23442         git-merge-changelog: add doc relating to use with bzr and hg.
23443         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
23444
23445 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
23446
23447         pthread: fix pthread.h creation for srcdir != builddir
23448         * modules/pthread (Makefile.am): Fix the rule to work also in a
23449         non-srcdir build.
23450
23451 2010-08-13  Karl Berry  <karl@gnu.org>
23452
23453         * doc/regex.texi (Predefined Syntaxes): @smallexample.
23454         * doc/posix-*/*: force line break before @url of POSIX
23455         specifications.
23456         Suggested by Werner Lemberg.
23457
23458 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
23459
23460         strtod: fix const diagnostic
23461         * lib/strtod.c (strtod): Don't assign const char * to char *,
23462         as this elicits a warning from GCC when warnings are enabled.
23463
23464 2010-08-10  Pádraig Brady <P@draigbrady.com>
23465         and Eric Blake  <eblake@redhat.com>
23466
23467         copy-acl: ignore ENOTSUP on HP-UX
23468         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
23469         so that it is available for HP-UX.
23470         * lib/copy-acl.c (qcopy_acl): Use it.
23471         Reported by Patrick M. Callahan.
23472
23473 2010-08-10  Eric Blake  <eblake@redhat.com>
23474
23475         open, chown: relax license
23476         * modules/open (License): Change to LGPLv2+, with consent by all
23477         authors, for use in augeas.
23478         * modules/chown (License): Likewise.
23479         * modules/lchown (Likewise): Likewise.
23480         Requested by Adam Stokes.
23481
23482 2010-08-09  Karl Berry  <karl@gnu.org>
23483
23484         * build-aux/ar-lib: new file, import from Automake.
23485         * config/srclist.txt: autocheck for updates.
23486
23487 2010-08-09  Eric Blake  <eblake@redhat.com>
23488
23489         readlinkat: adjust client modules
23490         * modules/areadlinkat (Depends-on): Use readlinkat, not
23491         symlinkat.
23492         * modules/areadlinkat-with-size (Depends-on): Likewise.
23493
23494         mknod: be more vocal about danger of running tests as root
23495         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
23496         root, since that is just asking for problems.
23497         Suggested by Bruno Haible, based on a report by Rainer Tammer.
23498
23499         readlinkat: split into its own module
23500         * modules/symlinkat: Split readlinkat...
23501         * modules/readlinkat: ...into separate module.
23502         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
23503         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
23504         * lib/symlinkat.c (readlinkat): Move...
23505         * lib/readlinkat.c: ...into new file.
23506         * modules/symlinkat-tests: Split readlinkat test...
23507         * modules/readlinkat-tests: ...into separate module.
23508         * tests/test-symlinkat.c: Split...
23509         * tests/test-readlinkat.c: ...into new file.
23510         * NEWS: Document the split.
23511         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
23512         * lib/unistd.in.h (readlinkat): Likewise.
23513         Suggested by Bruno Haible.
23514
23515 2010-08-08  Bruno Haible  <bruno@clisp.org>
23516
23517         memxfrm: Speed up.
23518         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
23519         that usually only one call to strxfrm is necessary for each string
23520         part.
23521         Reported by Paul Eggert <eggert@cs.ucla.edu>.
23522
23523 2010-08-07  Karl Berry  <karl@gnu.org>
23524
23525         * doc/posix-headers/limits.texi,
23526         * doc/posix-functions/malloc.texi,
23527         * doc/posix-functions/strsignal.texi: missing @item.
23528         * doc/ld-version-script.texi: spurious leading i.
23529         * doc/regex.texi (Interval Operators): no commas inside @var.
23530
23531 2010-08-01  Bruno Haible  <bruno@clisp.org>
23532
23533         Integrate the regex documentation.
23534         * doc/gnulib.texi: Define 'cn' index.
23535         (Regular expressions): New a chapter that includes regex.texi and
23536         regexprops-generic.texi.
23537         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
23538         syntax.
23539
23540         Whitespace cleanup.
23541         * doc/regex.texi: Remove trailing spaces.
23542
23543         Add regex documentation.
23544         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
23545         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
23546         Written by Kathy A. Hargreaves and Karl Berry.
23547
23548 2010-08-01  Bruno Haible  <bruno@clisp.org>
23549
23550         link: Update documentation.
23551         * doc/posix-functions/link.texi: Update regarding Solaris.
23552
23553 2010-07-31  Bruno Haible  <bruno@clisp.org>
23554
23555         Update modules list.
23556         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
23557         (String handling <string.h>): Add memcmp2, memxfrm.
23558         (Container data structures): Add xlist, xsublist, xoset.
23559         (Core language properties): Add alignof, unused-parameter.
23560         (Process control, Numeric conversion functions <stdlib.h>): Renamed
23561         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
23562         (Unibyte characters <ctype.h>): New section.
23563         (String handling <string.h>): New section.
23564         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
23565         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
23566         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
23567         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
23568         tan, tanh, tanl, y0, y1, yn.
23569         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
23570         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
23571         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
23572         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
23573         unlockpt, vdprintf, vdprintf-posix.
23574         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
23575         (File system functions): Add concat-filename, sys_file, sys_ioctl,
23576         xconcat-filename.
23577         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
23578         getdtablesize, pipe2, pipe2-safer.
23579         (Security): New section.
23580         (Networking functions): Add accept4.
23581         (Signal handling): Add sigpipe.
23582         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
23583         mbmemcasecoll.
23584         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
23585         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
23586         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
23587         pipe-filter-ii.
23588         (Misc): Add argp-version-etc, login_tty, parse-duration.
23589
23590 2010-07-31  Bruno Haible  <bruno@clisp.org>
23591
23592         Improve doc in MODULES.html.
23593         * modules/linkat (Description): Add the word "function".
23594         * modules/mkfifo (Description): Likewise.
23595         * modules/mknod (Description): Likewise.
23596         * modules/remove (Description): Likewise.
23597         * modules/renameat (Description): Likewise.
23598         * modules/stat (Description): Likewise.
23599         * modules/symlink (Description): Likewise.
23600         * modules/unlink (Description): Likewise.
23601
23602 2010-07-31  Bruno Haible  <bruno@clisp.org>
23603
23604         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
23605         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
23606         option --enable/disable-c++ instead of --enable/disable-cxx.
23607         * NEWS: Mention the change.
23608
23609 2010-07-31  Bruno Haible  <bruno@clisp.org>
23610
23611         readlink, areadlink: Relax test a bit.
23612         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
23613         alternative to ENOTDIR.
23614         * tests/test-areadlink.h (test_areadlink): Likewise.
23615         Reported by Rainer Tammer.
23616
23617 2010-07-31  Bruno Haible  <bruno@clisp.org>
23618
23619         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
23620         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
23621         character, perform the search using U_STRCHR.
23622         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
23623         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
23624         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
23625         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
23626         Suggested by Paolo Bonzini.
23627
23628 2010-07-31  Bruno Haible  <bruno@clisp.org>
23629
23630         unistr/u*-strstr: Fix dependencies.
23631         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
23632         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
23633         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
23634
23635 2010-07-31  Bruno Haible  <bruno@clisp.org>
23636
23637         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
23638         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
23639         the beginning of the loop.
23640         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
23641         cases in 'switch' statement.
23642
23643         unistr/u8-strchr: Fix several bugs.
23644         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
23645         the string. When not found, return NULL, not a pointer near the end.
23646
23647         More tests for unistr/u8-strchr.
23648         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
23649         that the function does not read past the first occurrence of the byte
23650         being searched.
23651         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
23652         * tests/unistr/test-u16-strchr.c (main): New function.
23653         * tests/unistr/test-u32-strchr.c (main): New function.
23654
23655 2010-07-31  Bruno Haible  <bruno@clisp.org>
23656
23657         posix-modules: Ignore backup files of documentation files.
23658         * posix-modules: grep only through files named *.texi.
23659
23660 2010-07-31  Bruno Haible  <bruno@clisp.org>
23661
23662         symlinkat: Fix documentation.
23663         * doc/posix-functions/readlinkat.texi: Fix module name.
23664
23665 2010-07-31  Bruno Haible  <bruno@clisp.org>
23666
23667         fchownat: Replace also when chown has the trailing slash bug.
23668         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
23669         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
23670         introduced on 2010-04-10.
23671         Reported by Rainer Tammer.
23672
23673 2010-07-31  Bruno Haible  <bruno@clisp.org>
23674
23675         linkat: Work around AIX 7.1 bug.
23676         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
23677         whether linkat handles trailing slash correctly. If not, replace linkat
23678         and define LINKAT_TRAILING_SLASH_BUG.
23679         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
23680         check whether (fd1,file1) points to a directory if file1 or file2 ends
23681         in a slash. Code taken from lib/link.c.
23682         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
23683         Reported by Rainer Tammer.
23684
23685 2010-07-31  Bruno Haible  <bruno@clisp.org>
23686
23687         Correctly determine whether pow is available in libc on AIX 7 with xlc.
23688         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
23689         This disables an xlc optimization that was causing wrong test results.
23690         Reported by Rainer Tammer.
23691
23692 2010-07-31  Bruno Haible  <bruno@clisp.org>
23693
23694         iconv: Work around AIX 6.1..7.1 bug.
23695         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
23696         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
23697         cross-compiling, guess no on all versions of AIX.
23698         Reported by Rainer Tammer.
23699
23700 2010-07-31  Bruno Haible  <bruno@clisp.org>
23701
23702         readlink: Relax test a bit.
23703         * tests/test-readlink.h (test_readlink): Allow different errno value
23704         when readlink is called with a file name that ends in / and refers to
23705         a file.
23706         Suggested by Eric Blake.
23707         Reported by Rainer Tammer.
23708
23709 2010-07-31  Bruno Haible  <bruno@clisp.org>
23710
23711         copysign: Does not require -lm on glibc systems.
23712         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
23713         gl_COMMON_DOUBLE_MATHFUNC.
23714         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
23715
23716 2010-07-31  Bruno Haible  <bruno@clisp.org>
23717
23718         duplocale: Work around AIX 7.1 bug.
23719         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
23720         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
23721         * lib/duplocale.c (rpl_duplocale): Update comment.
23722         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
23723         Reported by Rainer Tammer.
23724
23725 2010-07-30  Bruno Haible  <bruno@clisp.org>
23726
23727         dirfd: Avoid link error on AIX 7.1.
23728         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
23729         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
23730         exist, set REPLACE_DIRFD.
23731         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
23732         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
23733         * doc/posix-functions/dirfd.texi: Update.
23734         Reported by Rainer Tammer.
23735
23736 2010-07-30  Eric Blake  <eblake@redhat.com>
23737
23738         strtod: next round of AIX fixes
23739         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
23740         exponent.
23741         * tests/test-strtod.c (main): Enhance tests.
23742         * doc/posix-functions/strtod.texi (strtod): Document next bug.
23743         Reported by Rainer Tammer.
23744
23745         futimens: fix configure check
23746         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
23747         Reported by Bruno Haible.
23748
23749 2010-07-30  Bruno Haible  <bruno@clisp.org>
23750
23751         getline: Update regarding AIX.
23752         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
23753         Reported by Rainer Tammer.
23754
23755 2010-07-30  Bruno Haible  <bruno@clisp.org>
23756
23757         wcwidth: Drop replacement on AIX 7.
23758         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
23759         AIX 7.
23760         Reported by Rainer Tammer.
23761
23762 2010-07-30  Bruno Haible  <bruno@clisp.org>
23763
23764         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
23765         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
23766         a 'char *'.
23767         Reported by Rainer Tammer.
23768
23769 2010-07-30  Bruno Haible  <bruno@clisp.org>
23770
23771         unlink: Update regarding AIX.
23772         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
23773         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
23774         Reported by Rainer Tammer.
23775
23776 2010-07-30  Bruno Haible  <bruno@clisp.org>
23777
23778         symlink: Update regarding AIX.
23779         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
23780         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
23781         Reported by Rainer Tammer.
23782
23783 2010-07-30  Bruno Haible  <bruno@clisp.org>
23784
23785         strndup: Update regarding AIX.
23786         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
23787         AIX 7.
23788         Reported by Rainer Tammer.
23789
23790 2010-07-30  Bruno Haible  <bruno@clisp.org>
23791
23792         stat: Update regarding AIX.
23793         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
23794         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
23795         Reported by Rainer Tammer.
23796
23797 2010-07-30  Bruno Haible  <bruno@clisp.org>
23798
23799         truncl: Fix autoconf test.
23800         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
23801         whether truncl works.
23802         Reported by Rainer Tammer.
23803
23804 2010-07-30  Bruno Haible  <bruno@clisp.org>
23805
23806         round: Update regarding AIX.
23807         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
23808         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
23809         Reported by Rainer Tammer.
23810
23811 2010-07-30  Bruno Haible  <bruno@clisp.org>
23812
23813         rename: Update regarding AIX.
23814         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
23815         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
23816         Reported by Rainer Tammer.
23817
23818 2010-07-30  Bruno Haible  <bruno@clisp.org>
23819
23820         printf.m4: Update regarding AIX.
23821         * m4/printf.m4: Update comments regarding AIX.
23822         Reported by Rainer Tammer.
23823
23824 2010-07-30  Bruno Haible  <bruno@clisp.org>
23825
23826         iconv: Update regarding AIX.
23827         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
23828         AIX 7.
23829         Reported by Rainer Tammer.
23830
23831 2010-07-30  Bruno Haible  <bruno@clisp.org>
23832
23833         getopt: Update regarding AIX.
23834         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
23835         no on AIX.
23836         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
23837         Reported by Rainer Tammer.
23838
23839 2010-07-30  Bruno Haible  <bruno@clisp.org>
23840
23841         ldexpl; Update regarding AIX.
23842         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
23843         on AIX 7.
23844         Reported by Rainer Tammer.
23845
23846 2010-07-30  Bruno Haible  <bruno@clisp.org>
23847
23848         frexpl: Update regarding AIX.
23849         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
23850         on AIX 7.
23851         Reported by Rainer Tammer.
23852
23853 2010-07-30  Bruno Haible  <bruno@clisp.org>
23854
23855         open, fopen: Update regarding AIX.
23856         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
23857         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
23858         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
23859         * doc/posix-functions/fopen.texi: Likewise.
23860         Reported by Rainer Tammer.
23861
23862 2010-07-30  Bruno Haible  <bruno@clisp.org>
23863
23864         chown: Update doc regarding AIX.
23865         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
23866         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
23867         Reported by Rainer Tammer.
23868
23869 2010-07-30  Eric Blake  <eblake@redhat.com>
23870
23871         strtod: fix bug in replacement function on AIX
23872         * lib/strtod.c (strtod): Special case broken "0x" parse in
23873         underlying strtod.
23874         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
23875         * doc/posix-functions/strtod.texi (strtod): Likewise.
23876         Reported by Rainer Tammer.
23877
23878 2010-07-30  Bruno Haible  <bruno@clisp.org>
23879
23880         mbrlen: Fix cross-compilation guess for AIX.
23881         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
23882         guess. Leftover from 2008-12-22.
23883
23884 2010-07-30  Bruno Haible  <bruno@clisp.org>
23885
23886         mbrtowc: Fix cross-compilation guess for AIX.
23887         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
23888         guess. Leftover from 2008-12-21.
23889
23890 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
23891
23892         init.sh: work around trap limitation of some shells
23893         * tests/init.sh (setup_): Move exit trap outside of shell function.
23894
23895 2010-07-29  Eric Blake  <eblake@redhat.com>
23896
23897         strtod: aid debugging
23898         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
23899         understanding why strtod is rejected.
23900
23901 2010-07-28  Bruno Haible  <bruno@clisp.org>
23902
23903         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
23904         * lib/unistr/u8-chr.c: Include <string.h>.
23905         * tests/unistr/test-u8-chr.c: Likewise.
23906         * tests/unistr/test-u16-chr.c: Likewise.
23907         * tests/unistr/test-u32-chr.c: Likewise.
23908         * tests/unistr/test-u8-strchr.c: Likewise.
23909         * tests/unistr/test-u16-strchr.c: Likewise.
23910         * tests/unistr/test-u32-strchr.c: Likewise.
23911         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
23912         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
23913         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
23914         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
23915
23916 2010-07-28  Bruno Haible  <bruno@clisp.org>
23917
23918         Use spaces for indentation, not tabs.
23919         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
23920
23921 2010-07-27  Bruno Haible  <bruno@clisp.org>
23922
23923         mbspcasecmp: Fix function specification.
23924         * lib/string.in.h (mbspcasecmp): Fix specification comment.
23925         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
23926         Reported by Eric Blake <eblake@redhat.com>.
23927
23928 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
23929
23930         timespec: use cast and not conditional, as truncation isn't possible
23931         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
23932         instead of a conditional.  Comment about the situation in more detail.
23933         This undoes most of the 2009-10-29 patch.
23934
23935 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
23936
23937         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
23938         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
23939         * lib/unistr/u8-strchr.c: Likewise.
23940         * modules/unistr/u8-chr: Depend on memchr.
23941
23942         unistr/u*-strchr: add tests
23943         * modules/unistr/u8-strchr-tests: New file.
23944         * modules/unistr/u16-strchr-tests: New file.
23945         * modules/unistr/u32-strchr-tests: New file.
23946         * tests/unistr/test-strchr.h: New file.
23947         * tests/unistr/test-u8-strchr.c: New file.
23948         * tests/unistr/test-u16-strchr.c: New file.
23949         * tests/unistr/test-u32-strchr.c: New file.
23950
23951         unistr/u*-chr: test multibyte sequences more
23952         * tests/unistr/test-chr.h: Do complete testing of the characters in the
23953         test vector.
23954         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
23955         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
23956         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
23957
23958         unistr/u*-chr: test multibyte sequences
23959         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
23960
23961         unistr/u*-chr: prepare for multibyte tests
23962         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
23963         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
23964         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
23965         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
23966         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
23967         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
23968
23969 2010-07-18  Bruno Haible  <bruno@clisp.org>
23970
23971         unistr/u8-strchr: Optimize non-ASCII argument case.
23972         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
23973         because the first byte often matches anyway.
23974         Reported by Pádraig Brady <P@draigbrady.com>.
23975
23976 2010-07-15  Karl Berry  <karl@gnu.org>
23977
23978         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
23979
23980 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
23981
23982         getcwd: on Solaris, work better if ancestors are inaccessible
23983         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
23984         buffer and size, try again with a large buffer.  This works better
23985         on Solaris, since its getcwd succeeds even if the path to the root
23986         is inaccessible, and this is helpful in common cases such as .zfs
23987         hidden directories.  Problem reported by J Chapman Flack in
23988         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
23989         Use system getcwd if it's declared, not merely if it's partly
23990         working; use the partly-working test only to avoid needless effort
23991         if the system getcwd fails.
23992         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
23993         comment that was already obsolete and is now even more obsolete.
23994         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
23995         now might call strdup.
23996
23997 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
23998
23999         pthread: Add enough so that coreutils/src/sort.c compiles.
24000         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
24001         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
24002         gnulib. Include <sched.h> and <time.h>, as per POSIX.
24003         Include <sys/types.h>, in case it defines pthread_t.
24004         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
24005         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
24006         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
24007         (pthread_rwlockattr_t, pthread_spinlock_t):
24008         New typedefs, if HAVE_PTHREAD_T is not defined.
24009         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
24010         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
24011         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
24012         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
24013         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
24014         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
24015         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
24016         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
24017         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
24018         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
24019         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
24020         New macros.
24021         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
24022         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
24023         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
24024         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
24025         (pthread_spin_unlock): New dummy functions.
24026         (pthread_create): Return EAGAIN; don't set errno.
24027         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
24028         require AC_C_INLINE.
24029         * modules/pthread (Depends-on): Add sched, time.
24030         (pthread.h): Use AM_V_GEN.
24031
24032 2010-07-13  Bruno Haible  <bruno@clisp.org>
24033
24034         striconveh: Don't malloc memory if the result buffer is sufficient.
24035         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
24036         buffer if its size is sufficient.
24037         Reported by Ludovic Courtès <ludo@gnu.org>.
24038
24039 2010-07-13  Bruno Haible  <bruno@clisp.org>
24040
24041         strtod: Add safety check.
24042         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
24043
24044 2010-07-12  Bruno Haible  <bruno@clisp.org>
24045
24046         Unify tests that set gl_cv_func_ldexpl_no_libm.
24047         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
24048         gl_FUNC_LDEXPL.
24049         (gl_FUNC_LDEXPL): Invoke it.
24050         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
24051
24052 2010-07-12  Bruno Haible  <bruno@clisp.org>
24053
24054         Unify tests that set gl_cv_func_ldexp_no_libm.
24055         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
24056         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
24057         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
24058         (configure.ac): Simply invoke gl_FUNC_LDEXP.
24059         * modules/strtod (Files): Add m4/ldexp.m4.
24060
24061 2010-07-12  Bruno Haible  <bruno@clisp.org>
24062
24063         Unify tests that set gl_cv_func_frexpl_no_libm.
24064         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
24065         gl_FUNC_FREXPL_NO_LIBM.
24066         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
24067         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
24068
24069 2010-07-12  Bruno Haible  <bruno@clisp.org>
24070
24071         Unify tests that set gl_cv_func_frexp_no_libm.
24072         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
24073         gl_FUNC_FREXP_NO_LIBM.
24074         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
24075         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
24076
24077 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
24078
24079         memcoll: clarify sizes versus lengths, document better, and tweak perf
24080         * lib/memcoll.c (strcoll_loop, memcoll0):
24081         Improve quality of descriptive comments.  Name variables
24082         consistently as to whether they are lengths (which do not include
24083         terminating null) versus sizes (which do).
24084         * lib/xmemcoll.c (xmemcoll0): Likewise.
24085         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
24086         returned when s1size == 0; this is easier to compile and saves
24087         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
24088
24089 2010-07-12  Bruno Haible  <bruno@clisp.org>
24090
24091         Tests for module '_Exit'.
24092         * modules/_Exit-tests: New file.
24093         * tests/test-_Exit.sh: New file.
24094         * tests/test-_Exit.c: New file.
24095
24096         New module '_Exit'.
24097         * lib/stdlib.in.h (__attribute__): New macro.
24098         (_Exit): New declaration.
24099         * lib/_Exit.c: New file.
24100         * m4/_Exit.m4: New file.
24101         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
24102         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
24103         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
24104         * modules/_Exit: New file.
24105         * tests/test-stdlib-c++.cc (_Exit): Check signature.
24106         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
24107
24108 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
24109
24110         strtod: make it more-accurate typically, and don't require libm
24111         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
24112         Include limits.h.  Don't include string.h.
24113         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
24114         (locale_isspace): New function, so that no casts are needed to
24115         check whether *s is a space.
24116         (ldexp): Provide an unused dummy if not available.
24117         (scale_radix_exp, parse_number, underlying_strtod): New functions.
24118         (strtod): Use them.  This implementation prefers to use the
24119         underlying strtod if available, falling back on our own code
24120         only to fix known bugs.  This is more likely to produce an
24121         accurate result.  Also, it avoids the use of libm functions.
24122         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
24123         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
24124         was absent, but it caused a test failure with coreutils.
24125         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
24126         with libm.
24127         * modules/strtod (Makefile.am, Link): libm is no longer needed.
24128         * modules/strtod-tests (Makefile.am): Likewise.
24129
24130 2010-07-11  Pádraig Brady  <P@draigBrady.com>
24131             Bruno Haible  <bruno@clisp.org>
24132
24133         unistr/u8-strchr: Optimize ASCII argument case.
24134         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
24135
24136 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
24137
24138         (x)memcoll: minor tweaks
24139         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
24140         is after the type that it qualifies.
24141         (memcoll0): Likewise.
24142         * lib/memcoll.h (memcoll0): Likewise.
24143         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
24144         * lib/xmemcoll.h (xmemcoll0): Likewise.
24145         * lib/memcoll.c (memcoll0): Correct the comment.  This function
24146         differs from memcoll in that the NUL byte is part of the argument.
24147         Omit the abort-checks, as performance is a real issue here.  Plus,
24148         the checks were wrong anyway (an off-by-one error).  Omit local
24149         variable 'diff', as it's a bit clearer that way.
24150         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
24151         no longer needed.
24152
24153 2010-07-08  Chen Guo <chenguo4@yahoo.com>
24154
24155         (x)memcoll: speedup when input is known to be NUL delimited
24156         * lib/memcoll.c: Include stdlib.
24157         (memcoll0): New function.
24158         (strcoll_loop): New function, refactored for use in both memcoll
24159         and memcoll0.
24160         * lib/memcoll.h (memcoll0): Add prototype.
24161         * lib/xmemcoll.c (xmemcoll0): New function.
24162         (collate_error): New function, refactored for use in both xmemcoll
24163         and xmemcoll0.
24164         * lib/xmemcoll.h (xmemcoll0): Add prototype.
24165         * m4/memcoll.m4: add inline invocation.
24166
24167 2010-07-06  Pádraig Brady  <P@draigBrady.com>
24168
24169         * build-aux/bootstrap: Remove any local translations
24170         from the translation project synchronization directory,
24171         so that local only translations are not distributed.
24172
24173 2010-07-04  Bruno Haible  <bruno@clisp.org>
24174
24175         fsusage: Clarify which code applies to which platforms.
24176         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
24177         platform.
24178         * lib/fsusage.c (get_fs_usage): Likewise.
24179
24180 2010-07-04  Bruno Haible  <bruno@clisp.org>
24181
24182         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
24183         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
24184         Reported by Martin Lambers <marlam@marlam.de>.
24185
24186 2010-07-04  Jim Meyering  <meyering@redhat.com>
24187
24188         hash: once again explicitly disallow insertion of NULL
24189         * lib/hash.c (hash_insert0): Reinstate just-removed test:
24190         inserting a NULL pointer cannot work with these functions.
24191         Add a comment with details.
24192         This reverts part of the 2010-07-01 commit, 5bef1a35
24193         "hash: extend module to deal with non-pointer keys".
24194
24195 2010-07-01  Bruno Haible  <bruno@clisp.org>
24196
24197         stdbool: Update doc.
24198         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
24199         Info from Christian Weisgerber <naddy@mips.inka.de>.
24200
24201 2010-07-01  Jim Meyering  <meyering@redhat.com>
24202
24203         hash: extend module to deal with non-pointer keys
24204         * lib/hash.c (hash_insert0): New interface, much like hash_insert
24205         but that allows insertion of non-pointer entries.
24206         Do not disallow an ENTRY value of NULL.
24207         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
24208         * lib/hash.h (hash_insert0): Declare.
24209
24210 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
24211
24212         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
24213         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
24214         not present (i.e. with autoconf 2.59 and when using gettextize, not
24215         gnulib), require AC_GNU_SOURCE instead.
24216
24217 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
24218
24219         idpriv-drop: Fix tests.
24220         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
24221         not to the test-idpriv-droptemp program.
24222
24223 2010-06-29  Bruno Haible  <bruno@clisp.org>
24224
24225         string: Fix syntax error with g++ 2.96.
24226         * lib/string.in.h (__pure__): Remove definition.
24227         (_GL_ATTRIBUTE_PURE): New macro.
24228         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
24229         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
24230         Reported by Christian Weisgerber <naddy@mips.inka.de>.
24231
24232 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
24233
24234         unitypes: Fix bug introduced on 2010-05-18.
24235         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
24236
24237 2010-06-22  Eric Blake  <eblake@redhat.com>
24238
24239         memmem: slight optimization
24240         * lib/str-two-way.h (critical_factorization): Update comments.
24241         Reduce work during factorization phase.
24242         Reported by Carlos Bueno <carlos@bueno.org>.
24243
24244 2010-06-21  Bruno Haible  <bruno@clisp.org>
24245
24246         Fix HAVE_CALLOC_POSIX misnomer.
24247         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
24248         !HAVE_CALLOC_POSIX.
24249         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
24250         HAVE_CALLOC_POSIX.
24251         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
24252         instead of HAVE_CALLOC_POSIX.
24253         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
24254         HAVE_CALLOC_POSIX.
24255
24256         Use modern idiom for calloc() replacement.
24257         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
24258         AC_FUNC_CALLOC.
24259         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
24260         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
24261         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24262         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
24263         (gl_REPLACE_CALLOC): New macro.
24264
24265 2010-06-21  Bruno Haible  <bruno@clisp.org>
24266
24267         Fix HAVE_REALLOC_POSIX misnomer.
24268         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
24269         !HAVE_REALLOC_POSIX.
24270         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
24271         HAVE_REALLOC_POSIX.
24272         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
24273         instead of HAVE_REALLOC_POSIX.
24274         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
24275         HAVE_REALLOC_POSIX.
24276
24277         Use modern idiom for realloc() replacement.
24278         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
24279         AC_FUNC_REALLOC.
24280         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
24281         Autoconf's AC_FUNC_REALLOC.
24282         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24283         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
24284         (gl_REPLACE_REALLOC): New macro.
24285         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
24286
24287 2010-06-21  Bruno Haible  <bruno@clisp.org>
24288
24289         Fix HAVE_MALLOC_POSIX misnomer.
24290         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
24291         !HAVE_MALLOC_POSIX.
24292         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
24293         HAVE_MALLOC_POSIX.
24294         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
24295         instead of HAVE_MALLOC_POSIX.
24296         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
24297         HAVE_MALLOC_POSIX.
24298
24299         Use modern idiom for malloc() replacement.
24300         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
24301         AC_FUNC_MALLOC.
24302         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
24303         Autoconf's AC_FUNC_MALLOC.
24304         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24305         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
24306         (gl_REPLACE_MALLOC): New macro.
24307         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
24308
24309 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
24310
24311         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
24312         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
24313         This macro takes 3 arguments, not 4.
24314
24315 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
24316
24317         ipv6: fix detection under mingw
24318         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
24319         in6_addr.
24320
24321 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
24322
24323         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
24324         that strtod() works when cross-compiling to a glibc version known
24325         to work.
24326
24327 2010-06-15  Bruno Haible  <bruno@clisp.org>
24328
24329         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
24330
24331 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
24332
24333         select: Correct timeout.
24334         * lib/select.c (rpl_select): Compute wait_timeout correctly.
24335
24336 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
24337
24338         git-version-gen: init shell var to avoid env var influence
24339         * build-aux/git-version-gen (v): Init shell var to empty.
24340
24341 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
24342
24343         priv-set: Don't assume that priv.h exists merely because getppriv does.
24344         See Jan Andersen's bug report about AIX 5L in
24345         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
24346         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
24347         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
24348         * lib/priv-set.h: Likewise.
24349         * tests/test-priv-set.c: Likewise.
24350
24351 2010-06-13  Bruno Haible  <bruno@clisp.org>
24352
24353         relocatable: Make it easier to test whether to install wrappers.
24354         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
24355         RELOCATABLE_VIA_WRAPPER.
24356
24357 2010-06-13  Bruno Haible  <bruno@clisp.org>
24358
24359         gnulib-tool: Display specified modules and dependencies differently.
24360         * gnulib-tool (func_show_module_list): New function.
24361         (func_import, func_create_testdir): Invoke it.
24362         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24363
24364 2010-06-13  Bruno Haible  <bruno@clisp.org>
24365
24366         gnulib-tool: Align code of func_import and func_create_testdir.
24367         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
24368         specified_modules.
24369
24370 2010-06-12  Jim Meyering  <meyering@redhat.com>
24371
24372         test-inttostr: avoid spurious failure on Solaris 9
24373         * tests/test-inttostr.c (main): Skip the test when snprintf fails
24374         to accept "%ju".  Reported by Bruno Haible.
24375
24376 2010-06-11  Jim Meyering  <meyering@redhat.com>
24377
24378         test-sys_socket: mark variables as used more readably
24379         * tests/test-sys_socket.c (main): Mark otherwise unused variables
24380         as "used" explicitly via (void) statement casts.  This is more
24381         readable than using them in an artificial return expression.
24382         Suggestion from Bruno Haible.
24383
24384 2010-06-11  Bruno Haible  <bruno@clisp.org>
24385
24386         Avoid some more warnings from "gcc -Wwrite-strings".
24387         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
24388         to 'const char *'.
24389         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
24390         * tests/test-c-strcasestr.c (main): Likewise.
24391         * tests/test-mbscasestr1.c (main): Likewise.
24392         * tests/test-mbscasestr2.c (main): Likewise.
24393         * tests/test-memmem.c (main): Likewise.
24394         * tests/test-strstr.c (main): Likewise.
24395         * tests/test-strcasestr.c (main): Likewise.
24396
24397 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24398
24399         init.sh: change framework_failure_ to fail with status 99, not 1
24400         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
24401         automake's parallel-tests rule that this is an unexpected failure,
24402         even if the test is listed in XFAIL_TESTS.
24403
24404 2010-06-11  Jim Meyering  <meyering@redhat.com>
24405
24406         test-inttostr: avoid warnings about 4-6KB literal strings
24407         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
24408         Include "macros.h", for its definition of ASSERT.
24409         (CK): s/assert/ASSERT/
24410         * modules/inttostr-tests (Files): Add macros.h.
24411
24412         init.sh: don't use $ME_ or skip_ before they are defined
24413         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
24414         their first uses.  Also hoist their companions: warn_, fail_,
24415         framework_failure_, $stderr_fileno.  Prompted by a patch from
24416         Stefano Lattarini.
24417
24418         test-sys_socket: avoid set-but-not-used warnings from gcc
24419         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
24420         avoid warning about set-but-not-used variables.
24421
24422         test-xvasprintf: avoid 'const' discard warnings
24423         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
24424         "const" when assigning from literal strings.
24425         (test_xasprintf): Add "void" in function argument list to placate
24426         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
24427
24428         tests: avoid compilation warnings in argmatch and exclude tests...
24429         in packages that define ARGMATCH_DIE_DECL, like coreutils.
24430         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
24431         Since it always exits, declare with the "noreturn" attribute.
24432         * tests/test-argmatch.c: Likewise.
24433
24434         tests: avoid 'const' discard warnings in mbsstr tests
24435         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
24436         * tests/test-mbsstr2.c (main): Likewise.
24437
24438         test-verify: avoid warning from gcc's -Wmissing-declarations
24439         * tests/test-verify.c (function): Declare to be static.
24440
24441         test-inttostr.c: include <string.h> for use of strcmp
24442         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
24443
24444         test-linkat: avoid failed assertion on "other" architectures
24445         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
24446         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
24447         sparc: https://bugs.launchpad.net/bugs/591968
24448
24449 2010-06-11  Jim Meyering  <meyering@redhat.com>
24450
24451         printf.m4: avoid autoconf's "Expanded Before Required" warning
24452         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
24453         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
24454         autoconf warning.
24455
24456 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
24457
24458         Replacement header templates are now named with ".in", not "_".
24459         * doc/gnulib-intro.texi: Correct.
24460
24461 2010-06-10  Jim Meyering  <meyering@redhat.com>
24462
24463         inttostr-tests: depend on snprintf, not snprintf-posix
24464         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
24465         snprintf-posix, to avoid this aclocal failure:
24466           missing file gnulib-tests/vasnprintf.c
24467           configure.ac:45: error: expected source file, required through \
24468           AC_LIBSOURCES, not found
24469
24470 2010-06-10  Jim Meyering  <meyering@redhat.com>
24471
24472         inttostr: add a new function, inttostr, and tests
24473         The namesake function was not available.  The existence of the
24474         template file, inttostr.c makes its addition nontrivial.
24475         * lib/anytostr.c: Rename from inttostr.c.
24476         (anytostr): Rename from inttostr.
24477         * lib/inttostr.c: New file.
24478         * modules/inttostr (Files): Add anytostr.c.
24479         (Makefile.am): Set lib_SOURCES instead of ...
24480         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
24481         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
24482         * lib/offtostr.c: Likewise.
24483         * lib/uinttostr.c: Likewise.
24484         * lib/umaxtostr.c: Likewise.
24485         * modules/inttostr-tests: New file.
24486         * tests/test-inttostr.c: New file.  Test these functions.
24487
24488 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
24489             Bruno Haible  <bruno@clisp.org>
24490
24491         Add "Extending Gnulib" chapter to manual.
24492         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
24493         chapter.
24494         (Extending Gnulib): New chapter.
24495         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
24496         chapter.
24497
24498 2010-06-09  Bruno Haible  <bruno@clisp.org>
24499
24500         Avoid relocwrapper link errors due to gnulib replacement functions.
24501         * lib/areadlink.c: Use the system's malloc, realloc functions.
24502         (areadlink): Set errno to ENOMEM explicitly.
24503         * modules/areadlink (Depends-on): Remove malloc-posix.
24504         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24505
24506 2010-06-09  Bruno Haible  <bruno@clisp.org>
24507
24508         Avoid relocwrapper link errors due to gnulib replacement functions.
24509         * lib/canonicalize-lgpl.c: Use the system's malloc function.
24510         * lib/malloca.c: Likewise.
24511         * lib/relocatable.c: Likewise.
24512         * lib/progreloc.c: Use the system's malloc, sprintf functions.
24513         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
24514         * lib/setenv.c: Use the system's malloc, realloc functions.
24515         * lib/strerror.c: Use the system's sprintf function.
24516         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24517
24518 2010-06-04  Bruno Haible  <bruno@clisp.org>
24519
24520         Prefer documented low-level autoconf macro names.
24521         * m4/lib-link.m4: Use m4_translit instead of translit.
24522         * m4/environ.m4: Likewise.
24523         * m4/mathfunc.m4: Likewise.
24524         * m4/onceonly.m4: Likewise.
24525         * m4/stdint.m4: Likewise.
24526         Suggested by Eric Blake.
24527
24528 2010-06-04  Martin Lambers  <marlam@marlam.de>
24529             Bruno Haible  <bruno@clisp.org>
24530
24531         havelib: Allow library names with '+' characters.
24532         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
24533         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
24534
24535 2010-06-09  Bruno Haible  <bruno@clisp.org>
24536
24537         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
24538         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
24539         realloc failed.
24540
24541 2010-06-08  Peter Simons  <simons@cryp.to>
24542
24543         maint.mk: make the news-check rule more configurable
24544         * top/maint.mk (news-check-lines-spec): New variable.
24545         (news-check): Use "sed -n 1,10p" in place of "head".
24546
24547 2010-06-07  Jim Meyering  <meyering@redhat.com>
24548
24549         do-release-commit-and-tag: fix typo in --help
24550         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
24551
24552         regex: avoid new dead-code warning with gcc-4.6.0
24553         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
24554         if-block containing a while-loop.  It's been unused for at least
24555         5 years.
24556
24557 2010-06-05  Bruno Haible  <bruno@clisp.org>
24558
24559         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
24560         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
24561
24562 2010-06-04  Bruno Haible  <bruno@clisp.org>
24563
24564         Update to GNU gettext 0.18.1.
24565         * modules/gettext (configure.ac): Require gettext infrastructure from
24566         version 0.18.1.
24567
24568 2010-06-03  Bruno Haible  <bruno@clisp.org>
24569
24570         Don't use AC_LIBOBJ with file names in subdirectories.
24571         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
24572         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
24573         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
24574         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
24575         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
24576         gl_LIBUNISTRING_LIBSOURCE.
24577         (Makefile.am): Augment lib_SOURCES here, conditionally.
24578         * NEWS: Drop requirement for Automake option 'subdir-objects'.
24579
24580 2010-06-03  Bruno Haible  <bruno@clisp.org>
24581
24582         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
24583         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
24584         expansion does not end with a newline.
24585         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
24586         unnecessary newline.
24587
24588 2010-06-03  Bruno Haible  <bruno@clisp.org>
24589
24590         Reduce dependencies.
24591         * tests/test-quotearg.h: New file, extracted from
24592         tests/test-quotearg.c.
24593         * tests/test-quotearg-simple.c: New file, extracted from
24594         tests/test-quotearg.c.
24595         * tests/test-quotearg.c: Don't include <ctype.h>.
24596         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
24597         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
24598         use_quote_double_quotes, use_quotearg_colon): Moved to
24599         tests/test-quotearg.h.
24600         (results_g, flag_results, custom_quotes, custom_results): Moved
24601         to tests/test-quotearg-simple.c.
24602         (main): Moved the part that does not depend on gettext to
24603         tests/test-quotearg-simple.c. Return 77 if the test cannot be
24604         performed.
24605         * modules/quotearg-simple: New file.
24606         * modules/quotearg-simple-tests: New file.
24607         * modules/quotearg (Depends-on): Add quotearg-simple.
24608         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
24609         (Files): Add tests/test-quotearg.h.
24610         Reported by Paolo Bonzini.
24611
24612 2010-06-03  Bruno Haible  <bruno@clisp.org>
24613
24614         Reduce dependencies.
24615         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
24616
24617 2010-06-03  Bruno Haible  <bruno@clisp.org>
24618
24619         time: Undefine more broken macros.
24620         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
24621         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
24622         Reported by Eric Blake.
24623
24624 2010-06-03  Bruno Haible  <bruno@clisp.org>
24625
24626         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
24627         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
24628         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
24629         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
24630         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
24631         Reported by Ludovic Courtès <ludo@gnu.org>.
24632
24633 2010-06-02  Eric Blake  <eblake@redhat.com>
24634
24635         time: work with mingw + pthreads-win32 library
24636         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
24637         if timespec is defined only in pthread.h.
24638         * modules/time (Makefile.am): Substitute it.
24639         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
24640         <pthread.h>, when needed.
24641         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
24642         from the library.
24643
24644 2010-05-31  Bruno Haible  <bruno@clisp.org>
24645
24646         Avoid expanding two macros in the wrong order.
24647         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
24648         gl_LIBUNISTRING if it is defined.
24649         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
24650         autoconf >= 2.64.
24651         Reported by Ludovic Courtès <ludo@gnu.org>.
24652
24653 2010-05-27  Jim Meyering  <meyering@redhat.com>
24654
24655         maint.mk: also prohibit "#undef" of always-defined symbols
24656         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
24657         Allow more than one space before the symbol name.
24658         (sc_prohibit_always-defined_macros): Use grep's -E, now that
24659         the regexp uses alternation.
24660
24661 2010-05-26  Eric Blake  <eblake@redhat.com>
24662
24663         maint.mk: avoid echo -e
24664         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
24665         Convert all uses of echo -* to printf.
24666         Reported by Matthias Bolte.
24667
24668 2010-05-25  Bruno Haible  <bruno@clisp.org>
24669
24670         Update to GNU gettext 0.18, part 2.
24671         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
24672         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
24673
24674 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24675
24676         Add missing include in test-pwrite.c.
24677         * tests/test-pwrite.c: Include string.h, for strcmp.
24678
24679 2010-05-24  Bruno Haible  <bruno@clisp.org>
24680
24681         * NEWS: Mention requirement for Automake option 'subdir-objects'.
24682
24683 2010-05-24  Bruno Haible  <bruno@clisp.org>
24684
24685         Don't use conversion with transliteration in u{8,16,32}_strcoll.
24686         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
24687         iconveh_error argument.
24688         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
24689         U_STRCONV_TO_LOCALE.
24690         * lib/unistr/u16-strcoll.c: Likewise.
24691         * lib/unistr/u32-strcoll.c: Likewise.
24692         * modules/unistr/u8-strcoll (Depends-on): Add
24693         uniconv/u8-strconv-to-enc, localcharset. Remove
24694         uniconv/u8-strconv-to-locale.
24695         (configure.ac): Bump version number.
24696         * modules/unistr/u16-strcoll (Depends-on): Add
24697         uniconv/u16-strconv-to-enc, localcharset. Remove
24698         uniconv/u16-strconv-to-locale.
24699         (configure.ac): Bump version number.
24700         * modules/unistr/u32-strcoll (Depends-on): Add
24701         uniconv/u32-strconv-to-enc, localcharset. Remove
24702         uniconv/u32-strconv-to-locale.
24703         (configure.ac): Bump version number.
24704
24705 2010-05-24  Bruno Haible  <bruno@clisp.org>
24706
24707         Avoid a test failure on NetBSD 5.0.
24708         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
24709         an iconv() bug.
24710
24711 2010-05-24  Bruno Haible  <bruno@clisp.org>
24712
24713         Adjust #include directive style.
24714         * modules/regex (Includes): Recommend to write <regex.h>.
24715
24716 2010-05-24  Bruno Haible  <bruno@clisp.org>
24717
24718         regex: Don't require alloca.
24719         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
24720         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
24721         only inside if (0).
24722
24723 2010-05-23  Jim Meyering  <meyering@redhat.com>
24724
24725         test-renameat.c: include <sys/stat.h>
24726         * tests/test-renameat.c: Include <sys/stat.h>; required for
24727         definition of S_IS* macros.
24728
24729 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
24730
24731         Update maintainer documentation for 'relocatable-prog' module.
24732         * doc/relocatable-maint.texi: Update.
24733         Comments by Bruno Haible.
24734
24735 2010-05-23  Bruno Haible  <bruno@clisp.org>
24736
24737         git-merge-changelog: Enable --split-merged-entry by default.
24738         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
24739         (usage): Don't mention this option any more.
24740         Reported by Ralf Wildenhues.
24741
24742 2010-05-23  Jim Meyering  <meyering@redhat.com>
24743
24744         test-pwrite: do not leave behind a test file named "out"
24745         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
24746         The trivial-looking use of init.sh is really necessary.
24747         It ensures that the temporary file, "out", is created in
24748         a temporary directory, and removed upon termination.
24749         * tests/test-pwrite.sh: Re-add file.
24750         * modules/pwrite-tests: Reference it.
24751
24752 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24753
24754         Fix output redirection buglet in init.sh.
24755         * tests/init.sh: Fix redirection of stderr.
24756
24757 2010-05-20  Simon Josefsson  <simon@josefsson.org>
24758
24759         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
24760
24761 2010-05-17  Simon Josefsson  <simon@josefsson.org>
24762
24763         * modules/valgrind-tests: New file.
24764         * m4/valgrind-tests.m4: New file.
24765         * doc/valgrind-tests.texi: New file.
24766         * doc/gnulib.texi (Running self-tests under valgrind): New
24767         section.
24768
24769 2010-05-19  Bruno Haible  <bruno@clisp.org>
24770
24771         Clean up dead code in recent commit.
24772         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
24773         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
24774         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
24775         Suggested by Paolo Bonzini.
24776
24777 2010-05-19  Bruno Haible  <bruno@clisp.org>
24778
24779         Avoid valgrind error reports from libunistring.
24780         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
24781         * modules/libunistring (Files): Add it.
24782         * modules/libunistring-optional (Files): Likewise.
24783
24784 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
24785             Bruno Haible  <bruno@clisp.org>
24786
24787         New module 'libunistring-optional'.
24788         * modules/libunistring-optional: New file.
24789         * m4/libunistring-base.m4: New file.
24790         * m4/libunistring-optional.m4: New file.
24791         * lib/unicase.in.h: Renamed from lib/unicase.h.
24792         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
24793         * lib/unictype.in.h: Renamed from lib/unictype.h.
24794         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
24795         * lib/uniname.in.h: Renamed from lib/uniname.h.
24796         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
24797         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
24798         * lib/unistr.in.h: Renamed from lib/unistr.h.
24799         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
24800         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
24801         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
24802         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
24803         gl_LIBUNISTRING. If the library was found, determine the installed
24804         version and set LIBUNISTRING_VERSION.
24805         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
24806         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
24807         handle a configuration option --with-included-libunistring.
24808         * modules/libunistring (Files): Add m4/absolute-header.m4.
24809         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
24810         Add m4/libunistring-base.m4.
24811         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24812         (Makefile.am): Build unicase.h from unicase.in.h.
24813         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
24814         Add m4/libunistring-base.m4.
24815         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24816         (Makefile.am): Build uniconv.h from uniconv.in.h.
24817         * modules/unictype/base (Files): Use unictype.in.h instead of
24818         unictype.h. Add m4/libunistring-base.m4.
24819         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24820         (Makefile.am): Build unictype.h from unictype.in.h.
24821         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
24822         Add m4/libunistring-base.m4.
24823         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24824         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
24825         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
24826         Add m4/libunistring-base.m4.
24827         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24828         (Makefile.am): Build uniname.h from uniname.in.h.
24829         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
24830         Add m4/libunistring-base.m4.
24831         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24832         (Makefile.am): Build uninorm.h from uninorm.in.h.
24833         * modules/unistdio/base (Files): Use unistdio.in.h instead of
24834         unistdio.h. Add m4/libunistring-base.m4.
24835         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24836         (Makefile.am): Build unistdio.h from unistdio.in.h.
24837         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
24838         Add m4/libunistring-base.m4.
24839         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24840         (Makefile.am): Build unistr.h from unistr.in.h.
24841         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
24842         Add m4/libunistring-base.m4.
24843         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24844         (Makefile.am): Build unitypes.h from unitypes.in.h.
24845         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
24846         Add m4/libunistring-base.m4.
24847         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24848         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
24849         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
24850         uniwidth.h. Add m4/libunistring-base.m4.
24851         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24852         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
24853         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
24854         instead of augmenting lib_SOURCES.
24855         * modules/unicase/empty-suffix-context: Likewise.
24856         * modules/unicase/locale-language: Likewise.
24857         * modules/unicase/tolower: Likewise.
24858         * modules/unicase/totitle: Likewise.
24859         * modules/unicase/toupper: Likewise.
24860         * modules/unicase/u8-casecmp: Likewise.
24861         * modules/unicase/u8-casecoll: Likewise.
24862         * modules/unicase/u8-casefold: Likewise.
24863         * modules/unicase/u8-casexfrm: Likewise.
24864         * modules/unicase/u8-ct-casefold: Likewise.
24865         * modules/unicase/u8-ct-tolower: Likewise.
24866         * modules/unicase/u8-ct-totitle: Likewise.
24867         * modules/unicase/u8-ct-toupper: Likewise.
24868         * modules/unicase/u8-is-cased: Likewise.
24869         * modules/unicase/u8-is-casefolded: Likewise.
24870         * modules/unicase/u8-is-lowercase: Likewise.
24871         * modules/unicase/u8-is-titlecase: Likewise.
24872         * modules/unicase/u8-is-uppercase: Likewise.
24873         * modules/unicase/u8-prefix-context: Likewise.
24874         * modules/unicase/u8-suffix-context: Likewise.
24875         * modules/unicase/u8-tolower: Likewise.
24876         * modules/unicase/u8-totitle: Likewise.
24877         * modules/unicase/u8-toupper: Likewise.
24878         * modules/unicase/u16-casecmp: Likewise.
24879         * modules/unicase/u16-casecoll: Likewise.
24880         * modules/unicase/u16-casefold: Likewise.
24881         * modules/unicase/u16-casexfrm: Likewise.
24882         * modules/unicase/u16-ct-casefold: Likewise.
24883         * modules/unicase/u16-ct-tolower: Likewise.
24884         * modules/unicase/u16-ct-totitle: Likewise.
24885         * modules/unicase/u16-ct-toupper: Likewise.
24886         * modules/unicase/u16-is-cased: Likewise.
24887         * modules/unicase/u16-is-casefolded: Likewise.
24888         * modules/unicase/u16-is-lowercase: Likewise.
24889         * modules/unicase/u16-is-titlecase: Likewise.
24890         * modules/unicase/u16-is-uppercase: Likewise.
24891         * modules/unicase/u16-prefix-context: Likewise.
24892         * modules/unicase/u16-suffix-context: Likewise.
24893         * modules/unicase/u16-tolower: Likewise.
24894         * modules/unicase/u16-totitle: Likewise.
24895         * modules/unicase/u16-toupper: Likewise.
24896         * modules/unicase/u32-casecmp: Likewise.
24897         * modules/unicase/u32-casecoll: Likewise.
24898         * modules/unicase/u32-casefold: Likewise.
24899         * modules/unicase/u32-casexfrm: Likewise.
24900         * modules/unicase/u32-ct-casefold: Likewise.
24901         * modules/unicase/u32-ct-tolower: Likewise.
24902         * modules/unicase/u32-ct-totitle: Likewise.
24903         * modules/unicase/u32-ct-toupper: Likewise.
24904         * modules/unicase/u32-is-cased: Likewise.
24905         * modules/unicase/u32-is-casefolded: Likewise.
24906         * modules/unicase/u32-is-lowercase: Likewise.
24907         * modules/unicase/u32-is-titlecase: Likewise.
24908         * modules/unicase/u32-is-uppercase: Likewise.
24909         * modules/unicase/u32-prefix-context: Likewise.
24910         * modules/unicase/u32-suffix-context: Likewise.
24911         * modules/unicase/u32-tolower: Likewise.
24912         * modules/unicase/u32-totitle: Likewise.
24913         * modules/unicase/u32-toupper: Likewise.
24914         * modules/unicase/ulc-casecmp: Likewise.
24915         * modules/unicase/ulc-casecoll: Likewise.
24916         * modules/unicase/ulc-casexfrm: Likewise.
24917         * modules/uniconv/u8-conv-from-enc: Likewise.
24918         * modules/uniconv/u8-conv-to-enc: Likewise.
24919         * modules/uniconv/u8-strconv-from-enc: Likewise.
24920         * modules/uniconv/u8-strconv-from-locale: Likewise.
24921         * modules/uniconv/u8-strconv-to-enc: Likewise.
24922         * modules/uniconv/u8-strconv-to-locale: Likewise.
24923         * modules/uniconv/u16-conv-from-enc: Likewise.
24924         * modules/uniconv/u16-conv-to-enc: Likewise.
24925         * modules/uniconv/u16-strconv-from-enc: Likewise.
24926         * modules/uniconv/u16-strconv-from-locale: Likewise.
24927         * modules/uniconv/u16-strconv-to-enc: Likewise.
24928         * modules/uniconv/u16-strconv-to-locale: Likewise.
24929         * modules/uniconv/u32-conv-from-enc: Likewise.
24930         * modules/uniconv/u32-conv-to-enc: Likewise.
24931         * modules/uniconv/u32-strconv-from-enc: Likewise.
24932         * modules/uniconv/u32-strconv-from-locale: Likewise.
24933         * modules/uniconv/u32-strconv-to-enc: Likewise.
24934         * modules/uniconv/u32-strconv-to-locale: Likewise.
24935         * modules/unictype/bidicategory-byname: Likewise.
24936         * modules/unictype/bidicategory-name: Likewise.
24937         * modules/unictype/bidicategory-of: Likewise.
24938         * modules/unictype/bidicategory-test: Likewise.
24939         * modules/unictype/block-list: Likewise.
24940         * modules/unictype/block-test: Likewise.
24941         * modules/unictype/category-C: Likewise.
24942         * modules/unictype/category-Cc: Likewise.
24943         * modules/unictype/category-Cf: Likewise.
24944         * modules/unictype/category-Cn: Likewise.
24945         * modules/unictype/category-Co: Likewise.
24946         * modules/unictype/category-Cs: Likewise.
24947         * modules/unictype/category-L: Likewise.
24948         * modules/unictype/category-Ll: Likewise.
24949         * modules/unictype/category-Lm: Likewise.
24950         * modules/unictype/category-Lo: Likewise.
24951         * modules/unictype/category-Lt: Likewise.
24952         * modules/unictype/category-Lu: Likewise.
24953         * modules/unictype/category-M: Likewise.
24954         * modules/unictype/category-Mc: Likewise.
24955         * modules/unictype/category-Me: Likewise.
24956         * modules/unictype/category-Mn: Likewise.
24957         * modules/unictype/category-N: Likewise.
24958         * modules/unictype/category-Nd: Likewise.
24959         * modules/unictype/category-Nl: Likewise.
24960         * modules/unictype/category-No: Likewise.
24961         * modules/unictype/category-P: Likewise.
24962         * modules/unictype/category-Pc: Likewise.
24963         * modules/unictype/category-Pd: Likewise.
24964         * modules/unictype/category-Pe: Likewise.
24965         * modules/unictype/category-Pf: Likewise.
24966         * modules/unictype/category-Pi: Likewise.
24967         * modules/unictype/category-Po: Likewise.
24968         * modules/unictype/category-Ps: Likewise.
24969         * modules/unictype/category-S: Likewise.
24970         * modules/unictype/category-Sc: Likewise.
24971         * modules/unictype/category-Sk: Likewise.
24972         * modules/unictype/category-Sm: Likewise.
24973         * modules/unictype/category-So: Likewise.
24974         * modules/unictype/category-Z: Likewise.
24975         * modules/unictype/category-Zl: Likewise.
24976         * modules/unictype/category-Zp: Likewise.
24977         * modules/unictype/category-Zs: Likewise.
24978         * modules/unictype/category-and: Likewise.
24979         * modules/unictype/category-and-not: Likewise.
24980         * modules/unictype/category-byname: Likewise.
24981         * modules/unictype/category-name: Likewise.
24982         * modules/unictype/category-none: Likewise.
24983         * modules/unictype/category-of: Likewise.
24984         * modules/unictype/category-or: Likewise.
24985         * modules/unictype/category-test: Likewise.
24986         * modules/unictype/combining-class: Likewise.
24987         * modules/unictype/ctype-alnum: Likewise.
24988         * modules/unictype/ctype-alpha: Likewise.
24989         * modules/unictype/ctype-blank: Likewise.
24990         * modules/unictype/ctype-cntrl: Likewise.
24991         * modules/unictype/ctype-digit: Likewise.
24992         * modules/unictype/ctype-graph: Likewise.
24993         * modules/unictype/ctype-lower: Likewise.
24994         * modules/unictype/ctype-print: Likewise.
24995         * modules/unictype/ctype-punct: Likewise.
24996         * modules/unictype/ctype-space: Likewise.
24997         * modules/unictype/ctype-upper: Likewise.
24998         * modules/unictype/ctype-xdigit: Likewise.
24999         * modules/unictype/decimal-digit: Likewise.
25000         * modules/unictype/digit: Likewise.
25001         * modules/unictype/mirror: Likewise.
25002         * modules/unictype/numeric: Likewise.
25003         * modules/unictype/property-alphabetic: Likewise.
25004         * modules/unictype/property-ascii-hex-digit: Likewise.
25005         * modules/unictype/property-bidi-arabic-digit: Likewise.
25006         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
25007         * modules/unictype/property-bidi-block-separator: Likewise.
25008         * modules/unictype/property-bidi-boundary-neutral: Likewise.
25009         * modules/unictype/property-bidi-common-separator: Likewise.
25010         * modules/unictype/property-bidi-control: Likewise.
25011         * modules/unictype/property-bidi-embedding-or-override: Likewise.
25012         * modules/unictype/property-bidi-eur-num-separator: Likewise.
25013         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
25014         * modules/unictype/property-bidi-european-digit: Likewise.
25015         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
25016         * modules/unictype/property-bidi-left-to-right: Likewise.
25017         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
25018         * modules/unictype/property-bidi-other-neutral: Likewise.
25019         * modules/unictype/property-bidi-pdf: Likewise.
25020         * modules/unictype/property-bidi-segment-separator: Likewise.
25021         * modules/unictype/property-bidi-whitespace: Likewise.
25022         * modules/unictype/property-byname: Likewise.
25023         * modules/unictype/property-combining: Likewise.
25024         * modules/unictype/property-composite: Likewise.
25025         * modules/unictype/property-currency-symbol: Likewise.
25026         * modules/unictype/property-dash: Likewise.
25027         * modules/unictype/property-decimal-digit: Likewise.
25028         * modules/unictype/property-default-ignorable-code-point: Likewise.
25029         * modules/unictype/property-deprecated: Likewise.
25030         * modules/unictype/property-diacritic: Likewise.
25031         * modules/unictype/property-extender: Likewise.
25032         * modules/unictype/property-format-control: Likewise.
25033         * modules/unictype/property-grapheme-base: Likewise.
25034         * modules/unictype/property-grapheme-extend: Likewise.
25035         * modules/unictype/property-grapheme-link: Likewise.
25036         * modules/unictype/property-hex-digit: Likewise.
25037         * modules/unictype/property-hyphen: Likewise.
25038         * modules/unictype/property-id-continue: Likewise.
25039         * modules/unictype/property-id-start: Likewise.
25040         * modules/unictype/property-ideographic: Likewise.
25041         * modules/unictype/property-ids-binary-operator: Likewise.
25042         * modules/unictype/property-ids-trinary-operator: Likewise.
25043         * modules/unictype/property-ignorable-control: Likewise.
25044         * modules/unictype/property-iso-control: Likewise.
25045         * modules/unictype/property-join-control: Likewise.
25046         * modules/unictype/property-left-of-pair: Likewise.
25047         * modules/unictype/property-line-separator: Likewise.
25048         * modules/unictype/property-logical-order-exception: Likewise.
25049         * modules/unictype/property-lowercase: Likewise.
25050         * modules/unictype/property-math: Likewise.
25051         * modules/unictype/property-non-break: Likewise.
25052         * modules/unictype/property-not-a-character: Likewise.
25053         * modules/unictype/property-numeric: Likewise.
25054         * modules/unictype/property-other-alphabetic: Likewise.
25055         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
25056         * modules/unictype/property-other-grapheme-extend: Likewise.
25057         * modules/unictype/property-other-id-continue: Likewise.
25058         * modules/unictype/property-other-id-start: Likewise.
25059         * modules/unictype/property-other-lowercase: Likewise.
25060         * modules/unictype/property-other-math: Likewise.
25061         * modules/unictype/property-other-uppercase: Likewise.
25062         * modules/unictype/property-paired-punctuation: Likewise.
25063         * modules/unictype/property-paragraph-separator: Likewise.
25064         * modules/unictype/property-pattern-syntax: Likewise.
25065         * modules/unictype/property-pattern-white-space: Likewise.
25066         * modules/unictype/property-private-use: Likewise.
25067         * modules/unictype/property-punctuation: Likewise.
25068         * modules/unictype/property-quotation-mark: Likewise.
25069         * modules/unictype/property-radical: Likewise.
25070         * modules/unictype/property-sentence-terminal: Likewise.
25071         * modules/unictype/property-soft-dotted: Likewise.
25072         * modules/unictype/property-space: Likewise.
25073         * modules/unictype/property-terminal-punctuation: Likewise.
25074         * modules/unictype/property-test: Likewise.
25075         * modules/unictype/property-titlecase: Likewise.
25076         * modules/unictype/property-unassigned-code-value: Likewise.
25077         * modules/unictype/property-unified-ideograph: Likewise.
25078         * modules/unictype/property-uppercase: Likewise.
25079         * modules/unictype/property-variation-selector: Likewise.
25080         * modules/unictype/property-white-space: Likewise.
25081         * modules/unictype/property-xid-continue: Likewise.
25082         * modules/unictype/property-xid-start: Likewise.
25083         * modules/unictype/property-zero-width: Likewise.
25084         * modules/unictype/scripts: Likewise.
25085         * modules/unictype/syntax-c-ident: Likewise.
25086         * modules/unictype/syntax-c-whitespace: Likewise.
25087         * modules/unictype/syntax-java-ident: Likewise.
25088         * modules/unictype/syntax-java-whitespace: Likewise.
25089         * modules/unilbrk/u8-possible-linebreaks: Likewise.
25090         * modules/unilbrk/u8-width-linebreaks: Likewise.
25091         * modules/unilbrk/u16-possible-linebreaks: Likewise.
25092         * modules/unilbrk/u16-width-linebreaks: Likewise.
25093         * modules/unilbrk/u32-possible-linebreaks: Likewise.
25094         * modules/unilbrk/u32-width-linebreaks: Likewise.
25095         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
25096         * modules/unilbrk/ulc-width-linebreaks: Likewise.
25097         * modules/uniname/uniname: Likewise.
25098         * modules/uninorm/canonical-decomposition: Likewise.
25099         * modules/uninorm/composition: Likewise.
25100         * modules/uninorm/decomposing-form: Likewise.
25101         * modules/uninorm/decomposition: Likewise.
25102         * modules/uninorm/filter: Likewise.
25103         * modules/uninorm/nfc: Likewise.
25104         * modules/uninorm/nfd: Likewise.
25105         * modules/uninorm/nfkc: Likewise.
25106         * modules/uninorm/nfkd: Likewise.
25107         * modules/uninorm/u8-normalize: Likewise.
25108         * modules/uninorm/u8-normcmp: Likewise.
25109         * modules/uninorm/u8-normcoll: Likewise.
25110         * modules/uninorm/u8-normxfrm: Likewise.
25111         * modules/uninorm/u16-normalize: Likewise.
25112         * modules/uninorm/u16-normcmp: Likewise.
25113         * modules/uninorm/u16-normcoll: Likewise.
25114         * modules/uninorm/u16-normxfrm: Likewise.
25115         * modules/uninorm/u32-normalize: Likewise.
25116         * modules/uninorm/u32-normcmp: Likewise.
25117         * modules/uninorm/u32-normcoll: Likewise.
25118         * modules/uninorm/u32-normxfrm: Likewise.
25119         * modules/unistdio/u8-asnprintf: Likewise.
25120         * modules/unistdio/u8-asprintf: Likewise.
25121         * modules/unistdio/u8-snprintf: Likewise.
25122         * modules/unistdio/u8-sprintf: Likewise.
25123         * modules/unistdio/u8-u8-asnprintf: Likewise.
25124         * modules/unistdio/u8-u8-asprintf: Likewise.
25125         * modules/unistdio/u8-u8-snprintf: Likewise.
25126         * modules/unistdio/u8-u8-sprintf: Likewise.
25127         * modules/unistdio/u8-u8-vasnprintf: Likewise.
25128         * modules/unistdio/u8-u8-vasprintf: Likewise.
25129         * modules/unistdio/u8-u8-vsnprintf: Likewise.
25130         * modules/unistdio/u8-u8-vsprintf: Likewise.
25131         * modules/unistdio/u8-vasnprintf: Likewise.
25132         * modules/unistdio/u8-vasprintf: Likewise.
25133         * modules/unistdio/u8-vsnprintf: Likewise.
25134         * modules/unistdio/u8-vsprintf: Likewise.
25135         * modules/unistdio/u16-asnprintf: Likewise.
25136         * modules/unistdio/u16-asprintf: Likewise.
25137         * modules/unistdio/u16-snprintf: Likewise.
25138         * modules/unistdio/u16-sprintf: Likewise.
25139         * modules/unistdio/u16-u16-asnprintf: Likewise.
25140         * modules/unistdio/u16-u16-asprintf: Likewise.
25141         * modules/unistdio/u16-u16-snprintf: Likewise.
25142         * modules/unistdio/u16-u16-sprintf: Likewise.
25143         * modules/unistdio/u16-u16-vasnprintf: Likewise.
25144         * modules/unistdio/u16-u16-vasprintf: Likewise.
25145         * modules/unistdio/u16-u16-vsnprintf: Likewise.
25146         * modules/unistdio/u16-u16-vsprintf: Likewise.
25147         * modules/unistdio/u16-vasnprintf: Likewise.
25148         * modules/unistdio/u16-vasprintf: Likewise.
25149         * modules/unistdio/u16-vsnprintf: Likewise.
25150         * modules/unistdio/u16-vsprintf: Likewise.
25151         * modules/unistdio/u32-asnprintf: Likewise.
25152         * modules/unistdio/u32-asprintf: Likewise.
25153         * modules/unistdio/u32-snprintf: Likewise.
25154         * modules/unistdio/u32-sprintf: Likewise.
25155         * modules/unistdio/u32-u32-asnprintf: Likewise.
25156         * modules/unistdio/u32-u32-asprintf: Likewise.
25157         * modules/unistdio/u32-u32-snprintf: Likewise.
25158         * modules/unistdio/u32-u32-sprintf: Likewise.
25159         * modules/unistdio/u32-u32-vasnprintf: Likewise.
25160         * modules/unistdio/u32-u32-vasprintf: Likewise.
25161         * modules/unistdio/u32-u32-vsnprintf: Likewise.
25162         * modules/unistdio/u32-u32-vsprintf: Likewise.
25163         * modules/unistdio/u32-vasnprintf: Likewise.
25164         * modules/unistdio/u32-vasprintf: Likewise.
25165         * modules/unistdio/u32-vsnprintf: Likewise.
25166         * modules/unistdio/u32-vsprintf: Likewise.
25167         * modules/unistdio/ulc-asnprintf: Likewise.
25168         * modules/unistdio/ulc-asprintf: Likewise.
25169         * modules/unistdio/ulc-fprintf: Likewise.
25170         * modules/unistdio/ulc-snprintf: Likewise.
25171         * modules/unistdio/ulc-sprintf: Likewise.
25172         * modules/unistdio/ulc-vasnprintf: Likewise.
25173         * modules/unistdio/ulc-vasprintf: Likewise.
25174         * modules/unistdio/ulc-vfprintf: Likewise.
25175         * modules/unistdio/ulc-vsnprintf: Likewise.
25176         * modules/unistdio/ulc-vsprintf: Likewise.
25177         * modules/unistr/u8-check: Likewise.
25178         * modules/unistr/u8-chr: Likewise.
25179         * modules/unistr/u8-cmp: Likewise.
25180         * modules/unistr/u8-cmp2: Likewise.
25181         * modules/unistr/u8-cpy: Likewise.
25182         * modules/unistr/u8-cpy-alloc: Likewise.
25183         * modules/unistr/u8-endswith: Likewise.
25184         * modules/unistr/u8-mblen: Likewise.
25185         * modules/unistr/u8-mbsnlen: Likewise.
25186         * modules/unistr/u8-mbtouc: Likewise.
25187         * modules/unistr/u8-mbtouc-unsafe: Likewise.
25188         * modules/unistr/u8-mbtoucr: Likewise.
25189         * modules/unistr/u8-move: Likewise.
25190         * modules/unistr/u8-next: Likewise.
25191         * modules/unistr/u8-prev: Likewise.
25192         * modules/unistr/u8-set: Likewise.
25193         * modules/unistr/u8-startswith: Likewise.
25194         * modules/unistr/u8-stpcpy: Likewise.
25195         * modules/unistr/u8-stpncpy: Likewise.
25196         * modules/unistr/u8-strcat: Likewise.
25197         * modules/unistr/u8-strchr: Likewise.
25198         * modules/unistr/u8-strcmp: Likewise.
25199         * modules/unistr/u8-strcoll: Likewise.
25200         * modules/unistr/u8-strcpy: Likewise.
25201         * modules/unistr/u8-strcspn: Likewise.
25202         * modules/unistr/u8-strdup: Likewise.
25203         * modules/unistr/u8-strlen: Likewise.
25204         * modules/unistr/u8-strmblen: Likewise.
25205         * modules/unistr/u8-strmbtouc: Likewise.
25206         * modules/unistr/u8-strncat: Likewise.
25207         * modules/unistr/u8-strncmp: Likewise.
25208         * modules/unistr/u8-strncpy: Likewise.
25209         * modules/unistr/u8-strnlen: Likewise.
25210         * modules/unistr/u8-strpbrk: Likewise.
25211         * modules/unistr/u8-strrchr: Likewise.
25212         * modules/unistr/u8-strspn: Likewise.
25213         * modules/unistr/u8-strstr: Likewise.
25214         * modules/unistr/u8-strtok: Likewise.
25215         * modules/unistr/u8-to-u16: Likewise.
25216         * modules/unistr/u8-to-u32: Likewise.
25217         * modules/unistr/u8-uctomb: Likewise.
25218         * modules/unistr/u16-check: Likewise.
25219         * modules/unistr/u16-chr: Likewise.
25220         * modules/unistr/u16-cmp: Likewise.
25221         * modules/unistr/u16-cmp2: Likewise.
25222         * modules/unistr/u16-cpy: Likewise.
25223         * modules/unistr/u16-cpy-alloc: Likewise.
25224         * modules/unistr/u16-endswith: Likewise.
25225         * modules/unistr/u16-mblen: Likewise.
25226         * modules/unistr/u16-mbsnlen: Likewise.
25227         * modules/unistr/u16-mbtouc: Likewise.
25228         * modules/unistr/u16-mbtouc-unsafe: Likewise.
25229         * modules/unistr/u16-mbtoucr: Likewise.
25230         * modules/unistr/u16-move: Likewise.
25231         * modules/unistr/u16-next: Likewise.
25232         * modules/unistr/u16-prev: Likewise.
25233         * modules/unistr/u16-set: Likewise.
25234         * modules/unistr/u16-startswith: Likewise.
25235         * modules/unistr/u16-stpcpy: Likewise.
25236         * modules/unistr/u16-stpncpy: Likewise.
25237         * modules/unistr/u16-strcat: Likewise.
25238         * modules/unistr/u16-strchr: Likewise.
25239         * modules/unistr/u16-strcmp: Likewise.
25240         * modules/unistr/u16-strcoll: Likewise.
25241         * modules/unistr/u16-strcpy: Likewise.
25242         * modules/unistr/u16-strcspn: Likewise.
25243         * modules/unistr/u16-strdup: Likewise.
25244         * modules/unistr/u16-strlen: Likewise.
25245         * modules/unistr/u16-strmblen: Likewise.
25246         * modules/unistr/u16-strmbtouc: Likewise.
25247         * modules/unistr/u16-strncat: Likewise.
25248         * modules/unistr/u16-strncmp: Likewise.
25249         * modules/unistr/u16-strncpy: Likewise.
25250         * modules/unistr/u16-strnlen: Likewise.
25251         * modules/unistr/u16-strpbrk: Likewise.
25252         * modules/unistr/u16-strrchr: Likewise.
25253         * modules/unistr/u16-strspn: Likewise.
25254         * modules/unistr/u16-strstr: Likewise.
25255         * modules/unistr/u16-strtok: Likewise.
25256         * modules/unistr/u16-to-u32: Likewise.
25257         * modules/unistr/u16-to-u8: Likewise.
25258         * modules/unistr/u16-uctomb: Likewise.
25259         * modules/unistr/u32-check: Likewise.
25260         * modules/unistr/u32-chr: Likewise.
25261         * modules/unistr/u32-cmp: Likewise.
25262         * modules/unistr/u32-cmp2: Likewise.
25263         * modules/unistr/u32-cpy: Likewise.
25264         * modules/unistr/u32-cpy-alloc: Likewise.
25265         * modules/unistr/u32-endswith: Likewise.
25266         * modules/unistr/u32-mblen: Likewise.
25267         * modules/unistr/u32-mbsnlen: Likewise.
25268         * modules/unistr/u32-mbtouc: Likewise.
25269         * modules/unistr/u32-mbtouc-unsafe: Likewise.
25270         * modules/unistr/u32-mbtoucr: Likewise.
25271         * modules/unistr/u32-move: Likewise.
25272         * modules/unistr/u32-next: Likewise.
25273         * modules/unistr/u32-prev: Likewise.
25274         * modules/unistr/u32-set: Likewise.
25275         * modules/unistr/u32-startswith: Likewise.
25276         * modules/unistr/u32-stpcpy: Likewise.
25277         * modules/unistr/u32-stpncpy: Likewise.
25278         * modules/unistr/u32-strcat: Likewise.
25279         * modules/unistr/u32-strchr: Likewise.
25280         * modules/unistr/u32-strcmp: Likewise.
25281         * modules/unistr/u32-strcoll: Likewise.
25282         * modules/unistr/u32-strcpy: Likewise.
25283         * modules/unistr/u32-strcspn: Likewise.
25284         * modules/unistr/u32-strdup: Likewise.
25285         * modules/unistr/u32-strlen: Likewise.
25286         * modules/unistr/u32-strmblen: Likewise.
25287         * modules/unistr/u32-strmbtouc: Likewise.
25288         * modules/unistr/u32-strncat: Likewise.
25289         * modules/unistr/u32-strncmp: Likewise.
25290         * modules/unistr/u32-strncpy: Likewise.
25291         * modules/unistr/u32-strnlen: Likewise.
25292         * modules/unistr/u32-strpbrk: Likewise.
25293         * modules/unistr/u32-strrchr: Likewise.
25294         * modules/unistr/u32-strspn: Likewise.
25295         * modules/unistr/u32-strstr: Likewise.
25296         * modules/unistr/u32-strtok: Likewise.
25297         * modules/unistr/u32-to-u16: Likewise.
25298         * modules/unistr/u32-to-u8: Likewise.
25299         * modules/unistr/u32-uctomb: Likewise.
25300         * modules/uniwbrk/u8-wordbreaks: Likewise.
25301         * modules/uniwbrk/u16-wordbreaks: Likewise.
25302         * modules/uniwbrk/u32-wordbreaks: Likewise.
25303         * modules/uniwbrk/ulc-wordbreaks: Likewise.
25304         * modules/uniwbrk/wordbreak-property: Likewise.
25305         * modules/uniwidth/u8-strwidth: Likewise.
25306         * modules/uniwidth/u8-width: Likewise.
25307         * modules/uniwidth/u16-strwidth: Likewise.
25308         * modules/uniwidth/u16-width: Likewise.
25309         * modules/uniwidth/u32-strwidth: Likewise.
25310         * modules/uniwidth/u32-width: Likewise.
25311         * modules/uniwidth/width: Likewise.
25312         * modules/unicase/cased-tests (Makefile.am): Link all test programs
25313         with $(LIBUNISTRING).
25314         * modules/unicase/ignorable-tests: Likewise.
25315         * modules/unicase/locale-language-tests: Likewise.
25316         * modules/unicase/tolower-tests: Likewise.
25317         * modules/unicase/totitle-tests: Likewise.
25318         * modules/unicase/toupper-tests: Likewise.
25319         * modules/unicase/u8-casecmp-tests: Likewise.
25320         * modules/unicase/u8-casecoll-tests: Likewise.
25321         * modules/unicase/u8-casefold-tests: Likewise.
25322         * modules/unicase/u8-is-cased-tests: Likewise.
25323         * modules/unicase/u8-is-casefolded-tests: Likewise.
25324         * modules/unicase/u8-is-lowercase-tests: Likewise.
25325         * modules/unicase/u8-is-titlecase-tests: Likewise.
25326         * modules/unicase/u8-is-uppercase-tests: Likewise.
25327         * modules/unicase/u8-tolower-tests: Likewise.
25328         * modules/unicase/u8-totitle-tests: Likewise.
25329         * modules/unicase/u8-toupper-tests: Likewise.
25330         * modules/unicase/u16-casecmp-tests: Likewise.
25331         * modules/unicase/u16-casecoll-tests: Likewise.
25332         * modules/unicase/u16-casefold-tests: Likewise.
25333         * modules/unicase/u16-is-cased-tests: Likewise.
25334         * modules/unicase/u16-is-casefolded-tests: Likewise.
25335         * modules/unicase/u16-is-lowercase-tests: Likewise.
25336         * modules/unicase/u16-is-titlecase-tests: Likewise.
25337         * modules/unicase/u16-is-uppercase-tests: Likewise.
25338         * modules/unicase/u16-tolower-tests: Likewise.
25339         * modules/unicase/u16-totitle-tests: Likewise.
25340         * modules/unicase/u16-toupper-tests: Likewise.
25341         * modules/unicase/u32-casecmp-tests: Likewise.
25342         * modules/unicase/u32-casecoll-tests: Likewise.
25343         * modules/unicase/u32-casefold-tests: Likewise.
25344         * modules/unicase/u32-is-cased-tests: Likewise.
25345         * modules/unicase/u32-is-casefolded-tests: Likewise.
25346         * modules/unicase/u32-is-lowercase-tests: Likewise.
25347         * modules/unicase/u32-is-titlecase-tests: Likewise.
25348         * modules/unicase/u32-is-uppercase-tests: Likewise.
25349         * modules/unicase/u32-tolower-tests: Likewise.
25350         * modules/unicase/u32-totitle-tests: Likewise.
25351         * modules/unicase/u32-toupper-tests: Likewise.
25352         * modules/unicase/ulc-casecmp-tests: Likewise.
25353         * modules/unicase/ulc-casecoll-tests: Likewise.
25354         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
25355         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
25356         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
25357         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
25358         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
25359         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
25360         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
25361         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
25362         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
25363         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
25364         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
25365         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
25366         * modules/unictype/bidicategory-byname-tests: Likewise.
25367         * modules/unictype/bidicategory-name-tests: Likewise.
25368         * modules/unictype/bidicategory-of-tests: Likewise.
25369         * modules/unictype/bidicategory-test-tests: Likewise.
25370         * modules/unictype/block-list-tests: Likewise.
25371         * modules/unictype/block-of-tests: Likewise.
25372         * modules/unictype/block-test-tests: Likewise.
25373         * modules/unictype/category-C-tests: Likewise.
25374         * modules/unictype/category-Cc-tests: Likewise.
25375         * modules/unictype/category-Cf-tests: Likewise.
25376         * modules/unictype/category-Cn-tests: Likewise.
25377         * modules/unictype/category-Co-tests: Likewise.
25378         * modules/unictype/category-Cs-tests: Likewise.
25379         * modules/unictype/category-L-tests: Likewise.
25380         * modules/unictype/category-Ll-tests: Likewise.
25381         * modules/unictype/category-Lm-tests: Likewise.
25382         * modules/unictype/category-Lo-tests: Likewise.
25383         * modules/unictype/category-Lt-tests: Likewise.
25384         * modules/unictype/category-Lu-tests: Likewise.
25385         * modules/unictype/category-M-tests: Likewise.
25386         * modules/unictype/category-Mc-tests: Likewise.
25387         * modules/unictype/category-Me-tests: Likewise.
25388         * modules/unictype/category-Mn-tests: Likewise.
25389         * modules/unictype/category-N-tests: Likewise.
25390         * modules/unictype/category-Nd-tests: Likewise.
25391         * modules/unictype/category-Nl-tests: Likewise.
25392         * modules/unictype/category-No-tests: Likewise.
25393         * modules/unictype/category-P-tests: Likewise.
25394         * modules/unictype/category-Pc-tests: Likewise.
25395         * modules/unictype/category-Pd-tests: Likewise.
25396         * modules/unictype/category-Pe-tests: Likewise.
25397         * modules/unictype/category-Pf-tests: Likewise.
25398         * modules/unictype/category-Pi-tests: Likewise.
25399         * modules/unictype/category-Po-tests: Likewise.
25400         * modules/unictype/category-Ps-tests: Likewise.
25401         * modules/unictype/category-S-tests: Likewise.
25402         * modules/unictype/category-Sc-tests: Likewise.
25403         * modules/unictype/category-Sk-tests: Likewise.
25404         * modules/unictype/category-Sm-tests: Likewise.
25405         * modules/unictype/category-So-tests: Likewise.
25406         * modules/unictype/category-Z-tests: Likewise.
25407         * modules/unictype/category-Zl-tests: Likewise.
25408         * modules/unictype/category-Zp-tests: Likewise.
25409         * modules/unictype/category-Zs-tests: Likewise.
25410         * modules/unictype/category-and-not-tests: Likewise.
25411         * modules/unictype/category-and-tests: Likewise.
25412         * modules/unictype/category-byname-tests: Likewise.
25413         * modules/unictype/category-name-tests: Likewise.
25414         * modules/unictype/category-none-tests: Likewise.
25415         * modules/unictype/category-of-tests: Likewise.
25416         * modules/unictype/category-or-tests: Likewise.
25417         * modules/unictype/category-test-withtable-tests: Likewise.
25418         * modules/unictype/combining-class-tests: Likewise.
25419         * modules/unictype/ctype-alnum-tests: Likewise.
25420         * modules/unictype/ctype-alpha-tests: Likewise.
25421         * modules/unictype/ctype-blank-tests: Likewise.
25422         * modules/unictype/ctype-cntrl-tests: Likewise.
25423         * modules/unictype/ctype-digit-tests: Likewise.
25424         * modules/unictype/ctype-graph-tests: Likewise.
25425         * modules/unictype/ctype-lower-tests: Likewise.
25426         * modules/unictype/ctype-print-tests: Likewise.
25427         * modules/unictype/ctype-punct-tests: Likewise.
25428         * modules/unictype/ctype-space-tests: Likewise.
25429         * modules/unictype/ctype-upper-tests: Likewise.
25430         * modules/unictype/ctype-xdigit-tests: Likewise.
25431         * modules/unictype/decimal-digit-tests: Likewise.
25432         * modules/unictype/digit-tests: Likewise.
25433         * modules/unictype/mirror-tests: Likewise.
25434         * modules/unictype/numeric-tests: Likewise.
25435         * modules/unictype/property-alphabetic-tests: Likewise.
25436         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
25437         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
25438         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
25439         * modules/unictype/property-bidi-block-separator-tests: Likewise.
25440         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
25441         * modules/unictype/property-bidi-common-separator-tests: Likewise.
25442         * modules/unictype/property-bidi-control-tests: Likewise.
25443         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
25444         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
25445         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
25446         * modules/unictype/property-bidi-european-digit-tests: Likewise.
25447         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
25448         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
25449         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
25450         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
25451         * modules/unictype/property-bidi-pdf-tests: Likewise.
25452         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
25453         * modules/unictype/property-bidi-whitespace-tests: Likewise.
25454         * modules/unictype/property-byname-tests: Likewise.
25455         * modules/unictype/property-combining-tests: Likewise.
25456         * modules/unictype/property-composite-tests: Likewise.
25457         * modules/unictype/property-currency-symbol-tests: Likewise.
25458         * modules/unictype/property-dash-tests: Likewise.
25459         * modules/unictype/property-decimal-digit-tests: Likewise.
25460         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
25461         * modules/unictype/property-deprecated-tests: Likewise.
25462         * modules/unictype/property-diacritic-tests: Likewise.
25463         * modules/unictype/property-extender-tests: Likewise.
25464         * modules/unictype/property-format-control-tests: Likewise.
25465         * modules/unictype/property-grapheme-base-tests: Likewise.
25466         * modules/unictype/property-grapheme-extend-tests: Likewise.
25467         * modules/unictype/property-grapheme-link-tests: Likewise.
25468         * modules/unictype/property-hex-digit-tests: Likewise.
25469         * modules/unictype/property-hyphen-tests: Likewise.
25470         * modules/unictype/property-id-continue-tests: Likewise.
25471         * modules/unictype/property-id-start-tests: Likewise.
25472         * modules/unictype/property-ideographic-tests: Likewise.
25473         * modules/unictype/property-ids-binary-operator-tests: Likewise.
25474         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
25475         * modules/unictype/property-ignorable-control-tests: Likewise.
25476         * modules/unictype/property-iso-control-tests: Likewise.
25477         * modules/unictype/property-join-control-tests: Likewise.
25478         * modules/unictype/property-left-of-pair-tests: Likewise.
25479         * modules/unictype/property-line-separator-tests: Likewise.
25480         * modules/unictype/property-logical-order-exception-tests: Likewise.
25481         * modules/unictype/property-lowercase-tests: Likewise.
25482         * modules/unictype/property-math-tests: Likewise.
25483         * modules/unictype/property-non-break-tests: Likewise.
25484         * modules/unictype/property-not-a-character-tests: Likewise.
25485         * modules/unictype/property-numeric-tests: Likewise.
25486         * modules/unictype/property-other-alphabetic-tests: Likewise.
25487         * modules/unictype/property-other-default-ignorable-code-point-tests:
25488         Likewise.
25489         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
25490         * modules/unictype/property-other-id-continue-tests: Likewise.
25491         * modules/unictype/property-other-id-start-tests: Likewise.
25492         * modules/unictype/property-other-lowercase-tests: Likewise.
25493         * modules/unictype/property-other-math-tests: Likewise.
25494         * modules/unictype/property-other-uppercase-tests: Likewise.
25495         * modules/unictype/property-paired-punctuation-tests: Likewise.
25496         * modules/unictype/property-paragraph-separator-tests: Likewise.
25497         * modules/unictype/property-pattern-syntax-tests: Likewise.
25498         * modules/unictype/property-pattern-white-space-tests: Likewise.
25499         * modules/unictype/property-private-use-tests: Likewise.
25500         * modules/unictype/property-punctuation-tests: Likewise.
25501         * modules/unictype/property-quotation-mark-tests: Likewise.
25502         * modules/unictype/property-radical-tests: Likewise.
25503         * modules/unictype/property-sentence-terminal-tests: Likewise.
25504         * modules/unictype/property-soft-dotted-tests: Likewise.
25505         * modules/unictype/property-space-tests: Likewise.
25506         * modules/unictype/property-terminal-punctuation-tests: Likewise.
25507         * modules/unictype/property-test-tests: Likewise.
25508         * modules/unictype/property-titlecase-tests: Likewise.
25509         * modules/unictype/property-unassigned-code-value-tests: Likewise.
25510         * modules/unictype/property-unified-ideograph-tests: Likewise.
25511         * modules/unictype/property-uppercase-tests: Likewise.
25512         * modules/unictype/property-variation-selector-tests: Likewise.
25513         * modules/unictype/property-white-space-tests: Likewise.
25514         * modules/unictype/property-xid-continue-tests: Likewise.
25515         * modules/unictype/property-xid-start-tests: Likewise.
25516         * modules/unictype/property-zero-width-tests: Likewise.
25517         * modules/unictype/scripts-tests: Likewise.
25518         * modules/unictype/syntax-c-ident-tests: Likewise.
25519         * modules/unictype/syntax-c-whitespace-tests: Likewise.
25520         * modules/unictype/syntax-java-ident-tests: Likewise.
25521         * modules/unictype/syntax-java-whitespace-tests: Likewise.
25522         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
25523         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
25524         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
25525         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
25526         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
25527         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
25528         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
25529         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
25530         * modules/uniname/uniname-tests: Likewise.
25531         * modules/uninorm/canonical-decomposition-tests: Likewise.
25532         * modules/uninorm/compat-decomposition-tests: Likewise.
25533         * modules/uninorm/composition-tests: Likewise.
25534         * modules/uninorm/decomposing-form-tests: Likewise.
25535         * modules/uninorm/decomposition-tests: Likewise.
25536         * modules/uninorm/filter-tests: Likewise.
25537         * modules/uninorm/nfc-tests: Likewise.
25538         * modules/uninorm/nfd-tests: Likewise.
25539         * modules/uninorm/nfkc-tests: Likewise.
25540         * modules/uninorm/nfkd-tests: Likewise.
25541         * modules/uninorm/u8-normcmp-tests: Likewise.
25542         * modules/uninorm/u8-normcoll-tests: Likewise.
25543         * modules/uninorm/u16-normcmp-tests: Likewise.
25544         * modules/uninorm/u16-normcoll-tests: Likewise.
25545         * modules/uninorm/u32-normcmp-tests: Likewise.
25546         * modules/uninorm/u32-normcoll-tests: Likewise.
25547         * modules/unistdio/u8-asnprintf-tests: Likewise.
25548         * modules/unistdio/u8-vasnprintf-tests: Likewise.
25549         * modules/unistdio/u8-vasprintf-tests: Likewise.
25550         * modules/unistdio/u8-vsnprintf-tests: Likewise.
25551         * modules/unistdio/u8-vsprintf-tests: Likewise.
25552         * modules/unistdio/u16-asnprintf-tests: Likewise.
25553         * modules/unistdio/u16-vasnprintf-tests: Likewise.
25554         * modules/unistdio/u16-vasprintf-tests: Likewise.
25555         * modules/unistdio/u16-vsnprintf-tests: Likewise.
25556         * modules/unistdio/u16-vsprintf-tests: Likewise.
25557         * modules/unistdio/u32-asnprintf-tests: Likewise.
25558         * modules/unistdio/u32-vasnprintf-tests: Likewise.
25559         * modules/unistdio/u32-vasprintf-tests: Likewise.
25560         * modules/unistdio/u32-vsnprintf-tests: Likewise.
25561         * modules/unistdio/u32-vsprintf-tests: Likewise.
25562         * modules/unistdio/ulc-asnprintf-tests: Likewise.
25563         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
25564         * modules/unistdio/ulc-vasprintf-tests: Likewise.
25565         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
25566         * modules/unistdio/ulc-vsprintf-tests: Likewise.
25567         * modules/unistr/u8-check-tests: Likewise.
25568         * modules/unistr/u8-chr-tests: Likewise.
25569         * modules/unistr/u8-cmp-tests: Likewise.
25570         * modules/unistr/u8-cmp2-tests: Likewise.
25571         * modules/unistr/u8-cpy-alloc-tests: Likewise.
25572         * modules/unistr/u8-cpy-tests: Likewise.
25573         * modules/unistr/u8-mblen-tests: Likewise.
25574         * modules/unistr/u8-mbsnlen-tests: Likewise.
25575         * modules/unistr/u8-mbtouc-tests: Likewise.
25576         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
25577         * modules/unistr/u8-mbtoucr-tests: Likewise.
25578         * modules/unistr/u8-move-tests: Likewise.
25579         * modules/unistr/u8-next-tests: Likewise.
25580         * modules/unistr/u8-prev-tests: Likewise.
25581         * modules/unistr/u8-set-tests: Likewise.
25582         * modules/unistr/u8-stpcpy-tests: Likewise.
25583         * modules/unistr/u8-stpncpy-tests: Likewise.
25584         * modules/unistr/u8-strcat-tests: Likewise.
25585         * modules/unistr/u8-strcmp-tests: Likewise.
25586         * modules/unistr/u8-strcoll-tests: Likewise.
25587         * modules/unistr/u8-strcpy-tests: Likewise.
25588         * modules/unistr/u8-strdup-tests: Likewise.
25589         * modules/unistr/u8-strlen-tests: Likewise.
25590         * modules/unistr/u8-strmblen-tests: Likewise.
25591         * modules/unistr/u8-strmbtouc-tests: Likewise.
25592         * modules/unistr/u8-strncat-tests: Likewise.
25593         * modules/unistr/u8-strncmp-tests: Likewise.
25594         * modules/unistr/u8-strncpy-tests: Likewise.
25595         * modules/unistr/u8-strnlen-tests: Likewise.
25596         * modules/unistr/u8-to-u16-tests: Likewise.
25597         * modules/unistr/u8-to-u32-tests: Likewise.
25598         * modules/unistr/u8-uctomb-tests: Likewise.
25599         * modules/unistr/u16-check-tests: Likewise.
25600         * modules/unistr/u16-chr-tests: Likewise.
25601         * modules/unistr/u16-cmp-tests: Likewise.
25602         * modules/unistr/u16-cmp2-tests: Likewise.
25603         * modules/unistr/u16-cpy-alloc-tests: Likewise.
25604         * modules/unistr/u16-cpy-tests: Likewise.
25605         * modules/unistr/u16-mblen-tests: Likewise.
25606         * modules/unistr/u16-mbsnlen-tests: Likewise.
25607         * modules/unistr/u16-mbtouc-tests: Likewise.
25608         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
25609         * modules/unistr/u16-mbtoucr-tests: Likewise.
25610         * modules/unistr/u16-move-tests: Likewise.
25611         * modules/unistr/u16-next-tests: Likewise.
25612         * modules/unistr/u16-prev-tests: Likewise.
25613         * modules/unistr/u16-set-tests: Likewise.
25614         * modules/unistr/u16-stpcpy-tests: Likewise.
25615         * modules/unistr/u16-stpncpy-tests: Likewise.
25616         * modules/unistr/u16-strcat-tests: Likewise.
25617         * modules/unistr/u16-strcmp-tests: Likewise.
25618         * modules/unistr/u16-strcoll-tests: Likewise.
25619         * modules/unistr/u16-strcpy-tests: Likewise.
25620         * modules/unistr/u16-strdup-tests: Likewise.
25621         * modules/unistr/u16-strlen-tests: Likewise.
25622         * modules/unistr/u16-strmblen-tests: Likewise.
25623         * modules/unistr/u16-strmbtouc-tests: Likewise.
25624         * modules/unistr/u16-strncat-tests: Likewise.
25625         * modules/unistr/u16-strncmp-tests: Likewise.
25626         * modules/unistr/u16-strncpy-tests: Likewise.
25627         * modules/unistr/u16-strnlen-tests: Likewise.
25628         * modules/unistr/u16-to-u32-tests: Likewise.
25629         * modules/unistr/u16-to-u8-tests: Likewise.
25630         * modules/unistr/u16-uctomb-tests: Likewise.
25631         * modules/unistr/u32-check-tests: Likewise.
25632         * modules/unistr/u32-chr-tests: Likewise.
25633         * modules/unistr/u32-cmp-tests: Likewise.
25634         * modules/unistr/u32-cmp2-tests: Likewise.
25635         * modules/unistr/u32-cpy-alloc-tests: Likewise.
25636         * modules/unistr/u32-cpy-tests: Likewise.
25637         * modules/unistr/u32-mblen-tests: Likewise.
25638         * modules/unistr/u32-mbsnlen-tests: Likewise.
25639         * modules/unistr/u32-mbtouc-tests: Likewise.
25640         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
25641         * modules/unistr/u32-mbtoucr-tests: Likewise.
25642         * modules/unistr/u32-move-tests: Likewise.
25643         * modules/unistr/u32-next-tests: Likewise.
25644         * modules/unistr/u32-prev-tests: Likewise.
25645         * modules/unistr/u32-set-tests: Likewise.
25646         * modules/unistr/u32-stpcpy-tests: Likewise.
25647         * modules/unistr/u32-stpncpy-tests: Likewise.
25648         * modules/unistr/u32-strcat-tests: Likewise.
25649         * modules/unistr/u32-strcmp-tests: Likewise.
25650         * modules/unistr/u32-strcoll-tests: Likewise.
25651         * modules/unistr/u32-strcpy-tests: Likewise.
25652         * modules/unistr/u32-strdup-tests: Likewise.
25653         * modules/unistr/u32-strlen-tests: Likewise.
25654         * modules/unistr/u32-strmblen-tests: Likewise.
25655         * modules/unistr/u32-strmbtouc-tests: Likewise.
25656         * modules/unistr/u32-strncat-tests: Likewise.
25657         * modules/unistr/u32-strncmp-tests: Likewise.
25658         * modules/unistr/u32-strncpy-tests: Likewise.
25659         * modules/unistr/u32-strnlen-tests: Likewise.
25660         * modules/unistr/u32-to-u16-tests: Likewise.
25661         * modules/unistr/u32-to-u8-tests: Likewise.
25662         * modules/unistr/u32-uctomb-tests: Likewise.
25663         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
25664         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
25665         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
25666         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
25667         * modules/uniwidth/u8-strwidth-tests: Likewise.
25668         * modules/uniwidth/u8-width-tests: Likewise.
25669         * modules/uniwidth/u16-strwidth-tests: Likewise.
25670         * modules/uniwidth/u16-width-tests: Likewise.
25671         * modules/uniwidth/u32-strwidth-tests: Likewise.
25672         * modules/uniwidth/u32-width-tests: Likewise.
25673         * modules/uniwidth/width-tests: Likewise.
25674
25675 2010-05-18  Richard Jones  <rjones@redhat.com>
25676
25677         doc: users.txt: list hivex
25678         * users.txt: Add hivex.
25679
25680 2010-05-18  Richard Jones  <rjones@redhat.com>
25681
25682         doc: users.txt: list febootstrap
25683         * users.txt: Add febootstrap.
25684
25685 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
25686
25687         bootstrap: fix an error when gnulib is not used as a git submodule
25688         * build-aux/bootstrap (gnulib_path): If its length is zero then
25689         assign "gnulib" to it.
25690         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
25691
25692 2010-05-16  Bruno Haible  <bruno@clisp.org>
25693
25694         Avoid autoconf warnings about AM_ICONV.
25695         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
25696         2.64.
25697
25698 2010-05-16  Bruno Haible  <bruno@clisp.org>
25699
25700         absolute-header: Make the macro usable in more situations.
25701         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
25702         from gl_ABSOLUTE_HEADER.
25703         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
25704
25705 2010-05-16  James Youngman  <jay@gnu.org>
25706
25707         doc: update users.txt
25708         * users.txt: Add CSSC.
25709
25710 2010-05-16  Jim Meyering  <meyering@redhat.com>
25711
25712         init.sh: fix an error in the previous change; add more comments
25713         * tests/init.sh: Compare exit code in loop against 9, not 2.
25714         Patch by Bruno Haible.
25715         Make the two tests more similar by adding an empty "then" clause.
25716         Add comments.
25717
25718         init.sh: avoid unnecessary shell re-exec
25719         * tests/init.sh: Improve the re-exec-required check to first test the
25720         current shell.  If it passes the test, do not search for a shell that
25721         does pass, and do not re-exec.  This test is particularly contorted to
25722         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
25723         of $(...) evokes a syntax error and causes immediate shell exit with
25724         status 2.  Bruno Haible reported that the re-exec made it impossible
25725         to single-step through any init.sh-using script.
25726
25727 2010-05-16  Bruno Haible  <bruno@clisp.org>
25728
25729         Fix collision between gnulib's and libintl's printf replacements.
25730         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
25731         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
25732         (printf): When using GNU C, map the __printf__ function to rpl_printf
25733         via __asm__. When not using GNU C, define rpl_printf instead of
25734         __printf__.
25735         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
25736         commit.
25737         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
25738         commit.
25739         * m4/asm-underscore.m4: New file.
25740         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
25741         * modules/stdio (Files): Add m4/asm-underscore.m4.
25742         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
25743         Reported by Ben Pfaff.
25744
25745 2010-05-16  Bruno Haible  <bruno@clisp.org>
25746
25747         verify: Avoid skipping the test on openSUSE 11.0.
25748         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
25749
25750 2010-05-13  Bruno Haible  <bruno@clisp.org>
25751
25752         Avoid useless warnings from G++.
25753         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
25754         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
25755         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
25756
25757 2010-05-11  Jim Meyering  <meyering@redhat.com>
25758
25759         maint.mk: tweak preceding change
25760         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
25761         regexps tighter by anchoring at EOL, and make the new group "shy"
25762         for slightly decreased overhead.
25763
25764 2010-05-11  Eric Blake  <eblake@redhat.com>
25765
25766         maint.mk: gnulib doesn't guarantee NSIG
25767         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
25768
25769 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
25770
25771         test-pwrite.c: Remove unused variable declaration.
25772         * tests/test-pwrite.c (main): Remove read_buf declaration.
25773
25774         Remove useless test-pwrite.sh file.
25775         * tests/test-pwrite.sh: Delete file.
25776         * modules/pwrite-tests: Remove references.
25777         Reported by Bruno Haible.
25778
25779 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
25780
25781         init.sh: fix a typo
25782         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
25783
25784 2010-05-10  Jim Meyering  <meyering@redhat.com>
25785
25786         maint.mk: avoid using a temporary file in the always-defined-macros check
25787         * top/maint.mk (.re-defmac): Remove rule.
25788         (gl_trap_): Remove definition.
25789         (sc_prohibit_always-defined_macros): Rewrite not to create and
25790         depend on a temporary file.  Instead, depend on GNU grep's ability
25791         to read a list of regular expressions from stdin when given "-f -".
25792
25793 2010-05-09  Bruno Haible  <bruno@clisp.org>
25794
25795         Update to GNU gettext 0.18, part 1.
25796         * m4/gettext.m4: Update to GNU gettext 0.18.
25797         * m4/intl.m4: Likewise.
25798         * m4/po.m4: Likewise.
25799         * modules/gettext (Files): Add m4/fcntl-o.m4.
25800         (configure.ac): Require gettext infrastructure from version 0.18.
25801
25802 2010-05-09  Jim Meyering  <meyering@redhat.com>
25803
25804         init.sh: enable MALLOC_PERTURB_
25805         * tests/init.sh: Enable glibc's malloc-perturbing option.
25806
25807         maint.mk: improve sc_cross_check_PATH_usage_in_tests
25808         With my recent change in init.sh from the two-line form:
25809             -#   : ${srcdir=.}
25810             -#   . "$srcdir/init.sh"; path_prepend_ .
25811             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
25812         I noticed that using the one-line form would cause this test
25813         to fail with a false-positive, or to stop working altogether,
25814         depending on whether help-version changed or all the tests did.
25815         * top/maint.mk (_hv_regex): Remove this definition.
25816         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
25817         (_hv_regex_strong): Use a stronger regex to check for conformance.
25818         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
25819         Give a separate diagnostic for lack of conforming use.
25820
25821         maint.mk: prohibit definition of symbols defined by gnulib
25822         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
25823         definition of symbols defined by gnulib.
25824
25825 2010-05-09  Bruno Haible  <bruno@clisp.org>
25826
25827         acl: Avoid test failure on Cygwin-hosted mingw.
25828         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
25829
25830 2010-05-09  Bruno Haible  <bruno@clisp.org>
25831
25832         error: Use system's fcntl function.
25833         * lib/error.c (fcntl): Undefine.
25834
25835 2010-05-09  Jim Meyering  <meyering@redhat.com>
25836
25837         verify: adjust formatting to be more consistent
25838         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
25839         argument-list '('s, and after one comma.
25840
25841 2010-05-09  Bruno Haible  <bruno@clisp.org>
25842
25843         error: More reliable output on mingw.
25844         * lib/error.c: Include <windows.h>.
25845         (is_open): New function.
25846         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
25847         defined.
25848
25849 2010-05-09  Bruno Haible  <bruno@clisp.org>
25850
25851         vasnprintf: Fix syntax errors in libintl build on mingw.
25852         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
25853         pad_ourselves and prec_ourselves after use.
25854
25855 2010-05-08  Bruno Haible  <bruno@clisp.org>
25856
25857         * lib/config.charset: Update comments for Cygwin 1.7.
25858         * lib/localcharset.c: Likewise.
25859
25860 2010-05-07  Jim Meyering  <meyering@redhat.com>
25861
25862         init.sh: improve comments
25863         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
25864         . "${srcdir=.}/init.sh"; path_prepend_ .
25865         Add a note about path_prepend_ and the alternative of using
25866         TESTS_ENVIRONMENT.
25867
25868 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
25869
25870         exclude: Unescape hashed patterns in wildcard mode.
25871         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
25872         to the hash list.
25873         * tests/test-exclude8.sh: New test case.
25874         * modules/exclude-tests: Add new test.
25875
25876 2010-05-05  Eric Blake  <eblake@redhat.com>
25877
25878         verify: automate tests
25879         * modules/verify-tests: New module.
25880         * tests/test-verify.sh: New file.
25881         * tests/test-verify.c: Guard each negative test with a unique id.
25882         Also avoid warning about unused left hand of comma expressions.
25883
25884 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
25885
25886         Further improvements to verify.h, suggested by Eric Blake.
25887         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
25888         the GL_* versions, to avoid collision with OpenGL.
25889         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
25890         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
25891         than testing merely whether it's defined.
25892
25893         Modify verify.h to pacify gcc -Wredundant_decls.
25894         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
25895         These use the prefix "GL_" since they're likely to be useful elsewhere.
25896         We may need to break them out into a different .h file.
25897         (__COUNTER__): Define to 0 if the compiler doesn't support it.
25898         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
25899         of verify_function__.
25900
25901 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
25902
25903         Tests for module pwrite.
25904         * modules/pwrite-tests: New file.
25905         * tests/test-pwrite.sh: New file.
25906         * tests/test-pwrite.c: New file.
25907
25908         New module pwrite.
25909         * lib/unistd.in.h (pwrite): New declaration.
25910         * lib/pwrite.c: New file, from glibc with modifications.
25911         * m4/pwrite.m4: New file.
25912         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
25913         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
25914         REPLACE_PWRITE.
25915         * modules/pwrite: New file.
25916         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
25917         REPLACE_PWRITE.
25918         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
25919         * doc/posix-functions/pwrite.texi: Mention the new module.
25920
25921 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
25922
25923         pread: Update documentation.
25924         * doc/posix-functions/pread.texi: Mention the 'pread' module.
25925
25926 2010-05-04  Eric Blake  <eblake@redhat.com>
25927
25928         docs: update cygwin progress
25929         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
25930         this bug.
25931         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
25932         Added in cygwin 1.7.2.
25933         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
25934         Likewise.
25935         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
25936         Likewise.
25937         * doc/glibc-functions/dup3.texi (dup3): Likewise.
25938         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
25939         * doc/glibc-functions/accept4.texi (accept4): Likewise.
25940         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
25941         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
25942         Mention nproc module.
25943         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
25944         bug in cygwin 1.7.5 addition.
25945         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
25946         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
25947         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
25948         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
25949         1.7.5.
25950         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
25951         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
25952         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
25953         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
25954         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
25955         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
25956         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
25957         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
25958         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
25959         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
25960         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
25961         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
25962         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
25963         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
25964         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
25965         Likewise.
25966         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
25967         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
25968         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
25969         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
25970         Likewise.
25971         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
25972         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
25973         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
25974         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
25975         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
25976         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
25977         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
25978         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
25979         Likewise.
25980         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
25981         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
25982         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
25983         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
25984         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
25985         Likewise.
25986         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
25987         Likewise.
25988         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
25989         Likewise.
25990         * doc/glibc-functions/xdrrec_endofrecord.texi
25991         (xdrrec_endofrecord): Likewise.
25992         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
25993         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
25994         Likewise.
25995         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
25996         Likewise.
25997
25998 2010-05-04  Jim Meyering  <meyering@redhat.com>
25999
26000         gendocs.sh: make its "-s FILE" option more useful
26001         * build-aux/gendocs.sh: When honoring the -s FILE option, update
26002         $PACKAGE to reflect the probably-different basename of "FILE".
26003
26004 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
26005
26006         bootstrap: don't ignore download_po_files failure
26007         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
26008         failure.
26009
26010 2010-05-03  Jim Meyering  <meyering@redhat.com>
26011
26012         maint.mk: allow to pass options to gendocs.sh
26013         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
26014         (gendocs_options_): New overridable variable.
26015
26016         gnu-web-doc-update: don't ignore configure or build failure
26017         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
26018
26019         announce-gen: backslash-escape '@'s in --help output
26020         * build-aux/announce-gen: Fix syntax errors.
26021
26022         maint.mk, announce-gen: allow project-specific announcement mail headers
26023         * top/maint.mk (translation_project_): Define default.
26024         (announcement_Cc_, announcement_mail_headers_): Likewise.
26025         (announcement): Invoke announce-gen with new --mail-headers option.
26026         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
26027
26028         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
26029         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
26030         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
26031         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
26032         line in the "err2" output file when running "make check" in verbose
26033         mode (i.e., with set -x enabled).
26034
26035 2010-05-03  Bruno Haible  <bruno@clisp.org>
26036
26037         wctob: Fix for weird platforms.
26038         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
26039         argument value.
26040
26041 2010-05-03  Jim Meyering  <meyering@redhat.com>
26042
26043         maint.mk: prohibit unwarranted use of <strings.h>
26044         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
26045         strings.h in a file that does not also use strcasecmp, strncasecmp,
26046         ffs or ffsll.
26047
26048         maint.mk: remove obsolete comments
26049         * top/maint.mk: Remove stale, commented-out rules.
26050
26051 2010-05-02  Bruno Haible  <bruno@clisp.org>
26052
26053         wcwidth: Declare also when it's aliased.
26054         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
26055         macro.
26056
26057 2010-05-02  Bruno Haible  <bruno@clisp.org>
26058
26059         Fix regression from 2010-04-25.
26060         * gnulib-tool (func_modules_transitive_closure): Check the status of
26061         all modules, not only of the tests that are of the form foo-tests where
26062         foo is a module.
26063
26064 2010-05-02  Bruno Haible  <bruno@clisp.org>
26065
26066         wctob: Work around nasty Cygwin 1.7.2 bug.
26067         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
26068         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
26069
26070 2010-05-01  Bruno Haible  <bruno@clisp.org>
26071
26072         fpurge: Sharper test.
26073         * tests/test-fpurge.c (main): Add one more ftell check.
26074         * modules/fpurge-tests (Depends-on): Add ftell.
26075         Suggested by Eric Blake.
26076
26077 2010-05-01  Bruno Haible  <bruno@clisp.org>
26078
26079         ftello: Another test.
26080         * tests/test-ftello3.c: New file.
26081         * modules/ftello-tests (Files): Add it.
26082         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
26083         MOSTLYCLEANFILES.
26084
26085         ftell: Another test.
26086         * tests/test-ftell3.c: New file.
26087         * modules/ftell-tests (Files): Add it.
26088         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
26089         MOSTLYCLEANFILES.
26090
26091 2010-05-01  Bruno Haible  <bruno@clisp.org>
26092
26093         ftell, ftello: Work around Solaris bug.
26094         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
26095         * lib/ftello.c: Include stdio-impl.h.
26096         (ftello): On Solaris, when _IOWRT is set, compute the result without
26097         looking at _IOREAD.
26098         * modules/ftello (Files): Add lib/stdio-impl.h.
26099         * doc/posix-functions/ftell.texi: Mention Solaris bug.
26100         * doc/posix-functions/ftello.texi: Likewise.
26101         Reported by Eric Blake.
26102
26103 2010-05-01  Bruno Haible  <bruno@clisp.org>
26104
26105         freading: Adapt to special meaning of _IOREAD flag on Solaris.
26106         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
26107         the _IOWRT flag is also set.
26108
26109 2010-05-01  Bruno Haible  <bruno@clisp.org>
26110
26111         Fix doc about a HP-UX stdio bug.
26112         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
26113         * doc/posix-functions/ftello.texi: Likewise.
26114
26115 2010-05-01  Bruno Haible  <bruno@clisp.org>
26116
26117         lseek test: Fix failure on Solaris.
26118         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
26119         output.
26120
26121 2010-04-30  Jim Meyering  <meyering@redhat.com>
26122
26123         bootstrap: don't ignore failure to generate po*/Makevars
26124         * build-aux/bootstrap (with_gettext): Don't ignore failure
26125         to create po/Makevars or runtime-po/Makevars.
26126
26127 2010-04-29  Eric Blake  <eblake@redhat.com>
26128
26129         headers: relax license to LGPLv2+
26130         * modules/fcntl-h (License): Relax license.
26131         * modules/getopt-posix (License): Likewise.
26132         * modules/locale (License): Likewise.
26133         * modules/math (License): Likewise.
26134         * modules/pty (License): Likewise.
26135         * modules/sched (License): Likewise.
26136         * modules/search (License): Likewise.
26137         * modules/spawn (License): Likewise.
26138         * modules/stdarg (License): Likewise.
26139         * modules/sysexits (License): Likewise.
26140
26141 2010-04-29  Jim Meyering  <meyering@redhat.com>
26142
26143         inttypes: relax license to LGPLv2+
26144         * modules/inttypes (License): Relax license.
26145
26146 2010-04-29  Simon Josefsson  <simon@josefsson.org>
26147
26148         * top/maint.mk (indent): Run twice to produce idempotent results.
26149
26150 2010-04-28  Bruno Haible  <bruno@clisp.org>
26151
26152         getdate: Generate getdate.c in the source directory.
26153         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
26154         MOSTLYCLEANFILES.
26155         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
26156
26157 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
26158
26159         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
26160         is not declared as a const *; avoid warnings in that case.
26161
26162 2010-04-28  Eric Blake  <eblake@redhat.com>
26163
26164         canonicalize-lgpl: avoid compiler warning
26165         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
26166         declaration' / 'extraneous semicolon' warning with some compilers.
26167         Reported by Andreas Gruenbacher.
26168
26169 2010-04-28  Jim Meyering  <meyering@redhat.com>
26170
26171         init.sh: ensure a more reliable exit status when exiting via trap
26172         * tests/init.sh (setup_): Don't rely on $? in signal handler.
26173         Inspired by patches from Dmitry V. Levin.
26174         Also trap on signal 3 (SIGQUIT).
26175
26176 2010-04-27  Bruno Haible  <bruno@clisp.org>
26177
26178         Update doc about utimes().
26179         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
26180         'utimens' module.
26181         Reported by Andreas Gruenbacher <agruen@suse.de>.
26182
26183 2010-04-27  Eric Blake  <eblake@redhat.com>
26184
26185         full-read, full-write: relax license
26186         * modules/full-read (License): Drop to LGPLv2+.
26187         * modules/full-write (License): Likewise.
26188         * modules/safe-read (License): Likewise.
26189         * modules/safe-write (License): Likewise.
26190
26191         pthread: mention library for linking
26192         * modules/pthread (Link): Mention $(LIB_PTHREAD).
26193
26194 2010-04-27  Jim Meyering  <meyering@redhat.com>
26195
26196         maint.mk: fix a bug introduced in last change
26197         * top/maint.mk (gl_assured_headers_): Now that all names are on
26198         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
26199         is not anchored to end of word, it should be adequate.
26200
26201         maint.mk: avoid side-effect in latest syntax-check
26202         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
26203         to run commands via $(shell...), and hence to incur cost only when
26204         the new rule is actually run.
26205
26206         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
26207         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
26208         and use that to create a regexp used to detect all #if HAVE_..._H uses.
26209         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
26210         (gl_assured_headers_, az_, AZ_): Define.
26211         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
26212
26213 2010-04-26  Jim Meyering  <jim@meyering.net>
26214             Bruno Haible  <bruno@clisp.org>
26215
26216         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
26217         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
26218         Prompted by an exchange with Gilles Espinasse.
26219
26220 2010-04-26  Jim Meyering  <meyering@redhat.com>
26221
26222         git-version-gen: aesthetic tweak
26223         * build-aux/git-version-gen: Use "$nl" rather than a literal,
26224         so that the command remains on a single line.
26225
26226 2010-04-26  Eric Blake  <eblake@redhat.com>
26227
26228         git-version-gen: allow use on EBCDIC hosts
26229         * build-aux/git-version-gen (dirty): Use literal rather than tying
26230         ourselves to ascii.
26231         Reported by Steve Goetze.
26232
26233 2010-04-25  Bruno Haible  <bruno@clisp.org>
26234
26235         netdb: Add support for GNULIB_POSIXCHECK.
26236         * lib/netdb.in.h: Include warn-on-use.h.
26237         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
26238         functions are used when GNULIB_POSIXCHECK is defined and the
26239         getaddrinfo module is not in use.
26240         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
26241         freeaddrinfo, gai_strerror, getnameinfo are declared.
26242         * modules/netdb (Depends-on): Add warn-on-use.
26243         (Makefile.am): Include warn-on-use.h in netdb.h.
26244
26245 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
26246
26247         build: avoid "make check" failure without .git/ directory
26248         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
26249         there is no .git/ directory.
26250
26251 2010-04-25  Bruno Haible  <bruno@clisp.org>
26252
26253         ptsname: Fix misuse of ttyname_r.
26254         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
26255         of errno.
26256
26257 2010-04-25  Bruno Haible  <bruno@clisp.org>
26258
26259         ttyname_r: Make it work on Solaris 10.
26260         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
26261         if the system function has the POSIX declaration. Test whether the
26262         function fails if the buffer is less than 128 bytes large.
26263         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
26264         system's ttyname_r function. Provide a reasonably large buffer.
26265         * modules/ttyname_r (Depends-on): Add extensions.
26266         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
26267
26268 2010-04-25  Bruno Haible  <bruno@clisp.org>
26269
26270         Use the 'extensions' module for some more functions on Solaris.
26271         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
26272         module.
26273         * doc/posix-functions/ctime_r.texi: Likewise.
26274         * doc/posix-functions/getgrgid_r.texi: Likewise.
26275         * doc/posix-functions/getgrnam_r.texi: Likewise.
26276         * doc/posix-functions/getpwnam_r.texi: Likewise.
26277         * doc/posix-functions/getpwuid_r.texi: Likewise.
26278         * doc/posix-functions/readdir_r.texi: Likewise.
26279         * doc/posix-functions/sigwait.texi: Likewise.
26280         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
26281         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
26282
26283 2010-04-25  Bruno Haible  <bruno@clisp.org>
26284
26285         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
26286         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
26287         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
26288         * lib/ttyname_r.c: Include <limits.h>.
26289         (ttyname_r): Define using the system's ttyname_r function, if it exists
26290         and not on Solaris.
26291         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
26292         set.
26293         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
26294         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
26295         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
26296         Reported by Simon Josefsson.
26297
26298 2010-04-25  Bruno Haible  <bruno@clisp.org>
26299
26300         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
26301         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
26302         * doc/posix-functions/ctime_r.texi: Likewise.
26303         * doc/posix-functions/getgrgid_r.texi: Likewise.
26304         * doc/posix-functions/getgrnam_r.texi: Likewise.
26305         * doc/posix-functions/getlogin_r.texi: Likewise.
26306         * doc/posix-functions/getpwnam_r.texi: Likewise.
26307         * doc/posix-functions/getpwuid_r.texi: Likewise.
26308         * doc/posix-functions/readdir_r.texi: Likewise.
26309         * doc/posix-functions/sigwait.texi: Likewise.
26310         * doc/posix-functions/ttyname_r.texi: Likewise.
26311         Reported by Simon Josefsson.
26312
26313 2010-04-25  Bruno Haible  <bruno@clisp.org>
26314
26315         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
26316         * gnulib-tool (func_usage): Document that --with-*-tests options apply
26317         also to --create-testdir.
26318         (func_acceptable): Don't consider the status of *-tests modules here.
26319         (func_modules_transitive_closure): Consider it here, before including a
26320         test module.
26321         (func_import, func_create_testdir): Set inc_all_direct_tests,
26322         inc_all_indirect_tests.
26323         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
26324         --create-testdir and --create-megatestdir.
26325
26326 2010-04-25  Bruno Haible  <bruno@clisp.org>
26327
26328         gnulib-tool: Add --without-*-tests options.
26329         * gnulib-tool (func_usage): Document the --without-*-tests options.
26330         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
26331         excl_unportable_tests): New variables.
26332         Fail if they are specified with --import or --update.
26333         (func_acceptable): Respect the excl_*_tests variables.
26334         (func_import): Set the excl_*_tests variables to empty.
26335
26336 2010-04-25  Simon Josefsson  <simon@josefsson.org>
26337             Bruno Haible  <bruno@clisp.org>
26338
26339         Work around a MacOS X 10.4 bug with openpty.
26340         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
26341         * tests/test-openpty.c (main): Close the master side explicitly.
26342
26343 2010-04-25  Bruno Haible  <bruno@clisp.org>
26344
26345         strnlen: Fix a C++ test error on MacOS X and Solaris.
26346         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
26347         the function is not declared.
26348         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
26349         Simon Josefsson.
26350
26351 2010-04-24  Bruno Haible  <bruno@clisp.org>
26352
26353         Avoid a gcc warning.
26354         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
26355         of correct type for %08lx directive.
26356         Reported by Eric Blake.
26357
26358 2010-04-24  Bruno Haible  <bruno@clisp.org>
26359
26360         vasnprintf: Correct errno value in case of out-of-memory.
26361         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
26362         or sprintf. Use the errno value from SNPRINTF or sprintf.
26363         Reported by Ian Beckwith <ianb@erislabs.net>.
26364
26365 2010-04-24  Bruno Haible  <bruno@clisp.org>
26366
26367         ansi-c++-opt: Find correct compiler when cross-compiling.
26368         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
26369         AC_CHECK_PROGS.
26370         Reported by Simon Josefsson.
26371
26372 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
26373
26374         vc-list-files: Add support for subversion
26375         * build-aux/vc-list-files: Use "svn list" to generate the list of
26376         files controlled by subversion.
26377
26378 2010-04-23  Jim Meyering  <meyering@redhat.com>
26379
26380         vc-list-files tests: convert to use init.sh
26381         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
26382         path_prepend_.
26383         Use Exit, not exit.
26384         Use skip_ rather than open coding it.
26385         Remove trap set-up and compare definitions.
26386         * tests/test-vc-list-files-git.sh: Likewise.
26387         * modules/vc-list-files-tests (Files): Add tests/init.sh.
26388
26389 2010-04-22  Simon Josefsson  <simon@josefsson.org>
26390
26391         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
26392         backup files.
26393
26394 2010-04-21  Simon Josefsson  <simon@josefsson.org>
26395
26396         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
26397
26398 2010-04-20  Eric Blake  <eblake@redhat.com>
26399
26400         tests: be robust to ignored SIGPIPE
26401         * tests/test-select-in.sh: Consume all output.
26402         * tests/test-lseek.sh: Check correct exit status, while avoiding
26403         EPIPE.
26404
26405 2010-04-20  Simon Josefsson  <simon@josefsson.org>
26406             Bruno Haible  <bruno@clisp.org>
26407
26408         visibility: Don't use -fvisibility if it leads to a warning.
26409         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
26410         yes, don't pretend that visibility works if it leads to a warning.
26411         Reported by Mike Gran <spk121@yahoo.com>.
26412
26413 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
26414
26415         * build-aux/bootstrap: Use "git -h" for testing for supported options
26416         instead of "git --help".  The short-form option only shows a summary,
26417         and doesn't layout the full man page.  Grep for the full option name
26418         in the summary, too.
26419
26420 2010-04-19  Bruno Haible  <bruno@clisp.org>
26421
26422         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
26423         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
26424         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
26425         mention of RELOCATABLE_STRIP.
26426         Reported by Sylvain Beucler <beuc@beuc.net>.
26427
26428 2010-04-19  Bruno Haible  <bruno@clisp.org>
26429
26430         * lib/diffseq.h: Fix typo in comment.
26431         Reported by Eric Blake.
26432
26433 2010-04-19  Bruno Haible  <bruno@clisp.org>
26434
26435         ioctl: Move autoconf macro to a .m4 file.
26436         * m4/ioctl.m4: New file, extracted from modules/ioctl.
26437         * modules/ioctl (Files): Add it.
26438         (configure.ac): Simply invoke gl_FUNC_IOCTL.
26439         Reported by Ian Beckwith <ianb@erislabs.net>.
26440
26441 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
26442             Bruno Haible  <bruno@clisp.org>
26443
26444         diffseq: Accommodate use-case with abstract arrays.
26445         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
26446         is not defined.
26447         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
26448         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
26449
26450 2010-04-18  Bruno Haible  <bruno@clisp.org>
26451
26452         * doc/posix-headers/stdbool.texi: More precise wording.
26453
26454 2010-04-17  Jim Meyering  <meyering@redhat.com>
26455
26456         maint.mk: use gnu-style indentation in an embedded perl script
26457         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
26458         Rename variable: s/two/last_two_bytes/
26459
26460 2010-04-16  Eric Blake  <eblake@redhat.com>
26461
26462         test-stdbool: skip test that fails with Solaris CC
26463         * tests/test-stdbool.c (f): Skip test that causes compilation
26464         error under buggy C++ compiler.
26465         * lib/stdbool.in.h: Document the limitation.
26466         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
26467
26468         setenv: allow compilation with C++
26469         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
26470         register keyword.
26471
26472         stdint: allow test to pass with C++
26473         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
26474
26475         getopt: allow compilation with C++
26476         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
26477         struct.
26478         * lib/getopt.c (_getopt_internal_r): Use correct type.
26479         Reported by Dagobert Michelson, via Joel E. Denny.
26480
26481 2010-04-16  Bruno Haible  <bruno@clisp.org>
26482
26483         Override netdb.h always.
26484         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
26485         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
26486         Reported by Ludovic Courtès <ludo@gnu.org>.
26487
26488 2010-04-15  Bruno Haible  <bruno@clisp.org>
26489
26490         openpty: Fix mistake from 2010-03-21.
26491         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
26492         Reported by Simon Josefsson.
26493
26494 2010-04-15  Eric Blake  <eblake@redhat.com>
26495
26496         test-forkpty: fix expected signature
26497         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
26498         Reported by Simon Josefsson.
26499
26500 2010-04-15  Jim Meyering  <meyering@redhat.com>
26501
26502         maint.mk: texinfo_suffix_re_: correct the default regexp
26503         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
26504
26505         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
26506         make it configurable via texinfo_suffix_re_.
26507
26508 2010-04-14  Eric Blake  <eblake@redhat.com>
26509
26510         strtok_r: relax license to LGPLv2+
26511         * modules/strtok_r (License): Relax license.
26512         Reported by Matthias Bolte.
26513
26514 2010-04-14  Simon Josefsson  <simon@josefsson.org>
26515
26516         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
26517         version 1.4.4 by default instead of requiring the libgcrypt
26518         version used during build.  This makes it possible to use the
26519         application with older but still binary compatible libgcrypt
26520         versions.
26521
26522 2010-04-13  Eric Blake  <eblake@redhat.com>
26523
26524         getopt-gnu: match recent glibc fixes and posix ruling
26525         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
26526         '+' handling, when requesting extensions.
26527         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
26528         'W;' handling.
26529         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
26530         * doc/posix-functions/getopt.texi (getopt): Document this.
26531         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
26532         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26533         Likewise.
26534
26535         getopt: merge bug fixes from glibc
26536         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
26537         diagnostics.  Honor '+:' correctly.  Reject ';'.
26538
26539         getopt-posix: detect MacOS bug
26540         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
26541         optind when missing a required argument.
26542         * doc/posix-functions/getopt.texi (getopt): Document the bug.
26543         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
26544         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26545         Likewise.
26546
26547         getopt-posix: avoid spurious failure on Solaris
26548         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
26549         an indicator that setting optind=1 is sufficient for reset.
26550
26551         getopt-posix: avoid spurious failure on FreeBSD
26552         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
26553         in POSIX mode, since the m4 test uses it.
26554
26555         gnulib-tool: silence warning on BSD sh
26556         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
26557
26558 2010-04-13  Jim Meyering  <meyering@redhat.com>
26559
26560         doc: users.txt: GNU patch now uses gnulib
26561         * users.txt: Add patch.
26562
26563 2010-04-12  Jim Meyering  <meyering@redhat.com>
26564
26565         maint.mk: generate more concise timing data for syntax-check rules
26566         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
26567         " done" from each line that reports a syntax-check test duration.
26568
26569 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
26570
26571         git-version-gen: use "git update-index..." rather than "git status"
26572         * build-aux/git-version-gen: Use git update-index --refresh, not
26573         "git status".  With some versions of git, "git status" would fail
26574         to update the index and result in an unwarranted "-dirty" suffix.
26575
26576 2010-04-11  Jim Meyering  <meyering@redhat.com>
26577
26578         openat: correct formatting (no semantic change)
26579         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
26580         Suggested by Bruno Haible.
26581
26582 2010-04-11  Bruno Haible  <bruno@clisp.org>
26583
26584         Stricter declaration checking in testdirs.
26585         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
26586         If for_tests is true, augment AM_CPPFLAGS to define
26587         GNULIB_STRICT_CHECKING.
26588         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
26589         GNULIB_STRICT_CHECKING is defined, verify that the function is
26590         declared.
26591
26592 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
26593             Bruno Haible  <bruno@clisp.org>
26594
26595         libunistring: Improve configure output.
26596         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
26597         Don't say "consider installing GNU libunistring" when checking again
26598         with libiconv.
26599
26600 2010-04-11  Bruno Haible  <bruno@clisp.org>
26601
26602         libunistring: Correct value of $LTLIBUNISTRING.
26603         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
26604         correct the value of $LTLIBUNISTRING.
26605
26606 2010-04-11  Bruno Haible  <bruno@clisp.org>
26607
26608         havelib: Add static libraries to LIBS in the right order.
26609         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
26610         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
26611
26612 2010-04-11  Bruno Haible  <bruno@clisp.org>
26613
26614         libunistring: Detect libunistring also when it depends on libiconv.
26615         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
26616         the second AC_LIB_HAVE_LINKFLAGS invocation.
26617
26618 2010-04-11  James Youngman  <jay@gnu.org>
26619
26620         close-stream: declare local scalars to be "const"
26621         * lib/close-stream.c (close_stream): Make boolean variables const
26622         to document the fact that we set but do not change them.
26623
26624 2010-04-11  Bruno Haible  <bruno@clisp.org>
26625
26626         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
26627
26628 2010-04-11  Jim Meyering  <meyering@redhat.com>
26629
26630         maint.mk: don't include dist-check.mk
26631         * top/maint.mk: Remove bogus include directive.
26632
26633         maint.mk: improve empty-line-at-EOF check
26634         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
26635         solution, rather than tail+Perl-based one.  The latter would read
26636         a few kilobytes from the end of each file, and did not handle empty
26637         files properly.
26638
26639         maint.mk: print the elapsed time for each syntax-check rule
26640         * top/maint.mk (sc_m_rules_): Save start time in a file.
26641         (sc_z_rules_): New rules: remove temp file and print elapsed time.
26642         (local-check): Interpose the .z rules
26643
26644 2010-04-11  Jim Meyering  <meyering@redhat.com>
26645
26646         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
26647         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
26648         empty file with one that ends in an empty line.
26649
26650 2010-04-10  Bruno Haible  <bruno@clisp.org>
26651
26652         mkdir: Make it work on mingw64.
26653         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
26654         * lib/mkdir.c: Update comment.
26655         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
26656
26657 2010-04-10  Bruno Haible  <bruno@clisp.org>
26658
26659         Don't override improved macro from newer autoconf.
26660         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
26661         autoconf >= 2.62.
26662         Reported by Joel E. Denny <jdenny@clemson.edu>.
26663
26664 2010-04-10  Jim Meyering  <meyering@redhat.com>
26665
26666         maint.mk: new syntax-check rule: prohibit empty lines at end of file
26667         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
26668
26669         maint.mk: correct a diagnostic
26670         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
26671         in diagnostic; now use $prohibit.
26672
26673 2010-04-10  Bruno Haible  <address@hidden>
26674
26675         fchownat: Fix a C++ test error on Solaris 8.
26676         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
26677         the function does not exist.
26678
26679 2010-04-10  Bruno Haible  <bruno@clisp.org>
26680
26681         vasnprintf: Add more tests.
26682         * tests/test-vasnprintf-posix.c: Include <errno.h>.
26683         (test_function): Test converting an invalid wide string.
26684
26685         vasnprintf: Correct handling of unconvertible wide string arguments.
26686         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
26687         VASNPRINTF.
26688         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
26689         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
26690         smaller than the expected maximum need for the directive. Set errno to
26691         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
26692         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
26693         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
26694         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
26695         * modules/vasnprintf (Files): Add m4/printf.m4.
26696         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26697
26698 2010-04-10  Bruno Haible  <bruno@clisp.org>
26699
26700         vasnprintf: Fix crash in %ls directive.
26701         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
26702         string is passed as argument to %ls, with no precision and no width.
26703         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26704
26705 2010-04-10  Bruno Haible  <bruno@clisp.org>
26706
26707         vasnprintf: Fix multiple test failures on mingw.
26708         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
26709         _snprintf, or snwprintf, not _snwprintf.
26710
26711 2010-04-10  Bruno Haible  <bruno@clisp.org>
26712
26713         write: Fix a C++ test error on mingw.
26714         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
26715
26716 2010-04-10  Bruno Haible  <bruno@clisp.org>
26717
26718         vasnprintf test: Reduce code duplication.
26719         * tests/test-vasnprintf.c (test_function): New function, extracted from
26720         test_vasnprintf.
26721         (test_vasnprintf, test_asnprintf): Invoke it.
26722
26723 2010-04-10  Bruno Haible  <bruno@clisp.org>
26724
26725         strnlen: Fix warning in C++ mode on MacOS X.
26726         * lib/string.in.h (strnlen): Use the modern idiom.
26727         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
26728         defining strnlen as a macro already in <config.h>.
26729         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
26730         REPLACE_STRNLEN.
26731         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
26732         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26733
26734 2010-04-08  James Youngman  <jay@gnu.org>
26735
26736         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
26737         the example.
26738
26739 2010-04-09  Jim Meyering  <meyering@redhat.com>
26740
26741         maint.mk: print better diagnostic when there is no $(_hv_file)
26742         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
26743         announce that when $(_hv_file) (aka help-version) does not exist.
26744
26745         init.sh: run tr in the "C" locale to avoid multibyte interpretation
26746         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
26747         not try to interpret its random input bytes.  Jarno Rajahalme reported
26748         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
26749         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
26750         (mktempd_): Likewise, just in case.
26751
26752         ftruncate: add two years to projected module removal date: 2012
26753         * m4/ftruncate.m4: Adjust comments.
26754
26755         ftruncate: mark module as obsolete; even MinGW provides it, now
26756         * modules/ftruncate (Status): Obsolete.
26757         (Notice): Say that.
26758         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
26759         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
26760
26761 2010-04-08  Bruno Haible  <bruno@clisp.org>
26762
26763         Fix side effects from tests-related modules.
26764         * modules/dprintf-posix (Comment): New section.
26765         * modules/fprintf-posix (Comment): Likewise.
26766         * modules/obstack-printf-posix (Comment): Likewise.
26767         * modules/printf-posix (Comment): Likewise.
26768         * modules/snprintf-posix (Comment): Likewise.
26769         * modules/sprintf-posix (Comment): Likewise.
26770         * modules/vasnprintf-posix (Comment): Likewise.
26771         * modules/vasprintf-posix (Comment): Likewise.
26772         * modules/vdprintf-posix (Comment): Likewise.
26773         * modules/vfprintf-posix (Comment): Likewise.
26774         * modules/vprintf-posix (Comment): Likewise.
26775         * modules/vsnprintf-posix (Comment): Likewise.
26776         * modules/vsprintf-posix (Comment): Likewise.
26777         * modules/xprintf-posix (Comment): Likewise.
26778         * modules/xvasprintf-posix (Comment): Likewise.
26779         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
26780         * modules/floorf-tests (Depends-on): Likewise.
26781         * modules/round-tests (Depends-on): Likewise.
26782         * modules/roundf-tests (Depends-on): Likewise.
26783         * modules/trunc-tests (Depends-on): Likewise.
26784         * modules/truncf-tests (Depends-on): Likewise.
26785         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
26786         'fprintf-posix' module is not present.
26787         * tests/test-floorf2.c (check): Likewise.
26788         * tests/test-trunc2.c (check): Likewise.
26789         * tests/test-truncf2.c (check): Likewise.
26790         * tests/test-round2.c (equal): Likewise.
26791         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26792
26793 2010-04-07  Karl Berry  <karl@gnu.org>
26794
26795         * config/srclist.txt,
26796         * config/srclistvars.sh,
26797         * config/srclist-update: doc fixes.
26798
26799 2010-04-07  Jim Meyering  <meyering@redhat.com>
26800
26801         maint.mk: add a PATH crosschecking syntax-check rule
26802         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
26803         Useful if you use a test like the one in help-version (coreutils,
26804         diffutils, grep, gzip) that ensures $(VERSION) matches what is
26805         printed by prog --version.
26806
26807 2010-04-06  Bruno Haible  <bruno@clisp.org>
26808
26809         Fix link error on mingw.
26810         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
26811         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
26812
26813 2010-04-06  Bruno Haible  <bruno@clisp.org>
26814
26815         Assume rmdir exists.
26816         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
26817
26818 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
26819
26820         doc: update users.txt
26821         * users.txt: Add gcal.
26822
26823 2010-04-06  Jim Meyering  <meyering@redhat.com>
26824
26825         init.sh: simply unset TMPDIR rather than risking env -i
26826         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
26827         although it probably works fine on all Unix-based systems, some
26828         systems (Cygwin?) cannot tolerate a totally cleared environment.
26829         Suggestion from Eric Blake.
26830
26831 2010-04-06  Jim Meyering  <meyering@redhat.com>
26832
26833         init.sh: portability fix: use env's POSIX-specified -i option not -u
26834         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
26835         than unportable env -u.  Solaris 5.11's env lacks support for -u.
26836
26837 2010-04-05  Bruno Haible  <bruno@clisp.org>
26838
26839         btowc: Work around Cygwin 1.7.2 bug.
26840         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
26841         does not map NUL to 0.
26842         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
26843
26844 2010-04-05  Bruno Haible  <bruno@clisp.org>
26845
26846         Make the multithread modules work on Cygwin 1.7.2.
26847         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
26848         imported symbols can be declared weak, so that it returns "no" on
26849         Cygwin 1.7.2.
26850
26851 2010-04-05  Bruno Haible  <bruno@clisp.org>
26852
26853         Use the module 'strncat'.
26854         * modules/unistr/u8-strncat (Depends-on): Add strncat.
26855
26856         Tests for module 'strncat'.
26857         * modules/strncat-tests: New file.
26858         * tests/test-strncat.c: New file.
26859
26860         New module 'strncat'.
26861         * lib/string.in.h (strncat): New declaration.
26862         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
26863         * m4/strncat.m4: New file, based on m4/memchr.m4.
26864         * modules/strncat: New file.
26865         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
26866         is declared.
26867         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
26868         REPLACE_STRNCAT.
26869         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
26870         REPLACE_STRNCAT.
26871         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
26872         module.
26873         * tests/test-string-c++.cc: Check signature of strncat.
26874
26875 2010-04-05  Jim Meyering  <meyering@redhat.com>
26876
26877         xstrtoumax-tests: convert to use init.sh
26878         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
26879         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26880         Use Exit, not exit.
26881         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26882
26883         xstrtoimax-tests: convert to use init.sh
26884         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
26885         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26886         Use Exit, not exit.
26887         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26888
26889 2010-04-05  Bruno Haible  <bruno@clisp.org>
26890
26891         sys_socket: Avoid #define replacements in C++ mode.
26892         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
26893         warning to the function if possible, rather than #defining the symbol
26894         to a dysfunctional alias.
26895
26896 2010-04-05  Bruno Haible  <bruno@clisp.org>
26897
26898         fseeko: Fix C++ test error on mingw.
26899         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
26900         gl_FUNC_FSEEKO.
26901         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
26902         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
26903         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
26904         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
26905
26906 2010-04-05  Bruno Haible  <bruno@clisp.org>
26907
26908         duplocale: Improve test output.
26909         * tests/test-duplocale.c (main): Print reason for skipped test.
26910
26911 2010-04-05  Bruno Haible  <bruno@clisp.org>
26912
26913         Assume rmdir exists.
26914         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
26915         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
26916
26917 2010-04-05  Bruno Haible  <bruno@clisp.org>
26918
26919         Fix link error on Solaris 8 with cc.
26920         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
26921
26922 2010-04-05  Bruno Haible  <bruno@clisp.org>
26923
26924         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
26925         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
26926
26927 2010-04-05  Bruno Haible  <bruno@clisp.org>
26928
26929         vasprintf: Update documentation.
26930         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
26931
26932 2010-04-05  Bruno Haible  <bruno@clisp.org>
26933
26934         ptsname: Improve test.
26935         * tests/test-ptsname.c (main): Also try the various master names of BSD
26936         systems.
26937
26938 2010-04-05  Bruno Haible  <bruno@clisp.org>
26939
26940         memchr: Avoid a possible C++ test error.
26941         * lib/string.in.h (memchr): Provide declaration if function is missing.
26942         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
26943         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
26944         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
26945         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
26946
26947 2010-04-05  Bruno Haible  <bruno@clisp.org>
26948
26949         strtok_r: Improve idiom.
26950         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
26951         AC_LIBOBJ is used.
26952
26953 2010-04-05  Bruno Haible  <bruno@clisp.org>
26954
26955         strdup: Improve idiom.
26956         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
26957         AC_LIBOBJ is used.
26958         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
26959         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
26960         when AC_LIBOBJ is used.
26961
26962 2010-04-05  Bruno Haible  <bruno@clisp.org>
26963
26964         mbsinit, mbrtowc, wcrtomb: Improve idioms.
26965         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
26966         don't set REPLACE_MBSINIT to 1.
26967         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
26968         don't set REPLACE_MBRTOWC to 1.
26969         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
26970         exist, don't set REPLACE_MBSRTOWCS to 1.
26971         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
26972         exist, don't set REPLACE_MBSNRTOWCS to 1.
26973         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
26974         don't set REPLACE_WCRTOMB to 1.
26975         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
26976         exist, don't set REPLACE_WCSRTOMBS to 1.
26977         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
26978         exist, don't set REPLACE_WCSNRTOMBS to 1.
26979
26980 2010-04-05  Bruno Haible  <bruno@clisp.org>
26981
26982         ldexpl: Improve idiom.
26983         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
26984         make sure to set HAVE_DECL_LDEXPL to 0.
26985
26986 2010-04-05  Jim Meyering  <meyering@redhat.com>
26987
26988         xstrtol-tests: convert to use init.sh
26989         * modules/xstrtol-tests (Files): Add tests/init.sh.
26990         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26991         Use Exit, not exit.
26992         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26993
26994         atexit-tests: convert to use init.sh
26995         * modules/atexit-tests (Files): Add tests/init.sh.
26996         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26997         Use Exit, not exit.
26998         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26999
27000         init.sh: fix typo
27001         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
27002
27003         init.sh: make it easier for a test script to write to the tty, ...
27004         when using automake's parallel-tests mode.
27005         * tests/init.sh (stderr_fileno_): Define overridable variable.
27006         (warn_): New function, to use it.
27007         (fail_, skip_, framework_failure_): Use warn_.
27008
27009 2010-04-04  Bruno Haible  <bruno@clisp.org>
27010
27011         btowc: Avoid warning.
27012         * lib/btowc.c: Include <stdlib.h>.
27013         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
27014
27015 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
27016             Bruno Haible  <bruno@clisp.org>
27017
27018         wchar: Port to NetBSD 1.5.
27019         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
27020         * lib/wctype.in.h (WEOF): Likewise.
27021
27022 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
27023             Bruno Haible  <bruno@clisp.org>
27024
27025         Port extended stdio to NetBSD 1.5.
27026         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
27027         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
27028         older.
27029
27030 2010-04-04  Bruno Haible  <bruno@clisp.org>
27031
27032         string: Remove unused substitution.
27033         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
27034         HAVE_DECL_STRERROR.
27035         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
27036
27037 2010-04-04  Bruno Haible  <bruno@clisp.org>
27038
27039         strtod: Avoid a possible C++ test error.
27040         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
27041         set REPLACE_STRTOD.
27042
27043 2010-04-04  Bruno Haible  <bruno@clisp.org>
27044
27045         strerror: Update documentation.
27046         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
27047
27048 2010-04-04  Bruno Haible  <bruno@clisp.org>
27049
27050         stdio: Fix some C++ test errors on Solaris 8 with GCC.
27051         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
27052         _GL_CXXALIAS_SYS_CAST.
27053
27054 2010-04-04  Bruno Haible  <bruno@clisp.org>
27055
27056         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
27057         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
27058         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
27059         REPLACE_FREXPL to 1.
27060         * doc/posix-functions/frexpl.texi: Update documentation.
27061
27062 2010-04-04  Bruno Haible  <bruno@clisp.org>
27063
27064         math: Fix some C++ test errors on Solaris 8 and Cygwin.
27065         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
27066
27067 2010-04-04  Bruno Haible  <bruno@clisp.org>
27068
27069         Implement nanosleep for native Windows.
27070         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
27071
27072 2010-04-04  Bruno Haible  <bruno@clisp.org>
27073
27074         math: Fix some C++ test errors on Solaris 8.
27075         * lib/math.in.h (truncf, trunc): Use simpler idiom.
27076
27077 2010-04-04  Bruno Haible  <bruno@clisp.org>
27078
27079         math: Fix some C++ test errors on Cygwin.
27080         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
27081         truncl): Provide declaration if the system does not have it.
27082         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
27083         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
27084         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
27085         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
27086         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
27087         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
27088         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
27089         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
27090         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
27091         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
27092         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
27093         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
27094         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
27095         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
27096         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
27097         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
27098         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
27099         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
27100         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
27101         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
27102         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
27103         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
27104
27105 2010-04-04  Bruno Haible  <bruno@clisp.org>
27106
27107         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
27108         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
27109         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
27110         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
27111         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
27112         * m4/isinf.m4 (gl_ISINF): Likewise.
27113         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
27114
27115 2010-04-04  Bruno Haible  <bruno@clisp.org>
27116
27117         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
27118         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
27119
27120 2010-04-04  Bruno Haible  <bruno@clisp.org>
27121
27122         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
27123         * modules/tmpfile (configure.ac): Update.
27124
27125         tmpfile: Fix C++ test error on mingw.
27126         * lib/stdio.in.h (tmpfile): New declaration.
27127         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
27128         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
27129         * modules/tmpfile (Depends-on): Add stdio.
27130         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
27131         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
27132         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
27133         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
27134         REPLACE_TMPFILE.
27135         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
27136
27137 2010-04-04  Bruno Haible  <bruno@clisp.org>
27138
27139         ioctl: Fix C++ test error on mingw.
27140         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
27141         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
27142         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
27143
27144 2010-04-03  Bruno Haible  <bruno@clisp.org>
27145
27146         wcwidth: Fix C++ test error on mingw.
27147         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
27148         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
27149         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
27150
27151 2010-04-03  Bruno Haible  <bruno@clisp.org>
27152
27153         nanosleep: Fix C++ test error on mingw.
27154         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
27155         * lib/time.in.h (nanosleep): Use modern idiom.
27156         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
27157         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
27158         REPLACE_NANOSLEEP to 1.
27159         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
27160         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
27161
27162 2010-04-03  Bruno Haible  <bruno@clisp.org>
27163
27164         strptime: Fix C++ test error on mingw.
27165         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
27166         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
27167         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
27168         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
27169         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
27170         not REPLACE_STRPTIME.
27171         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
27172         REPLACE_STRPTIME.
27173
27174 2010-04-03  Bruno Haible  <bruno@clisp.org>
27175
27176         timegm: Fix C++ test error on mingw.
27177         * lib/time.in.h (timegm): Use modern idiom.
27178         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
27179         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
27180         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
27181         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
27182
27183 2010-04-03  Bruno Haible  <bruno@clisp.org>
27184
27185         timegm: Assume declaration if function exists.
27186         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
27187         if it exists. Don't clobber ac_cv_func_timegm.
27188
27189 2010-04-03  Bruno Haible  <bruno@clisp.org>
27190
27191         time_r: Fix C++ test error on mingw.
27192         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
27193         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
27194         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
27195         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
27196         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
27197
27198 2010-04-03  Bruno Haible  <bruno@clisp.org>
27199
27200         time_r: Minor updates.
27201         * modules/time_r (Description): Mention the provided functions.
27202         * lib/time_r.c: Don't include <string.h>.
27203         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
27204         * doc/posix-functions/localtime_r.texi: Likewise.
27205
27206 2010-04-03  Bruno Haible  <bruno@clisp.org>
27207
27208         time: Fix regression introduced on 2010-03-08.
27209         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
27210         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
27211
27212 2010-04-03  Jim Meyering  <meyering@redhat.com>
27213
27214         maint.mk: don't silently disable project-specific syntax-check rules
27215         * top/maint.mk (_prohibit_regexp): Define, to help people realize
27216         that they need to convert their project-specific syntax-check rules
27217         to use the new _sc_search_regexp.
27218
27219 2010-04-03  Bruno Haible  <bruno@clisp.org>
27220
27221         fchdir: Fix regression introduced on 2010-03-08.
27222         * lib/unistd.in.h (fchdir): Fix declaration.
27223         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
27224         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
27225         REPLACE_FCHDIR.
27226         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
27227         REPLACE_FCHDIR.
27228
27229 2010-04-03  Bruno Haible  <bruno@clisp.org>
27230
27231         getpagesize: Fix C++ test error on mingw.
27232         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
27233         system does not declare the function.
27234         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
27235         declared.
27236         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27237         HAVE_DECL_GETPAGESIZE.
27238         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
27239
27240 2010-04-03  Bruno Haible  <bruno@clisp.org>
27241
27242         stdio: Make C++ tests work on mingw.
27243         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
27244         does not declare the function.
27245
27246 2010-04-03  Bruno Haible  <bruno@clisp.org>
27247
27248         ftello: Fix C++ test error on mingw.
27249         * lib/stdio.in.h (ftello): Use modern idiom.
27250         * lib/ftello.c (ftello): Renamed from rpl_ftello.
27251         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
27252         is missing and that it needs to be replaced.
27253         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
27254         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
27255         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
27256
27257 2010-04-03  Bruno Haible  <bruno@clisp.org>
27258
27259         fseeko: Fix C++ test error on mingw.
27260         * lib/stdio.in.h (fseeko): Use modern idiom.
27261         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
27262         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
27263         is missing and that it needs to be replaced.
27264         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
27265         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
27266         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
27267
27268 2010-04-03  Bruno Haible  <bruno@clisp.org>
27269
27270         mkstemp: Fix C++ test error on mingw.
27271         * lib/stdlib.in.h (mkstemp): Use modern idiom.
27272         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
27273         function is missing and that it needs to be replaced.
27274         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
27275         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
27276
27277 2010-04-03  Bruno Haible  <bruno@clisp.org>
27278
27279         stpncpy: Fix C++ test error on mingw.
27280         * lib/string.in.h (stpncpy): Use modern idiom.
27281         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
27282         function is missing and that it needs to be replaced.
27283         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27284         REPLACE_STPNCPY.
27285         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
27286
27287 2010-04-03  Bruno Haible  <bruno@clisp.org>
27288
27289         sys_stat: Fix C++ test error on mingw.
27290         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
27291         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
27292
27293 2010-04-03  Bruno Haible  <bruno@clisp.org>
27294
27295         pty: Update doc.
27296         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
27297
27298 2010-04-03  Bruno Haible  <bruno@clisp.org>
27299
27300         unistd: Fix C++ test error on mingw.
27301         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
27302
27303 2010-04-03  Bruno Haible  <bruno@clisp.org>
27304
27305         Update doc regarding mingw.
27306         * doc/glibc-functions/openpty.texi: Update regarding mingw.
27307         * doc/glibc-functions/login_tty.texi: Likewise.
27308         * doc/glibc-functions/forkpty.texi: Likewise.
27309
27310 2010-04-03  Bruno Haible  <bruno@clisp.org>
27311
27312         stdlib: Avoid compilation failure of c-strtold on mingw.
27313         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
27314
27315 2010-04-03  Bruno Haible  <bruno@clisp.org>
27316
27317         locale: Make C++ tests work on Cygwin and mingw.
27318         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
27319         cannot provide the function.
27320         Reported by Simon Josefsson.
27321
27322 2010-04-03  Bruno Haible  <bruno@clisp.org>
27323
27324         localename: Port to MacOS X 10.6.
27325         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
27326         memory layout of the locales in MacOS X 10.6 as well.
27327         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
27328
27329 2010-04-02  Bruno Haible  <bruno@clisp.org>
27330
27331         gnulib-tool: Ensure that long-running tests are executed last.
27332         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
27333         running tests after the one for the other tests.
27334
27335 2010-04-02  Bruno Haible  <bruno@clisp.org>
27336
27337         gnulib-tool: Ensure the tests in the main directory are executed first.
27338         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
27339         start with the current directory.
27340
27341 2010-04-02  Bruno Haible  <bruno@clisp.org>
27342
27343         Tests for module 'havelib', moved here from GNU gettext.
27344         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
27345         modifications.
27346         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
27347         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
27348         with modifications.
27349         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
27350         modifications.
27351         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
27352         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
27353         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
27354         with modifications.
27355         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
27356         with modifications.
27357         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
27358         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
27359         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
27360         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
27361         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
27362         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
27363         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
27364         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
27365         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
27366         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
27367         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
27368         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
27369         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
27370         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
27371         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
27372         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
27373         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
27374         with modifications.
27375         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
27376         with modifications.
27377         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
27378         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
27379         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
27380         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
27381         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
27382         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
27383         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
27384         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
27385         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
27386         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
27387         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
27388         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
27389         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
27390         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
27391         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
27392         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
27393         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
27394         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
27395         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
27396         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
27397         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
27398         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
27399         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
27400         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
27401         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
27402         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
27403         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
27404         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
27405         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
27406         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
27407         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
27408         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
27409         * tests/havelib/rpathx/rpathx.c: New file, from
27410         gettext/autoconf-lib-link.
27411         * tests/havelib/rpathx/Makefile.am: New file, from
27412         gettext/autoconf-lib-link.
27413         * tests/havelib/rpathx/configure.ac: New file, from
27414         gettext/autoconf-lib-link with modifications.
27415         * tests/havelib/rpathy/rpathy.c: New file, from
27416         gettext/autoconf-lib-link.
27417         * tests/havelib/rpathy/Makefile.am: New file, from
27418         gettext/autoconf-lib-link.
27419         * tests/havelib/rpathy/configure.ac: New file, from
27420         gettext/autoconf-lib-link with modifications.
27421         * tests/havelib/rpathz/rpathz.c: New file, from
27422         gettext/autoconf-lib-link.
27423         * tests/havelib/rpathz/Makefile.am: New file, from
27424         gettext/autoconf-lib-link.
27425         * tests/havelib/rpathz/configure.ac: New file, from
27426         gettext/autoconf-lib-link with modifications.
27427         * tests/havelib/rpathlx/usex.c: New file, from
27428         gettext/autoconf-lib-link.
27429         * tests/havelib/rpathlx/Makefile.am: New file, from
27430         gettext/autoconf-lib-link.
27431         * tests/havelib/rpathlx/configure.ac: New file, from
27432         gettext/autoconf-lib-link with modifications.
27433         * tests/havelib/rpathly/usey.c: New file, from
27434         gettext/autoconf-lib-link.
27435         * tests/havelib/rpathly/Makefile.am: New file, from
27436         gettext/autoconf-lib-link.
27437         * tests/havelib/rpathly/configure.ac: New file, from
27438         gettext/autoconf-lib-link with modifications.
27439         * tests/havelib/rpathlz/usez.c: New file, from
27440         gettext/autoconf-lib-link.
27441         * tests/havelib/rpathlz/Makefile.am: New file, from
27442         gettext/autoconf-lib-link.
27443         * tests/havelib/rpathlz/configure.ac: New file, from
27444         gettext/autoconf-lib-link with modifications.
27445         * tests/havelib/rpathlyx/usey.c: New file, from
27446         gettext/autoconf-lib-link.
27447         * tests/havelib/rpathlyx/Makefile.am: New file, from
27448         gettext/autoconf-lib-link.
27449         * tests/havelib/rpathlyx/configure.ac: New file, from
27450         gettext/autoconf-lib-link with modifications.
27451         * tests/havelib/rpathlzyx/usez.c: New file, from
27452         gettext/autoconf-lib-link.
27453         * tests/havelib/rpathlzyx/Makefile.am: New file, from
27454         gettext/autoconf-lib-link.
27455         * tests/havelib/rpathlzyx/configure.ac: New file, from
27456         gettext/autoconf-lib-link with modifications.
27457         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
27458         with modifications.
27459
27460 2010-04-02  Bruno Haible  <bruno@clisp.org>
27461
27462         gnulib-tool: Create distributed built sources also for the tests.
27463         * gnulib-tool (func_create_testdir): Also generate distributed built
27464         sources in the tests directory.
27465
27466 2010-04-02  Bruno Haible  <bruno@clisp.org>
27467
27468         gnulib-tool: Obey user's environment variables.
27469         * gnulib-tool (func_create_testdir): When creating built sources,
27470         respect the environment variables for autoconf, automake, etc. given by
27471         the user.
27472
27473 2010-04-02  Bruno Haible  <bruno@clisp.org>
27474
27475         gnulib-tool: Provide the value of --m4-base to modules.
27476         * gnulib-tool (func_import, func_create_testdir): Emit a definition
27477         of gl_m4_base.
27478
27479 2010-04-02  Eric Blake  <eblake@redhat.com>
27480
27481         maint.mk: fix some fallout
27482         * NEWS: Document the incompatible change, and its effect on cfg.mk.
27483         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
27484
27485 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
27486
27487         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
27488         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
27489         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
27490         (sc_cast_of_x_alloc_return_value): Likewise.
27491         (sc_cast_of_alloca_return_value): Likewise.
27492         (sc_space_tab): Likewise.
27493         (sc_prohibit_atoi_atof): Likewise.
27494         (sc_prohibit_magic_number_exit): Likewise.
27495         (sc_error_exit_success): Likewise.
27496         (sc_file_system): Likewise.
27497         (sc_prohibit_have_config_h): Likewise.
27498         (sc_require_config_h): Likewise.
27499         (sc_prohibit_HAVE_MBRTOWC): Likewise.
27500         (sc_obsolete_symbols): Likewise.
27501         (sc_changelog): Likewise.
27502         (sc_program_name): Likewise.
27503         (sc_the_the): Likewise.
27504         (sc_trailing_blank): Likewise.
27505         (sc_two_space_separator_in_usage): Likewise.
27506         (sc_useless_cpp_parens): Likewise.
27507         (sc_GPL_version): Likewise.
27508         (sc_GFDL_version): Likewise.
27509         (sc_texinfo_acronym): Likewise.
27510         (sc_prohibit_cvs_keyword): Likewise.
27511         (sc_prohibit_stat_st_blocks): Likewise.
27512         (sc_prohibit_S_IS_definition): Likewise.
27513         (sc_redundant_const): Likewise.
27514         (sc_makefile_TAB_only_indentation): Likewise.
27515         (sc_m4_quote_check): Likewise.
27516         (sc_makefile_path_separator_check): Likewise.
27517         (sc_copyright_check): Likewise.
27518         (sc_Wundef_boolean): Likewise.
27519         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
27520
27521         maint.mk: match 0 or more whitespace-before-function-call '('
27522         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
27523         that have zero or two-and-more spaces between the function name
27524         and the open parenthesis.
27525         (sc_error_message_warn_fatal): Likewise.
27526         (sc_error_message_uppercase): Likewise.
27527         (sc_error_message_period): Likewise.
27528
27529 2010-03-31  Eric Blake  <eblake@redhat.com>
27530
27531         maint.mk: check for [ as well as test
27532         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
27533         Based on a libvirt report by Matthias Bolte.
27534
27535         gnumakefile: don't squelch _version output
27536         * top/GNUmakefile (_version): Create one-shot dependency rather
27537         than using $(shell) when version must be regenerated.
27538         (_autoreconf): Run verbosely, by default.
27539
27540         sys_time: avoid compiler warnings
27541         * lib/sys_time.in.h (includes): Ensure gcc pragma is
27542         unconditional, fixing regression from 2010-03-29.
27543         Reported by Simon Josefsson.
27544
27545 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
27546
27547         maint.mk: s/_header_without_use/_sc_header_without_use/
27548         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
27549         (sc_prohibit_assert_without_use): Use the new name.
27550         (sc_prohibit_close_stream_without_use): Likewise.
27551         (sc_prohibit_getopt_without_use): Likewise.
27552         (sc_prohibit_quotearg_without_use): Likewise.
27553         (sc_prohibit_quote_without_use): Likewise.
27554         (sc_prohibit_long_options_without_use): Likewise.
27555         (sc_prohibit_inttostr_without_use): Likewise.
27556         (sc_prohibit_ignore_value_without_use): Likewise.
27557         (sc_prohibit_error_without_use): Likewise.
27558         (sc_prohibit_xalloc_without_use): Likewise.
27559         (sc_prohibit_hash_without_use): Likewise.
27560         (sc_prohibit_hash_pjw_without_use): Likewise.
27561         (sc_prohibit_safe_read_without_use): Likewise.
27562         (sc_prohibit_argmatch_without_use): Likewise.
27563         (sc_prohibit_canonicalize_without_use): Likewise.
27564         (sc_prohibit_root_dev_ino_without_use): Likewise.
27565         (sc_prohibit_openat_without_use): Likewise.
27566         (sc_prohibit_c_ctype_without_use): Likewise.
27567         (sc_prohibit_signal_without_use): Likewise.
27568         (sc_prohibit_intprops_without_use): Likewise.
27569
27570 2010-03-30  Eric Blake  <eblake@redhat.com>
27571
27572         maint: improve module indicators
27573         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
27574         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
27575         columns, and avoid extra macro expansion.
27576
27577         fdopendir: work around FreeBSD bug
27578         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
27579         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
27580         * modules/dirent (Makefile.am): Substitute it.
27581         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
27582         declaration.
27583         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
27584         fix.
27585         Reported by Christian Weisgerber <naddy@mips.inka.de>.
27586
27587 2010-03-29  Bruno Haible  <bruno@clisp.org>
27588
27589         Emit #pragma system_header after the inclusion guard, not before.
27590         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
27591         guard that spans the entire file, not before. This enables an
27592         optimization in GCC's preprocessor.
27593         * lib/ctype.in.h: Likewise.
27594         * lib/dirent.in.h: Likewise.
27595         * lib/errno.in.h: Likewise.
27596         * lib/float.in.h: Likewise.
27597         * lib/getopt.in.h: Likewise.
27598         * lib/iconv.in.h: Likewise.
27599         * lib/langinfo.in.h: Likewise.
27600         * lib/locale.in.h: Likewise.
27601         * lib/math.in.h: Likewise.
27602         * lib/netdb.in.h: Likewise.
27603         * lib/netinet_in.in.h: Likewise.
27604         * lib/pty.in.h: Likewise.
27605         * lib/sched.in.h: Likewise.
27606         * lib/se-selinux.in.h: Likewise.
27607         * lib/search.in.h: Likewise.
27608         * lib/spawn.in.h: Likewise.
27609         * lib/stdarg.in.h: Likewise.
27610         * lib/stdint.in.h: Likewise.
27611         * lib/string.in.h: Likewise.
27612         * lib/strings.in.h: Likewise.
27613         * lib/sys_file.in.h: Likewise.
27614         * lib/sys_ioctl.in.h: Likewise.
27615         * lib/sys_time.in.h: Likewise.
27616         * lib/sys_times.in.h: Likewise.
27617         * lib/sys_utsname.in.h: Likewise.
27618         * lib/sys_wait.in.h: Likewise.
27619         * lib/sysexits.in.h: Likewise.
27620         * lib/wctype.in.h: Likewise.
27621
27622 2010-03-28  James Youngman  <jay@gnu.org>
27623
27624         save-cwd: don't leak a file descriptor when the caller execs.
27625         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
27626         saved file descriptor.
27627         * modules/save-cwd (Depends-on): Depend on cloexec.
27628
27629 2010-03-29  Bruno Haible  <bruno@clisp.org>
27630
27631         Remove vestiges of fts-lgpl module.
27632         * lib/fts_.h: Assume GNULIB_FTS is 1.
27633         * lib/fts.c: Likewise.
27634         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
27635
27636 2010-03-28  Bruno Haible  <bruno@clisp.org>
27637
27638         Fix definition of tests witness macro.
27639         * gnulib-tool (func_import): Fix definition of witness macro.
27640
27641 2010-03-28  Bruno Haible  <bruno@clisp.org>
27642
27643         Fix ioctl's protoype on glibc systems.
27644         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
27645         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
27646         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
27647         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
27648         signature. If not, arrange to replace the ioctl function.
27649         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
27650         REPLACE_IOCTL.
27651         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
27652         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
27653         Reported by Ludovic Courtès <ludo@gnu.org>.
27654
27655 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
27656
27657         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
27658         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
27659         made it so grep -r --include=GLOB* ... did not work.
27660
27661 2010-03-26  Jim Meyering  <meyering@redhat.com>
27662             Eric Blake  <eblake@redhat.com>
27663
27664         maint.mk: prohibit use of test's -o and -a operators
27665         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
27666
27667 2010-03-28  Bruno Haible  <bruno@clisp.org>
27668
27669         Remove unused GNULIB_XYZ macro definitions.
27670         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
27671         invocation.
27672
27673 2010-03-28  Bruno Haible  <bruno@clisp.org>
27674
27675         Mark privileged tests modules.
27676         * modules/idpriv-drop-tests (Status): New section.
27677         * modules/idpriv-droptemp-tests (Status): New section.
27678
27679 2010-03-28  Bruno Haible  <bruno@clisp.org>
27680
27681         Split C++ tests into separate tests modules.
27682         * modules/dirent-c++-tests: New file, extracted from
27683         modules/dirent-tests.
27684         * modules/dirent-tests: Depend on it.
27685         * modules/fcntl-h-c++-tests: New file, extracted from
27686         modules/fcntl-h-tests.
27687         * modules/fcntl-h-tests: Depend on it.
27688         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
27689         * modules/glob-tests: Depend on it.
27690         * modules/iconv-h-c++-tests: New file, extracted from
27691         modules/iconv-h-tests.
27692         * modules/iconv-h-tests: Depend on it.
27693         * modules/langinfo-c++-tests: New file, extracted from
27694         modules/langinfo-tests.
27695         * modules/langinfo-tests: Depend on it.
27696         * modules/locale-c++-tests: New file, extracted from
27697         modules/locale-tests.
27698         * modules/locale-tests: Depend on it.
27699         * modules/math-c++-tests: New file, extracted from modules/math-tests.
27700         * modules/math-tests: Depend on it.
27701         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
27702         * modules/pty-tests: Depend on it.
27703         * modules/search-c++-tests: New file, extracted from
27704         modules/search-tests.
27705         * modules/search-tests: Depend on it.
27706         * modules/signal-c++-tests: New file, extracted from
27707         modules/signal-tests.
27708         * modules/signal-tests: Depend on it.
27709         * modules/spawn-c++-tests: New file, extracted from
27710         modules/spawn-tests.
27711         * modules/spawn-tests: Depend on it.
27712         * modules/stdio-c++-tests: New file, extracted from
27713         modules/stdio-tests.
27714         * modules/stdio-tests: Depend on it.
27715         * modules/stdlib-c++-tests: New file, extracted from
27716         modules/stdlib-tests.
27717         * modules/stdlib-tests: Depend on it.
27718         * modules/string-c++-tests: New file, extracted from
27719         modules/string-tests.
27720         * modules/string-tests: Depend on it.
27721         * modules/sys_ioctl-c++-tests: New file, extracted from
27722         modules/sys_ioctl-tests.
27723         * modules/sys_ioctl-tests: Depend on it.
27724         * modules/sys_select-c++-tests: New file, extracted from
27725         modules/sys_select-tests.
27726         * modules/sys_select-tests: Depend on it.
27727         * modules/sys_socket-c++-tests: New file, extracted from
27728         modules/sys_socket-tests.
27729         * modules/sys_socket-tests: Depend on it.
27730         * modules/sys_stat-c++-tests: New file, extracted from
27731         modules/sys_stat-tests.
27732         * modules/sys_stat-tests: Depend on it.
27733         * modules/sys_time-c++-tests: New file, extracted from
27734         modules/sys_time-tests.
27735         * modules/sys_time-tests: Depend on it.
27736         * modules/time-c++-tests: New file, extracted from modules/time-tests.
27737         * modules/time-tests: Depend on it.
27738         * modules/unistd-c++-tests: New file, extracted from
27739         modules/unistd-tests.
27740         * modules/unistd-tests: Depend on it.
27741         * modules/wchar-c++-tests: New file, extracted from
27742         modules/wchar-tests.
27743         * modules/wchar-tests: Depend on it.
27744         * modules/wctype-c++-tests: New file, extracted from
27745         modules/wctype-tests.
27746         * modules/wctype-tests: Depend on it.
27747         Reported by Simon Josefsson.
27748
27749 2010-03-28  Bruno Haible  <bruno@clisp.org>
27750
27751         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
27752         * gnulib-tool (func_exists_module): New function, extracted from
27753         func_verify_module.
27754         (func_verify_module): Use it.
27755         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
27756         'foo' only if 'foo' exists.
27757         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
27758         module.
27759
27760 2010-03-28  Bruno Haible  <bruno@clisp.org>
27761
27762         gnulib-tool: Add support for special categories of tests.
27763         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
27764         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
27765         (func_usage): Document them.
27766         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
27767         inc_unportable_tests, inc_all_tests): New variables.
27768         (func_acceptable): Consider these variables.
27769         (func_modules_transitive_closure): Make it work when the 'Status' field
27770         consists of multiple words.
27771         (func_import): Store and restore the values of inc_cxx_tests,
27772         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
27773         inc_all_tests in gnulib-comp.m4.
27774         (func_create_testdir): Set inc_all_tests to true.
27775         * doc/gnulib.texi (Extra tests modules): New section.
27776         Suggested by Jim Meyering.
27777
27778 2010-03-28  Bruno Haible  <bruno@clisp.org>
27779
27780         ansi-c++-opt: Allow turning off the C++ build by default.
27781         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
27782         gl_CXX_CHOICE_DEFAULT_NO is defined.
27783         Requested by Eric Blake.
27784
27785 2010-03-28  Bruno Haible  <bruno@clisp.org>
27786
27787         unistd: Avoid #define replacements in C++ mode.
27788         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
27789         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
27790         setsockopt, shutdown, select): In C++, attach a warning to the function
27791         if possible, rather than #defining the symbol to a dysfunctional alias.
27792         Reported by John W. Eaton <jwe@gnu.org>.
27793
27794 2010-03-28  Bruno Haible  <bruno@clisp.org>
27795
27796         Fix link errors on mingw.
27797         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
27798         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
27799         $(LIBSOCKET).
27800         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
27801         $(LIBSOCKET).
27802
27803 2010-03-28  Bruno Haible  <bruno@clisp.org>
27804             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27805
27806         lib-ignore: Determine different options for different compilers.
27807         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
27808         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
27809         Add comments.
27810         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
27811         * NEWS: Mention the change.
27812
27813 2010-03-27  Bruno Haible  <bruno@clisp.org>
27814
27815         Remove unused GNULIB_XYZ macro definitions.
27816         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
27817         * modules/fseek (configure.ac): Likewise.
27818         * modules/ioctl (configure.ac): Likewise.
27819         * modules/open (configure.ac): Likewise.
27820         * modules/stdlib-safer (configure.ac): Likewise.
27821
27822 2010-03-27  Bruno Haible  <bruno@clisp.org>
27823
27824         Add a remark about certain modules.
27825         * modules/malloc (Comment): New section.
27826         * modules/realloc (Comment): Likewise.
27827         * modules/sigpipe (Comment): Likewise.
27828
27829 2010-03-27  Bruno Haible  <bruno@clisp.org>
27830
27831         Resolve conflict between the two kinds of module indicators.
27832         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
27833         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
27834         * modules/canonicalize (configure.ac): Invoke
27835         gl_MODULE_INDICATOR_FOR_TESTS.
27836         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
27837         GNULIB_XYZ.
27838         * tests/test-dirent-c++.cc: Likewise.
27839         * tests/test-dirent-safer.c: Likewise.
27840         * tests/test-dup2.c: Likewise.
27841         * tests/test-fchdir.c: Likewise.
27842         * tests/test-fcntl-h-c++.cc: Likewise.
27843         * tests/test-getopt.c: Likewise.
27844         * tests/test-getopt.h: Likewise.
27845         * tests/test-langinfo-c++.cc: Likewise.
27846         * tests/test-locale-c++.cc: Likewise.
27847         * tests/test-math-c++.cc: Likewise.
27848         * tests/test-pty-c++.cc: Likewise.
27849         * tests/test-search-c++.cc: Likewise.
27850         * tests/test-signal-c++.cc: Likewise.
27851         * tests/test-spawn-c++.cc: Likewise.
27852         * tests/test-stdio-c++.cc: Likewise.
27853         * tests/test-stdlib-c++.cc: Likewise.
27854         * tests/test-string-c++.cc: Likewise.
27855         * tests/test-sys_ioctl-c++.cc: Likewise.
27856         * tests/test-sys_select-c++.cc: Likewise.
27857         * tests/test-sys_socket-c++.cc: Likewise.
27858         * tests/test-sys_stat-c++.cc: Likewise.
27859         * tests/test-sys_time-c++.cc: Likewise.
27860         * tests/test-time-c++.cc: Likewise.
27861         * tests/test-unistd-c++.cc: Likewise.
27862         * tests/test-wchar-c++.cc: Likewise.
27863         * tests/uninorm/test-u8-nfc.c: Likewise.
27864         * tests/uninorm/test-u8-nfd.c: Likewise.
27865         * tests/uninorm/test-u8-nfkc.c: Likewise.
27866         * tests/uninorm/test-u8-nfkd.c: Likewise.
27867         * tests/uninorm/test-u16-nfc.c: Likewise.
27868         * tests/uninorm/test-u16-nfd.c: Likewise.
27869         * tests/uninorm/test-u16-nfkc.c: Likewise.
27870         * tests/uninorm/test-u16-nfkd.c: Likewise.
27871         * tests/uninorm/test-u32-nfc.c: Likewise.
27872         * tests/uninorm/test-u32-nfc-big.c: Likewise.
27873         * tests/uninorm/test-u32-nfd.c: Likewise.
27874         * tests/uninorm/test-u32-nfd-big.c: Likewise.
27875         * tests/uninorm/test-u32-nfkc.c: Likewise.
27876         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
27877         * tests/uninorm/test-u32-nfkd.c: Likewise.
27878         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
27879         * tests/uninorm/test-u32-normalize-big.c: Likewise.
27880
27881 2010-03-27  Bruno Haible  <bruno@clisp.org>
27882
27883         Distinguish two kinds of module indicators.
27884         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
27885         gl_MODULE_INDICATOR.
27886         (gl_MODULE_INDICATOR): New macro.
27887         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
27888         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
27889         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
27890         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
27891         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
27892         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
27893         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
27894         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
27895         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
27896         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
27897         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
27898         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
27899         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
27900         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
27901         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
27902         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
27903         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
27904         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
27905         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
27906         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
27907         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
27908         * modules/cloexec (configure.ac): Likewise.
27909         * modules/getopt-gnu (configure.ac): Likewise.
27910         * modules/uninorm/u8-normalize (configure.ac): Likewise.
27911         * modules/uninorm/u16-normalize (configure.ac): Likewise.
27912         * modules/uninorm/u32-normalize (configure.ac): Likewise.
27913         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
27914
27915 2010-03-27  Bruno Haible  <bruno@clisp.org>
27916
27917         New module description field 'Comment'.
27918         * gnulib-tool: New option --extract-comment.
27919         (func_usage): Document it.
27920         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
27921         (func_get_comment): New function.
27922         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
27923
27924 2010-03-27  Bruno Haible  <bruno@clisp.org>
27925
27926         Addendum to 2010-02-07 commit.
27927         * gnulib-tool (func_usage): Document --extract-applicability option.
27928
27929 2010-03-27  Bruno Haible  <bruno@clisp.org>
27930
27931         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
27932         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
27933         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
27934         rather than link errors.
27935
27936 2010-03-27  Bruno Haible  <bruno@clisp.org>
27937
27938         Avoid side effects from tests-related modules on the compilation of lib.
27939         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
27940         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
27941         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
27942         parameter. Emit into AM_CPPFLAGS a definition of the designated C
27943         macro.
27944         (func_import): Define a witness macro. Assign it a value that depends
27945         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
27946         tests-related modules.
27947         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
27948         Reported by Jim Meyering.
27949
27950 2010-03-27  Bruno Haible  <bruno@clisp.org>
27951
27952         Factorize common .m4 code.
27953         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
27954         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
27955         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
27956         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
27957         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
27958         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
27959         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
27960         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
27961         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
27962         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
27963         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
27964         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
27965         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
27966         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
27967         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
27968         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
27969         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
27970         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
27971         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
27972         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
27973         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
27974         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
27975         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
27976         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
27977         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
27978         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
27979         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
27980         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
27981         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
27982         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
27983         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
27984         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
27985
27986 2010-03-27  Bruno Haible  <bruno@clisp.org>
27987
27988         Fix a compilation error on Cygwin with g++ >= 4.3.
27989         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
27990         if it is undefined or if we alias it to chmod.
27991         (lstat): Don't warn about the use of this function if it is undefined
27992         or if we alias it to stat.
27993         Reported by Simon Josefsson.
27994
27995 2010-03-27  Bruno Haible  <bruno@clisp.org>
27996
27997         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
27998         * modules/getlogin (configure.ac): Update.
27999
28000         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
28001         * modules/getlogin_r (configure.ac): Update.
28002
28003         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
28004         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
28005         * modules/inet_ntop (configure.ac): Update.
28006
28007         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
28008         * modules/inet_pton (configure.ac): Update.
28009
28010         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
28011         * modules/mbslen (configure.ac): Update.
28012
28013         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
28014         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
28015         * modules/forkpty (configure.ac): Update.
28016         * modules/openpty (configure.ac): Update.
28017
28018 2010-03-26  Simon Josefsson  <simon@josefsson.org>
28019
28020         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
28021         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
28022
28023 2010-03-25  Eric Blake  <eblake@redhat.com>
28024
28025         maint: use pragma consistently across replacement headers
28026         * lib/ctype.in.h (system_header): Hoist for consistent placement.
28027         * lib/dirent.in.h (system_header): Likewise.
28028         * lib/errno.in.h (system_header): Likewise.
28029         * lib/float.in.h (system_header): Likewise.
28030         * lib/getopt.in.h (system_header): Likewise.
28031         * lib/iconv.in.h (system_header): Likewise.
28032         * lib/inttypes.in.h (system_header): Likewise.
28033         * lib/langinfo.in.h (system_header): Likewise.
28034         * lib/locale.in.h (system_header): Likewise.
28035         * lib/math.in.h (system_header): Likewise.
28036         * lib/netdb.in.h (system_header): Likewise.
28037         * lib/netinet_in.in.h (system_header): Likewise.
28038         * lib/pty.in.h (system_header): Likewise.
28039         * lib/sched.in.h (system_header): Likewise.
28040         * lib/se-selinux.in.h (system_header): Likewise.
28041         * lib/search.in.h (system_header): Likewise.
28042         * lib/spawn.in.h (system_header): Likewise.
28043         * lib/stdarg.in.h (system_header): Likewise.
28044         * lib/stdint.in.h (system_header): Likewise.
28045         * lib/string.in.h (system_header): Likewise.
28046         * lib/strings.in.h (system_header): Likewise.
28047         * lib/sys_file.in.h (system_header): Likewise.
28048         * lib/sys_ioctl.in.h (system_header): Likewise.
28049         * lib/sys_socket.in.h (system_header): Likewise.
28050         * lib/sys_times.in.h (system_header): Likewise.
28051         * lib/sys_utsname.in.h (system_header): Likewise.
28052         * lib/sys_wait.in.h (system_header): Likewise.
28053         * lib/sysexits.in.h (system_header): Likewise.
28054         * lib/unistd.in.h (system_header): Likewise.
28055         * lib/wctype.in.h (system_header): Likewise.
28056
28057         arpa/inet: fix mingw compilation warning
28058         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
28059         Reported by Matthew Bolte.
28060
28061 2010-03-25  Bruno Haible  <bruno@clisp.org>
28062
28063         Avoid collision between gnulib wrapper and libintl wrapper.
28064         * lib/printf.c (printf): Don't define if a printf wrapper is already
28065         defined in intl/printf.c.
28066         Reported by Michel Boaventura <michel@michelboaventura.com>.
28067
28068 2010-03-25  Bruno Haible  <bruno@clisp.org>
28069
28070         Use ANSI C.
28071         * lib/readutmp.h (getutent): Provide ANSI C prototype.
28072
28073 2010-03-25  Bruno Haible  <bruno@clisp.org>
28074
28075         Minor formatting changes.
28076         * lib/acosl.c: Insert space before function argument list.
28077         * lib/argz.c: Likewise.
28078         * lib/asinl.c: Likewise.
28079         * lib/expl.c: Likewise.
28080         * lib/gen-uni-tables.c: Likewise.
28081         * lib/gettext.h: Likewise.
28082         * lib/glthread/lock.h: Likewise.
28083         * lib/tanl.c: Likewise.
28084         * lib/uniname/uniname.c: Likewise.
28085         * tests/test-idpriv-drop.c: Likewise.
28086         * tests/test-idpriv-droptemp.c: Likewise.
28087         * tests/test-lock.c: Likewise.
28088         * tests/test-tls.c: Likewise.
28089         * lib/argp-help.c: Insert space before function-like macro argument
28090         list.
28091         * lib/memcmp.c: Likewise.
28092         * tests/test-base64.c: Likewise.
28093         * lib/localename.c: Insert space before sizeof's argument list.
28094         * lib/safe-alloc.h: Likewise.
28095         * lib/file-set.h: Insert space before macro argument list.
28096         * tests/test-argp.c: Likewise.
28097         * lib/argp-namefrob.h: Insert space before function parameter list.
28098         * lib/getaddrinfo.c: Likewise.
28099         * lib/netdb.in.h: Likewise.
28100         * lib/parse-duration.h: Likewise.
28101         * lib/parse-duration.c: Likewise.
28102         * lib/poll.c: Likewise.
28103         * lib/select.c: Likewise.
28104         * lib/trim.h: Likewise.
28105         * tests/test-usleep.c: Likewise.
28106         * lib/ldexpl.c: Insert space before function parameter list and before
28107         function argument list.
28108         * lib/logl.c: Likewise.
28109         * lib/sqrtl.c: Likewise.
28110         * lib/trim.c: Likewise.
28111         * lib/cosl.c: Use GNU style indentation. Insert space before function
28112         argument list.
28113         * lib/sinl.c: Likewise.
28114         * lib/tsearch.c: Insert space after 'for'.
28115         Reported by Jim Meyering.
28116
28117 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
28118
28119         * maint.mk (sc_Wundef_boolean): Check for the presence of the
28120         config header before grepping, as it's not present before
28121         autoreconf/configure are run.  Reported by Simon Josefsson.
28122
28123 2010-03-23  Bruno Haible  <bruno@clisp.org>
28124
28125         pt_chown: Make it work with automake < 1.11.
28126         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
28127         Reported by Simon Josefsson.
28128
28129 2010-03-23  Bruno Haible  <bruno@clisp.org>
28130
28131         pt_chown: Don't depend on GPLed modules.
28132         * lib/pt_chown.c: Don't include idpriv.h.
28133         (main): Don't drop privileges.
28134         * modules/pt_chown (Depends-on): Remove idpriv-drop.
28135         Reported by Simon Josefsson.
28136
28137 2010-03-24  Simon Josefsson  <simon@josefsson.org>
28138
28139         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
28140         suggestions from karl@freefriends.org (Karl Berry).
28141
28142 2010-03-22  Eric Blake  <eblake@redhat.com>
28143
28144         gethostname: further tweaks
28145         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
28146         are overriding gethostname.
28147         Suggested by Bruno Haible.
28148
28149 2010-03-21  Bruno Haible  <bruno@clisp.org>
28150
28151         Fix comments.
28152         * lib/forkpty.c (rpl_forkpty): Fix comment.
28153         * lib/openpty.c (rpl_openpty): Likewise.
28154         Reported by Eric Blake.
28155
28156 2010-03-22  Eric Blake  <eblake@redhat.com>
28157
28158         gethostname: fix build on mingw
28159         * lib/unistd.in.h (includes): Work around fact that mingw
28160         <winsock2.h> re-includes <unistd.h>, by avoiding any
28161         redeclarations if we are being included by <winsock2.h>.
28162         Reported by Matthias Bolte.
28163
28164 2010-03-21  Bruno Haible  <bruno@clisp.org>
28165
28166         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
28167         * lib/forkpty.c (forkpty): New replacement function, from glibc with
28168         modifications.
28169         * lib/pty.in.h (forkpty): Update declaration. Add comments.
28170         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
28171         provide the replacement.
28172         * modules/forkpty (Depends-on): Add openpty, login_tty.
28173         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
28174         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
28175         * doc/glibc-functions/forkpty.texi: More supported platforms.
28176         * config/srclist.txt: Add forkpty.c (commented).
28177
28178 2010-03-21  Bruno Haible  <bruno@clisp.org>
28179
28180         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
28181         (Makefile.am): Verify that PTY_LIB is defined.
28182
28183         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
28184
28185 2010-03-21  Bruno Haible  <bruno@clisp.org>
28186
28187         Tests for module 'login_tty'.
28188         * modules/login_tty-tests: New file.
28189         * tests/test-login_tty.c: New file.
28190
28191         New module 'login_tty'.
28192         * lib/login_tty.c: New file.
28193         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
28194         * modules/login_tty: New file.
28195         * doc/glibc-functions/login_tty.texi: Mention the new module.
28196
28197 2010-03-21  Bruno Haible  <bruno@clisp.org>
28198
28199         login_tty: Documentation.
28200         * doc/glibc-functions/login_tty.texi: New file.
28201         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
28202
28203 2010-03-21  Bruno Haible  <bruno@clisp.org>
28204
28205         pty: Consistent macro naming.
28206         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
28207         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
28208         * modules/pty (configure.ac): Update.
28209
28210 2010-03-21  Bruno Haible  <bruno@clisp.org>
28211
28212         Tests for openpty: Make stricter.
28213         * tests/test-openpty.c (main): Add test of canonical processing and
28214         erase.
28215         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
28216
28217         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
28218         * lib/openpty.c (openpty): New replacement function.
28219         * lib/pty.in.h: Include <termios.h>.
28220         (openpty): Update declaration. Add comments.
28221         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
28222         is not declared, arrange to provide the replacement. Check for _getpty
28223         and posix_openpt.
28224         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
28225         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
28226         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
28227         * modules/pty-tests (test_pty_c___LDADD): New variable.
28228         * doc/glibc-functions/openpty.texi: More supported platforms.
28229
28230 2010-03-21  Bruno Haible  <bruno@clisp.org>
28231
28232         setenv: Tweaks.
28233         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
28234         the test program.
28235         * doc/posix-functions/setenv.texi: Update platforms list.
28236
28237 2010-03-21  Bruno Haible  <bruno@clisp.org>
28238
28239         New module 'unlockpt'.
28240         * lib/unlockpt.c: New file, from glibc with modifications.
28241         * m4/unlockpt.m4: New file.
28242         * modules/unlockpt: New file.
28243         * lib/stdlib.in.h (unlockpt): New declaration.
28244         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
28245         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
28246         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
28247         HAVE_UNLOCKPT.
28248         * doc/posix-functions/unlockpt.texi: Mention the new module.
28249         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
28250         * config/srclist.txt: Add unlockpt.c (commented).
28251
28252 2010-03-21  Jim Meyering  <meyering@redhat.com>
28253
28254         maint.mk: prohibit inclusion of "intprops.h" without use
28255         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
28256
28257 2010-03-21  Bruno Haible  <bruno@clisp.org>
28258
28259         New module 'grantpt'.
28260         * lib/grantpt.c: New file, from glibc with modifications.
28261         * m4/grantpt.m4: New file.
28262         * modules/grantpt: New file.
28263         * lib/stdlib.in.h (grantpt): New declaration.
28264         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
28265         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
28266         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
28267         HAVE_GRANTPT.
28268         * doc/posix-functions/grantpt.texi: Mention the new module.
28269         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
28270         * config/srclist.txt: Add grantpt.c (commented).
28271
28272 2010-03-21  Bruno Haible  <bruno@clisp.org>
28273
28274         New module 'pt_chown'.
28275         * lib/pt_chown.c: New file, from glibc with modifications.
28276         * lib/pty-private.h: New file, from glibc with modifications.
28277         * modules/pt_chown: New file.
28278         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
28279
28280 2010-03-21  Bruno Haible  <bruno@clisp.org>
28281
28282         Tests for module 'ptsname'.
28283         * modules/ptsname-tests: New file.
28284         * tests/test-ptsname.c: New file.
28285
28286         New module 'ptsname'.
28287         * lib/ptsname.c: New file, from glibc with modifications.
28288         * m4/ptsname.m4: New file.
28289         * modules/ptsname: New file.
28290         * lib/stdlib.in.h (ptsname): New declaration.
28291         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
28292         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
28293         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
28294         HAVE_PTSNAME.
28295         * doc/posix-functions/ptsname.texi: Mention the new module.
28296         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
28297         * config/srclist.txt: Add ptsname.c (commented).
28298
28299 2010-03-21  Bruno Haible  <bruno@clisp.org>
28300
28301         Tests for module 'ttyname_r'.
28302         * modules/ttyname_r-tests: New file.
28303         * tests/test-ttyname_r.c: New file.
28304
28305         New module 'ttyname_r'.
28306         * lib/ttyname_r.c: New file.
28307         * m4/ttyname_r.m4: New file.
28308         * modules/ttyname_r: New file.
28309         * lib/unistd.in.h (ttyname_r): New declaration.
28310         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
28311         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
28312         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
28313         HAVE_TTYNAME_R.
28314         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
28315         * doc/posix-functions/ttyname_r.texi: Mention the new module.
28316
28317 2010-03-20  Bruno Haible  <bruno@clisp.org>
28318
28319         signal: Undefine macro definitions in C++ mode.
28320         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
28321         sigfillset): Undefine macro definitions from the system header in C++
28322         mode.
28323         Reported by John W. Eaton <jwe@gnu.org>.
28324
28325 2010-03-20  Bruno Haible  <bruno@clisp.org>
28326
28327         Ensure no #include statements inside extern "C" { ... }.
28328         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
28329         contain #include statements.
28330         * lib/time.in.h: Likewise.
28331
28332 2010-03-20  Bruno Haible  <bruno@clisp.org>
28333
28334         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
28335         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
28336         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
28337         Reported by John W. Eaton <jwe@gnu.org>.
28338
28339 2010-03-20  Bruno Haible  <bruno@clisp.org>
28340
28341         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
28342         Reported by Jim Meyering.
28343
28344 2010-03-20  Bruno Haible  <bruno@clisp.org>
28345
28346         pipe: Set errno upon failure.
28347         * lib/pipe.h: Specify that when -1 is returned, errno is set.
28348         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
28349         errno value in error message.
28350
28351 2010-03-20  Bruno Haible  <bruno@clisp.org>
28352             Jim Meyering  <meyering@redhat.com>
28353
28354         lchown: Avoid "unused variable" warning.
28355         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
28356
28357 2010-03-20  Bruno Haible  <bruno@clisp.org>
28358
28359         Work around unlink() bug on MacOS X 10.5.6.
28360         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
28361         attempting to unlink a parent directory.
28362         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
28363         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
28364         activate for the replacement function.
28365         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
28366
28367 2010-03-20  Bruno Haible  <bruno@clisp.org>
28368
28369         Fix link errors on Solaris 8.
28370         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
28371         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
28372
28373 2010-03-19  Jim Meyering  <meyering@redhat.com>
28374
28375         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
28376         The _LIBC implementation of build_range_exp correctly honors the
28377         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
28378         However, the non-_LIBC implementation would ignore that syntax-bit
28379         flag and return REG_ERANGE unconditionally.
28380         This change makes it honor that flag.
28381         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
28382         Make two pointer parameters "const".
28383         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
28384         (parse_bracket_exp): Update caller.
28385
28386         regex.m4: correct the reversed range endpoint ([b-a]) test
28387         * m4/regex.m4: When requiring that [b-a] evoke failure,
28388         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
28389         test pass once again for x86-based systems.
28390
28391 2010-03-19  Bruno Haible  <bruno@clisp.org>
28392
28393         scandir: Fix link error on Solaris 8.
28394         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
28395         macros.
28396
28397 2010-03-19  Bruno Haible  <bruno@clisp.org>
28398
28399         getusershell: Fix documentation.
28400         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
28401         module.
28402         * doc/glibc-functions/setusershell.texi: Likewise.
28403
28404         getusershell: Provide declaration, missing on Solaris 9.
28405         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
28406         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
28407         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
28408         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
28409         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28410         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
28411         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
28412         HAVE_GETUSERSHELL.
28413         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
28414
28415 2010-03-19  Bruno Haible  <bruno@clisp.org>
28416
28417         wctype: Provide iswblank function.
28418         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
28419         exists and is fine.
28420         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
28421         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
28422         * tests/test-wctype.c (main): Re-enable the iswblank tests.
28423         * doc/posix-functions/iswblank.texi: Update.
28424
28425 2010-03-19  Bruno Haible  <bruno@clisp.org>
28426
28427         Tests of module 'pty' in C++ mode.
28428         * modules/pty-tests: New file.
28429         * tests/test-pty-c++.cc: New file.
28430         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
28431
28432 2010-03-19  Eric Blake  <eblake@redhat.com>
28433
28434         logb: fix documentation
28435         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
28436         1.5 declaration bug.
28437
28438         forkpty, openpty: prefer glibc's const-safe prototype
28439         * lib/forkpty.c (rpl_forkpty): New file.
28440         * lib/openpty.c (rpl_openpty): Likewise.
28441         * modules/forkpty (Files): Distribute it.
28442         * modules/openpty (Files): Likewise.
28443         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
28444         check...
28445         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
28446         replacement for for non-const BSD signature.
28447         * modules/pty (Makefile.am): Substitute witnesses.
28448         * lib/pty.in.h (forkpty, openpty): Declare replacements.
28449         * tests/test-forkpty.c: Update signature check.
28450         * tests/test-openpty.c: Likewise.
28451         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
28452         * doc/glibc-functions/openpty.texi (openpty): Likewise.
28453
28454         forkpty, openpty: split functions into new modules
28455         * modules/pty (Makefile.am): Substitute new witnesses.
28456         (Libraries): Move library detection...
28457         * modules/forkpty: ...into new module.
28458         * modules/openpty: Another new module.
28459         * modules/pty-tests: Rename and split...
28460         * modules/forkpty-tests: ...to this...
28461         * modules/openpty-tests: ...and this.
28462         * tests/test-pty.c: Rename and split...
28463         * tests/test-forkpty.c: ...to this...
28464         * tests/test-openpty.c: ...and this.
28465         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
28466         (gl_PTY): Split library searching...
28467         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
28468         (gl_FORKPTY, gl_OPENPTY): New macros.
28469         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
28470         * NEWS: Mention the split.
28471         * MODULES.html.sh (Misc): Document the modules.
28472         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
28473         * doc/glibc-functions/openpty.texi (openpty): Likewise.
28474
28475         pty: improve replacement header
28476         * lib/pty.in.h: New file.
28477         * modules/pty (Files): Ship it.
28478         (Makefile.am): Always build replacement.
28479         * m4/pty.m4: Rename...
28480         * m4/pty_h.m4: ...to this.
28481         (gl_PTY): Modernize setting of witness macros; update check of
28482         forkpty to take proper advantage of cache.
28483         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
28484
28485         getopt: avoid compiler warning
28486         * lib/getopt.c (attribute_hidden): Remove unused macro.
28487
28488 2010-03-18  Bruno Haible  <bruno@clisp.org>
28489
28490         Fix link errors on Solaris 8.
28491         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
28492         * modules/search-tests (test_search_c___LDADD): Likewise.
28493         * modules/signal-tests (test_signal_c___LDADD): Likewise.
28494         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
28495         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
28496         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
28497         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
28498         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
28499         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
28500
28501 2010-03-18  Bruno Haible  <bruno@clisp.org>
28502
28503         Fix bug introduced on 2010-03-14.
28504         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
28505         (gl_SPAWN_H): Require it.
28506         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
28507         Reported by Simon Josefsson.
28508
28509 2010-03-18  Bruno Haible  <bruno@clisp.org>
28510
28511         Fix typo introduced on 2009-12-31.
28512         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
28513         posix_spawn_file_actions_adddup2.
28514
28515 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
28516         and Eric Blake  <eblake@redhat.com>
28517
28518         test-vc-list-files-git: make more robust
28519         * tests/test-vc-list-files-git.sh: Unset problematic environment
28520         variables.  Chain commands together.
28521
28522 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
28523
28524         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
28525         `AC_CHECK_DECL' invocation.
28526
28527 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
28528
28529         * lib/inttostr.c (inttostr): Make sure the invocation of verify
28530         appears before executable statements. Suggested by Petr Sumbera
28531         <Petr.Sumbera@Sun.COM>.
28532
28533 2010-03-14  Bruno Haible  <bruno@clisp.org>
28534
28535         * tests/test-flock.c (test_exclusive): Comment out a test that causes
28536         portability problems. Instead use a simpler test.
28537         (main): Check that invalid arguments are rejected only on Linux.
28538
28539 2010-03-14  Bruno Haible  <bruno@clisp.org>
28540
28541         Fix bug introduced on 2009-12-31.
28542         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
28543         gl_PREREQ_SYS_H_WINSOCK2 always.
28544         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
28545         SYS_SOCKET_H variable.
28546         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
28547         Update comments.
28548         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
28549         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
28550         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28551         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
28552         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
28553
28554 2010-03-14  Bruno Haible  <bruno@clisp.org>
28555
28556         Fix values returned by sinl, cosl.
28557         * lib/trigl.h: Add specification comments.
28558         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
28559         that combines the values from the precomputed table with the values of
28560         the Chebyshev polynomials.
28561
28562 2010-03-14  Bruno Haible  <bruno@clisp.org>
28563
28564         Fix compilation error when modules 'posix_spawn[p]' are not used.
28565         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
28566         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
28567
28568 2010-03-14  Bruno Haible  <bruno@clisp.org>
28569
28570         Fix compilation error on mingw when module 'time_r' is not used.
28571         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
28572         is 1.
28573         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
28574         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
28575         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
28576         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
28577
28578 2010-03-14  Bruno Haible  <bruno@clisp.org>
28579
28580         Fix compilation error with Sun C.
28581         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
28582         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
28583         instead of GCC specific ULONG_LONG_MAX.
28584         * lib/xstrtoll.c: Likewise.
28585         * lib/xstrtoull.c: Likewise.
28586
28587 2010-03-13  Bruno Haible  <bruno@clisp.org>
28588
28589         Allow the user to disable C++ code and tests.
28590         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
28591         (gl_PROG_ANSI_CXX): Require it.
28592
28593 2010-03-13  Bruno Haible  <bruno@clisp.org>
28594
28595         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
28596         cases.
28597
28598 2010-03-13  Bruno Haible  <bruno@clisp.org>
28599
28600         Test that gnulib does not break the standard C++ headers.
28601         * tests/test-locale-c++2.cc: New file.
28602         * modules/locale-tests (Files): Add it.
28603         (Makefile.am): Compile it for test-locale-c++.
28604         * tests/test-math-c++2.cc: New file.
28605         * modules/math-tests (Files): Add it.
28606         (Makefile.am): Compile it for test-math-c++.
28607         * tests/test-signal-c++2.cc: New file.
28608         * modules/signal-tests (Files): Add it.
28609         (Makefile.am): Compile it for test-signal-c++.
28610         * tests/test-stdio-c++2.cc: New file.
28611         * modules/stdio-tests (Files): Add it.
28612         (Makefile.am): Compile it for test-stdio-c++.
28613         * tests/test-stdlib-c++2.cc: New file.
28614         * modules/stdlib-tests (Files): Add it.
28615         (Makefile.am): Compile it for test-stdlib-c++.
28616         * tests/test-string-c++2.cc: New file.
28617         * modules/string-tests (Files): Add it.
28618         (Makefile.am): Compile it for test-string-c++.
28619         * tests/test-time-c++2.cc: New file.
28620         * modules/time-tests (Files): Add it.
28621         (Makefile.am): Compile it for test-time-c++.
28622         Reported by John W. Eaton <jwe@gnu.org>.
28623
28624 2010-03-13  Bruno Haible  <bruno@clisp.org>
28625
28626         * gnulib-tool (func_usage): Clarify which options are available for
28627         --create-testdir and --create-megatestdir.
28628
28629 2010-03-13  Bruno Haible  <bruno@clisp.org>
28630
28631         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
28632         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
28633         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
28634         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28635         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
28636         when appropriate.
28637         Reported by Jim Meyering.
28638
28639 2010-03-12  Simon Josefsson  <simon@josefsson.org>
28640
28641         * gnulib-tool (func_import): Explain origin of code.
28642
28643 2010-03-12  Bruno Haible  <bruno@clisp.org>
28644
28645         Fix problem with automake's definition of CXXLINK.
28646         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
28647         Reported by Simon Josefsson and Ludovic Courtès.
28648
28649 2010-03-12  Bruno Haible  <bruno@clisp.org>
28650
28651         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
28652         stable releases.
28653
28654 2010-03-11  Bruno Haible  <bruno@clisp.org>
28655
28656         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
28657         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
28658         whether the system provides one variant or multiple variants of the
28659         function.
28660         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
28661         C++ compilers.
28662         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
28663         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
28664         Reported by Jim Meyering.
28665
28666 2010-03-09  Simon Josefsson  <simon@josefsson.org>
28667
28668         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
28669
28670 2010-03-08  Bruno Haible  <bruno@clisp.org>
28671
28672         gnulib-tool: Add support for --libtool in --create-testdir.
28673         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
28674         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
28675
28676 2010-03-08  Eric Blake  <eblake@redhat.com>
28677
28678         gnulib-tool.texi: mention possibility of git submodule
28679         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
28680         submodules.
28681         * doc/.gitignore: Ignore another generated file.
28682
28683 2010-03-08  Karl Berry  <karl@gnu.org>
28684
28685         * doc/gnulib-tool.texi (VCS Issues): Mention third option
28686         of committing gnulib files while skipping others.
28687
28688 2010-03-07  Bruno Haible  <bruno@clisp.org>
28689
28690         Tests of module 'wctype' in C++ mode.
28691         * tests/test-wctype-c++.cc: New file.
28692         * modules/wctype-tests (Files): Add it and tests/signature.h.
28693         (Depends-on): Add ansi-c++-opt.
28694         (Makefile.am): Arrange to compile and run test-wctype-c++.
28695
28696         Tests of module 'wchar' in C++ mode.
28697         * tests/test-wchar-c++.cc: New file.
28698         * modules/wchar-tests (Files): Add it and tests/signature.h.
28699         (Depends-on): Add ansi-c++-opt.
28700         (Makefile.am): Arrange to compile and run test-wchar-c++.
28701         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
28702         gl_MODULE_INDICATOR.
28703
28704         Tests of module 'unistd' in C++ mode.
28705         * tests/test-unistd-c++.cc: New file.
28706         * modules/unistd-tests (Files): Add it and tests/signature.h.
28707         (Depends-on): Add ansi-c++-opt.
28708         (Makefile.am): Arrange to compile and run test-unistd-c++.
28709         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
28710         gl_MODULE_INDICATOR.
28711
28712         Tests of module 'time' in C++ mode.
28713         * tests/test-time-c++.cc: New file.
28714         * modules/time-tests (Files): Add it and tests/signature.h.
28715         (Depends-on): Add ansi-c++-opt.
28716         (Makefile.am): Arrange to compile and run test-time-c++.
28717         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
28718
28719         Tests of module 'sys_time' in C++ mode.
28720         * tests/test-sys_time-c++.cc: New file.
28721         * modules/sys_time-tests (Files): Add it and tests/signature.h.
28722         (Depends-on): Add ansi-c++-opt.
28723         (Makefile.am): Arrange to compile and run test-sys_time-c++.
28724         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
28725         gl_MODULE_INDICATOR.
28726
28727         Tests of module 'sys_stat' in C++ mode.
28728         * tests/test-sys_stat-c++.cc: New file.
28729         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
28730         (Depends-on): Add ansi-c++-opt.
28731         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
28732         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
28733         gl_MODULE_INDICATOR.
28734
28735         Tests of module 'sys_socket' in C++ mode.
28736         * tests/test-sys_socket-c++.cc: New file.
28737         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
28738         (Depends-on): Add ansi-c++-opt.
28739         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
28740         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
28741         gl_MODULE_INDICATOR.
28742
28743         Tests of module 'sys_select' in C++ mode.
28744         * tests/test-sys_select-c++.cc: New file.
28745         * modules/sys_select-tests (Files): Add it and tests/signature.h.
28746         (Depends-on): Add ansi-c++-opt.
28747         (Makefile.am): Arrange to compile and run test-sys_select-c++.
28748         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
28749         gl_MODULE_INDICATOR.
28750
28751         Tests of module 'sys_ioctl' in C++ mode.
28752         * tests/test-sys_ioctl-c++.cc: New file.
28753         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
28754         (Depends-on): Add ansi-c++-opt.
28755         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
28756         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
28757         gl_MODULE_INDICATOR.
28758
28759         Tests of module 'string' in C++ mode.
28760         * tests/test-string-c++.cc: New file.
28761         * modules/string-tests (Files): Add it and tests/signature.h.
28762         (Depends-on): Add ansi-c++-opt.
28763         (Makefile.am): Arrange to compile and run test-string-c++.
28764         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
28765         gl_MODULE_INDICATOR.
28766
28767         Tests of module 'stdlib' in C++ mode.
28768         * tests/test-stdlib-c++.cc: New file.
28769         * modules/stdlib-tests (Files): Add it and tests/signature.h.
28770         (Depends-on): Add ansi-c++-opt.
28771         (Makefile.am): Arrange to compile and run test-stdlib-c++.
28772         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
28773         gl_MODULE_INDICATOR.
28774
28775         Tests of module 'stdio' in C++ mode.
28776         * tests/test-stdio-c++.cc: New file.
28777         * modules/stdio-tests (Files): Add it and tests/signature.h.
28778         (Depends-on): Add ansi-c++-opt.
28779         (Makefile.am): Arrange to compile and run test-stdio-c++.
28780         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
28781         gl_MODULE_INDICATOR.
28782
28783         Tests of module 'spawn' in C++ mode.
28784         * tests/test-spawn-c++.cc: New file.
28785         * modules/spawn-tests (Files): Add it and tests/signature.h.
28786         (Depends-on): Add ansi-c++-opt.
28787         (Makefile.am): Arrange to compile and run test-spawn-c++.
28788         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
28789         gl_MODULE_INDICATOR.
28790
28791         Tests of module 'signal' in C++ mode.
28792         * tests/test-signal-c++.cc: New file.
28793         * modules/signal-tests (Files): Add it and tests/signature.h.
28794         (Depends-on): Add ansi-c++-opt.
28795         (Makefile.am): Arrange to compile and run test-signal-c++.
28796         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
28797         gl_MODULE_INDICATOR.
28798
28799         Tests of module 'search' in C++ mode.
28800         * tests/test-search-c++.cc: New file.
28801         * modules/search-tests (Files): Add it and tests/signature.h.
28802         (Depends-on): Add ansi-c++-opt.
28803         (Makefile.am): Arrange to compile and run test-search-c++.
28804         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
28805         gl_MODULE_INDICATOR.
28806
28807         Tests of module 'math' in C++ mode.
28808         * tests/test-math-c++.cc: New file.
28809         * modules/math-tests (Files): Add it and tests/signature.h.
28810         (Depends-on): Add ansi-c++-opt.
28811         (Makefile.am): Arrange to compile and run test-math-c++.
28812         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
28813
28814         Tests of module 'locale' in C++ mode.
28815         * tests/test-locale-c++.cc: New file.
28816         * modules/locale-tests (Files): Add it and tests/signature.h.
28817         (Depends-on): Add ansi-c++-opt.
28818         (Makefile.am): Arrange to compile and run test-locale-c++.
28819         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
28820         gl_MODULE_INDICATOR.
28821
28822         Tests of module 'langinfo' in C++ mode.
28823         * tests/test-langinfo-c++.cc: New file.
28824         * modules/langinfo-tests (Files): Add it and tests/signature.h.
28825         (Depends-on): Add ansi-c++-opt.
28826         (Makefile.am): Arrange to compile and run test-langinfo-c++.
28827         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
28828         gl_MODULE_INDICATOR.
28829
28830         Tests of module 'iconv-h' in C++ mode.
28831         * tests/test-iconv-h-c++.cc: New file.
28832         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
28833         (Depends-on): Add ansi-c++-opt.
28834         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
28835
28836         Tests of module 'glob' in C++ mode.
28837         * tests/test-glob-c++.cc: New file.
28838         * modules/glob-tests (Files): Add it.
28839         (Depends-on): Add ansi-c++-opt.
28840         (Makefile.am): Arrange to compile and run test-glob-c++.
28841
28842         Tests of module 'fcntl-h' in C++ mode.
28843         * tests/test-fcntl-h-c++.cc: New file.
28844         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
28845         (Depends-on): Add ansi-c++-opt.
28846         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
28847         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
28848         gl_MODULE_INDICATOR.
28849
28850         Tests of module 'dirent' in C++ mode.
28851         * tests/test-dirent-c++.cc: New file.
28852         * modules/dirent-tests (Files): Add it and tests/signature.h.
28853         (Depends-on): Add ansi-c++-opt.
28854         (Makefile.am): Arrange to compile and run test-dirent-c++.
28855         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
28856         gl_MODULE_INDICATOR.
28857
28858         New module 'ansi-c++-opt'.
28859         * modules/ansi-c++-opt: New file.
28860         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
28861
28862         Document C++ namespace mode.
28863         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
28864
28865         wctype: Avoid #define replacements in C++ mode.
28866         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
28867         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
28868         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
28869         In C++, define a namespaced alias symbol.
28870         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
28871         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
28872         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
28873         rule.
28874
28875         wchar: Avoid #define replacements in C++ mode.
28876         * lib/wchar.in.h: Include c++defs.h.
28877         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
28878         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
28879         symbol.
28880         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
28881         * modules/wchar (Depends-on): Add c++defs.
28882         (Makefile.am): Update wchar.h rule.
28883
28884         unistd: Avoid #define replacements in C++ mode.
28885         * lib/unistd.in.h: Include c++defs.h.
28886         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
28887         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
28888         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
28889         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
28890         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
28891         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
28892         symbol.
28893         (environ): Update.
28894         * modules/unistd (Depends-on): Add c++defs.
28895         (Makefile.am): Update unistd.h rule.
28896
28897         time: Avoid #define replacements in C++ mode.
28898         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
28899         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
28900         define a namespaced alias symbol.
28901         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
28902         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
28903         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
28904         * modules/time (Depends-on): Add c++defs, warn-on-use.
28905         (Makefile.am): Update time.h rule.
28906         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
28907         * modules/nanosleep (configure.ac): Likewise.
28908         * modules/strptime (configure.ac): Likewise.
28909         * modules/timegm (configure.ac): Likewise.
28910
28911         sys_time: Avoid #define replacements in C++ mode.
28912         * lib/sys_time.in.h: Include c++defs.h.
28913         (gettimeofday): In C++, define a namespaced alias symbol.
28914         * modules/sys_time (Depends-on): Add c++defs.
28915         (Makefile.am): Update sys/time.h rule.
28916
28917         sys_stat: Avoid #define replacements in C++ mode.
28918         * lib/sys_stat.in.h: Include c++defs.h.
28919         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
28920         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
28921         namespaced alias symbol.
28922         In C++, define a namespaced alias symbol.
28923         * modules/sys_stat (Depends-on): Add c++defs.
28924         (Makefile.am): Update sys/stat.h rule.
28925
28926         sys_socket: Avoid #define replacements in C++ mode.
28927         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
28928         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
28929         definitions also when the system has a <sys/socket.h>.
28930         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
28931         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
28932         In C++, define a namespaced alias symbol.
28933         * modules/sys_socket (Depends-on): Add c++defs.
28934         (Makefile.am): Update sys/socket.h rule.
28935
28936         sys_select: Avoid #define replacements in C++ mode.
28937         * lib/sys_select.in.h: Include c++defs.h. Enable the function
28938         definitions also when the system has a <sys/select.h>.
28939         (select): In C++, define a namespaced alias symbol.
28940         * modules/sys_select (Depends-on): Add c++defs.
28941         (Makefile.am): Update sys/select.h rule.
28942
28943         sys_ioctl: Avoid #define replacements in C++ mode.
28944         * lib/sys_ioctl.in.h: Include c++defs.h.
28945         (ioctl): In C++, define a namespaced alias symbol.
28946         * modules/sys_ioctl (Depends-on): Add c++defs.
28947         (Makefile.am): Update sys/ioctl.h rule.
28948
28949         string: Avoid #define replacements in C++ mode.
28950         * lib/string.in.h: Include c++defs.h.
28951         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
28952         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
28953         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
28954         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
28955         strsignal, strverscmp): In C++, define a namespaced alias symbol.
28956         * modules/string (Depends-on): Add c++defs.
28957         (Makefile.am): Update string.h rule.
28958
28959         stdlib: Avoid #define replacements in C++ mode.
28960         * lib/stdlib.in.h: Include c++defs.h.
28961         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
28962         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
28963         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
28964         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
28965         symbol.
28966         * modules/stdlib (Depends-on): Add c++defs.
28967         (Makefile.am): Update stdlib.h rule.
28968
28969         stdio: Avoid #define replacements in C++ mode.
28970         * lib/stdio.in.h: Include c++defs.h.
28971         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
28972         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
28973         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
28974         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
28975         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
28976         namespaced alias symbol.
28977         * modules/stdio (Depends-on): Add c++defs.
28978         (Makefile.am): Update stdio.h rule.
28979
28980         spawn: Avoid #define replacements in C++ mode.
28981         * lib/spawn.in.h: Include c++defs.h.
28982         (posix_spawn, posix_spawnp, posix_spawnattr_init,
28983         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
28984         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
28985         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
28986         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
28987         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
28988         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
28989         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
28990         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
28991         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
28992         In C++, define a namespaced alias symbol.
28993         * modules/spawn (Depends-on): Add c++defs.
28994         (Makefile.am): Update spawn.h rule.
28995
28996         signal: Avoid #define replacements in C++ mode.
28997         * lib/signal.in.h: Include c++defs.h.
28998         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
28999         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
29000         namespaced alias symbol.
29001         * modules/signal (Depends-on): Add c++defs.
29002         (Makefile.am): Update signal.h rule.
29003
29004         search: Avoid #define replacements in C++ mode.
29005         * lib/search.in.h: Include c++defs.h.
29006         (_gl_search_compar_fn, _gl_search_action_fn): New types.
29007         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
29008         symbol.
29009         * modules/search (Depends-on): Add c++defs.
29010         (Makefile.am): Update search.h rule.
29011
29012         math: Avoid #define replacements in C++ mode.
29013         * lib/math.in.h: Include c++defs.h.
29014         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
29015         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
29016         trunc, truncl): In C++, define a namespaced alias symbol.
29017         * modules/math (Depends-on): Add c++defs.
29018         (Makefile.am): Update math.h rule.
29019
29020         locale: Avoid #define replacements in C++ mode.
29021         * lib/locale.in.h: Include c++defs.h.
29022         (duplocale): In C++, define a namespaced alias symbol.
29023         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
29024         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
29025         * modules/locale (Depends-on): Add c++defs.
29026         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
29027
29028         langinfo: Avoid #define replacements in C++ mode.
29029         * lib/langinfo.in.h: Include c++defs.h.
29030         (nl_langinfo): In C++, define a namespaced alias symbol.
29031         * modules/langinfo (Depends-on): Add c++defs.
29032         (Makefile.am): Update langinfo.h rule.
29033
29034         iconv-h: Avoid #define replacements in C++ mode.
29035         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
29036         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
29037         symbol.
29038         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
29039         whenever iconv is present.
29040         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
29041         (Makefile.am): Update iconv.h rule.
29042
29043         glob: Avoid #define replacements in C++ mode.
29044         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
29045         (_gl_glob_errfunc_fn): New type.
29046         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
29047         symbol.
29048         * modules/glob (Depends-on): Add c++defs, warn-on-use.
29049         (Makefile.am): Update glob.h rule.
29050
29051         fcntl-h: Avoid #define replacements in C++ mode.
29052         * lib/fcntl.in.h: Include c++defs.h.
29053         (fcntl, open, openat): In C++, define a namespaced alias symbol.
29054         * modules/fcntl-h (Depends-on): Add c++defs.
29055         (Makefile.am): Update fcntl.h rule.
29056
29057         dirent: Avoid #define replacements in C++ mode.
29058         * lib/dirent.in.h: Include c++defs.h.
29059         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
29060         namespaced alias symbol.
29061         (dirfd): Update declaration.
29062         * modules/dirent (Depends-on): Add c++defs.
29063         (Makefile.am): Update dirent.h rule.
29064
29065         ctype: Make it usable in C++ code.
29066         * lib/ctype.in.h: Include c++defs.h.
29067         (isblank): Declare as extern "C".
29068         * modules/ctype (Depends-on): Add c++defs.
29069         (Makefile.am): Update ctype.h rule.
29070
29071         New module 'c++defs'.
29072         * modules/c++defs: New file.
29073         * build-aux/c++defs.h: New file.
29074         Reported by John W. Eaton <jwe@gnu.org>.
29075
29076 2010-03-07  Bruno Haible  <bruno@clisp.org>
29077
29078         logb: Provide missing declaration for Cygwin.
29079         * lib/math.in.h (logb): New declaration.
29080         * m4/logb.m4: New file.
29081         * modules/logb (Files): Add m4/logb.m4.
29082         (Depends-on): Add math.
29083         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
29084         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
29085         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
29086         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
29087         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
29088
29089 2010-03-07  Bruno Haible  <bruno@clisp.org>
29090
29091         Fix test-cond link error.
29092         * tests/test-cond.c: Include <stdio.h>.
29093
29094 2010-03-07  Bruno Haible  <bruno@clisp.org>
29095
29096         Fix test-dirent-safer link error.
29097         * modules/dirent-safer-tests (Makefile.am): Define
29098         test_dirent_safer_LDADD.
29099
29100 2010-03-07  Bruno Haible  <bruno@clisp.org>
29101
29102         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
29103         among default module list.
29104
29105 2010-03-07  Bruno Haible  <bruno@clisp.org>
29106
29107         Fix link error on platforms with GNU libiconv.
29108         * modules/unistr/u8-strcoll-tests (Makefile): Define
29109         test_u8_strcoll_LDADD.
29110         * modules/unistr/u16-strcoll-tests (Makefile): Define
29111         test_u16_strcoll_LDADD.
29112         * modules/unistr/u32-strcoll-tests (Makefile): Define
29113         test_u32_strcoll_LDADD.
29114
29115 2010-03-07  Bruno Haible  <bruno@clisp.org>
29116
29117         Use POSIX declarations for socket functions.
29118         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
29119         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
29120         rpl_sendto): Change declaration to match POSIX.
29121         * lib/connect.c (rpl_connect): Likewise.
29122         * lib/accept.c (rpl_accept): Likewise.
29123         * lib/bind.c (rpl_bind): Likewise.
29124         * lib/getpeername.c (rpl_getpeername): Likewise.
29125         * lib/getsockname.c (rpl_getsockname): Likewise.
29126         * lib/recv.c (rpl_recv): Likewise.
29127         * lib/send.c (rpl_send): Likewise.
29128         * lib/recvfrom.c (rpl_recvfrom): Likewise.
29129         * lib/sendto.c (rpl_sendto): Likewise.
29130
29131 2010-03-06  Bruno Haible  <bruno@clisp.org>
29132
29133         Clarify access, euidaccess, faccessat.
29134         * doc/posix-functions/faccessat.texi: Mention security problem under
29135         "Other problems", not "Portability problems".
29136         * doc/posix-functions/access.texi: Likewise. Mention a related security
29137         problem.
29138         * doc/glibc-functions/euidaccess.texi: Mention security problems.
29139         * lib/euidaccess.c: Add comments about platforms.
29140         * lib/unistd.in.h (access, euidaccess): Add warnings.
29141
29142 2010-03-07  Bruno Haible  <bruno@clisp.org>
29143
29144         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
29145         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
29146         (POSIX_SPAWN_SETSCHEDULER): Likewise.
29147         (POSIX_SPAWN_USEVFORK): Define in a way that works when
29148         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
29149         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
29150         declare when POSIX_SPAWN_SETSCHEDULER is zero.
29151         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
29152         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
29153         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
29154         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
29155         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
29156         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
29157         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
29158         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
29159         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
29160         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
29161         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
29162         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
29163         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
29164         Likewise.
29165         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
29166         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
29167         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
29168         Likewise.
29169         * tests/test-spawn.c (main): Make it work when
29170         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
29171
29172 2010-03-07  Bruno Haible  <bruno@clisp.org>
29173
29174         Fix incorrect Makefile.am generation in German locale.
29175         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
29176         Execute sed command with character range in C locale.
29177
29178 2010-03-06  Bruno Haible  <bruno@clisp.org>
29179
29180         Tests for module 'iconv-h'.
29181         * modules/iconv-h-tests: New file.
29182         * tests/test-iconv-h.c: New file.
29183
29184         New module 'iconv-h'.
29185         * modules/iconv-h: New file.
29186         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
29187         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
29188         (configure.ac): Remove gl_ICONV_H.
29189         (Makefile.am): Remove rule for iconv.h.
29190
29191 2010-03-06  Bruno Haible  <bruno@clisp.org>
29192
29193         More consistent naming of *.m4 files.
29194         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
29195         * modules/wctype (Files): Update.
29196
29197         More consistent naming of *.m4 files.
29198         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
29199         * modules/wchar (Files): Update.
29200
29201 2010-03-06  Jim Meyering  <meyering@redhat.com>
29202
29203         euidaccess: relax license to LGPLv2+
29204         * modules/euidaccess (License): Relax to LGPLv2+.
29205
29206 2010-03-06  Bruno Haible  <bruno@clisp.org>
29207
29208         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
29209         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
29210         (Makefile.am): Augment lib_SOURCES instead.
29211
29212 2010-03-04  Jim Meyering  <meyering@redhat.com>
29213
29214         utime: remove obsolete module
29215         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
29216         unnecessary for years, and has been marked as obsolete for 10 months.
29217         * modules/utime: Remove file.
29218         * lib/utime.c: Remove file.
29219         * m4/utime.m4: Remove file.
29220         * m4/utimes-null.m4: Remove file.
29221         * doc/posix-functions/utime.texi (utime): Remove reference to
29222         the module.  Move the sole "fixed by gnulib" item into the
29223         "problems not fixed by Gnulib" list.
29224         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
29225
29226 2010-03-05  Simon Josefsson  <simon@josefsson.org>
29227
29228         * modules/exit (License): Relax license to LGPLv2+.
29229         (Status): Mark as obsolete.
29230         * NEWS: Mention deprecated 'exit' module.
29231         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
29232         of now obsolete 'exit'.
29233
29234 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29235
29236         fts-lgpl: remove unused module
29237         * modules/fts-lgpl: Remove.
29238         * MODULES.html.sh (func_all_modules): Adjust.
29239         * check-module (find_included_lib_files): Adjust.
29240         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
29241
29242 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
29243
29244         copy-acl: enhance Solaris ACL error handling
29245         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
29246         * lib/set-mode-acl.c (qset_acl): Likewise.
29247
29248 2010-03-02  Bruno Haible  <bruno@clisp.org>
29249
29250         spawn: Don't override the system defined values on FreeBSD 8.
29251         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
29252         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
29253         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
29254         if HAVE_POSIX_SPAWN is 1.
29255         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
29256
29257 2010-03-01  Bruno Haible  <bruno@clisp.org>
29258
29259         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
29260         regarding Automake.
29261
29262 2010-02-25  Bruno Haible  <bruno@clisp.org>
29263
29264         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
29265         * gnulib-tool: Define 'echo' as a function only before the ksh alias
29266         setting, not afterwards.
29267         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
29268
29269 2010-02-24  Eric Blake  <eblake@redhat.com>
29270
29271         bootstrap, git-version-gen: use timestamp
29272         * build-aux/git-version-gen (scriptversion): Force UTC.
29273         * build-aux/bootstrap (scriptversion): New variable.
29274
29275         bootstrap: allow older git
29276         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
29277         older than 1.6.4.  Requested by the libvirt project.
29278
29279 2010-02-23  Eric Blake  <eblake@redhat.com>
29280
29281         warn-on-use: work with old autoconf
29282         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
29283         AS_VAR semantics of autoconf 2.60.
29284         Reported by Bruno Haible.
29285
29286         bootstrap: improve some comments
29287         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
29288         clarification comments.
29289
29290         gettimeofday: provide correct function
29291         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
29292         when replacement is declared, otherwise provide gettimeofday.
29293         Reported by Michael Goffioul.
29294
29295 2010-02-23  Jim Meyering  <meyering@redhat.com>
29296
29297         lib-ignore: relax license to "unlimited", not LGPLv2+
29298         * modules/lib-ignore (License): Relax to "unlimited".
29299
29300 2010-02-23  Jim Meyering  <meyering@redhat.com>
29301
29302         lib-ignore: relax license to LGPLv2+
29303         * modules/lib-ignore (License): Relax to LGPLv2+.
29304
29305 2010-02-22  Eric Blake  <eblake@redhat.com>
29306
29307         lseek: avoid bash 3.2 broken pipe bug
29308         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
29309         warning from bash 3.2.
29310         Reported by Ben Pfaff, with analysis from Bruno Haible.
29311
29312         bootstrap: support non-FSF copyright holder
29313         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
29314         bootstrap.conf override of COPYRIGHT_HOLDER.
29315         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
29316
29317         bootstrap: interoperate with gettext 0.14.1
29318         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
29319
29320         bootstrap: allow for alternate submodule location
29321         * build-aux/bootstrap (gnulib_path): New variable; use instead of
29322         hardcoding submodule location.
29323         (gnulib_mk): Allow direct use of Makefile.am.
29324
29325         bootstrap: use GNULIB_SRCDIR to reduce disk usage
29326         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
29327         rather than reconfiguring where the submodule points.
29328
29329         gettimeofday: restore support for platforms that lack function
29330         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
29331         replacement if function is missing.
29332         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
29333         * modules/sys_time (Makefile.am): Substitute it.
29334         * lib/sys_time.in.h (gettimeofday): Check it.
29335         Reported by Michael Goffioul.
29336
29337 2010-02-21  Bruno Haible  <bruno@clisp.org>
29338
29339         * lib/stdio.in.h (obstack_printf): Fix typo.
29340
29341 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
29342
29343         vc-list-files: use bzr ls's -R option
29344         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
29345         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
29346
29347 2010-02-21  Jim Meyering  <meyering@redhat.com>
29348
29349         init.sh: fix EXEEXT shims to work also for names like test-prog
29350         * tests/init.sh: Re-exec a better shell, when needed.
29351         If the current shell lacks support for posix $(...), an init.sh-using
29352         test will now try to find a shell that supports that.  If EXEEXT is
29353         nonempty, we also require support for hyphen-in-alias-name and shell
29354         substitutions like ${var#glob}.  Failure to find such a shell results
29355         in a skipped test.
29356
29357 2010-02-21  Bruno Haible  <bruno@clisp.org>
29358
29359         Really work around around "broken pipe" error message from bash 3.2.
29360         * gnulib-tool (func_reset_sigpipe): Remove function.
29361         (echo): In bash 3.2, define to a function that uses printf.
29362         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
29363
29364 2010-02-20  Bruno Haible  <bruno@clisp.org>
29365
29366         Restore support for automake 1.9.6 with autoconf 2.61.
29367         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
29368         Reported by James Youngman <jay@gnu.org>.
29369
29370 2010-02-20  Bruno Haible  <bruno@clisp.org>
29371
29372         Improve *printf warning condition.
29373         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
29374         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
29375         and the function is overridden due to SIGPIPE emulation.
29376
29377 2010-02-20  Bruno Haible  <bruno@clisp.org>
29378
29379         * lib/stdio.in.h: Tweak comments.
29380
29381 2010-02-19  Bruno Haible  <bruno@clisp.org>
29382
29383         Make it easier to find modules. New gnulib-tool option '--find'.
29384         * gnulib-tool: New option --find.
29385         (func_usage): Document it.
29386         (func_sanitize_modulelist): New function, extracted from
29387         func_all_modules.
29388         (func_all_modules): Invoke it.
29389         * doc/gnulib-tool.texi (Which modules?): New node.
29390
29391 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
29392
29393         * lib/sys_select.in.h: Provide select replacement even if
29394         sys/select.h exists on a system, for Interix.
29395
29396 2010-02-18  Jim Meyering  <meyering@redhat.com>
29397
29398         init.sh: don't use $(...) just yet
29399         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
29400         to accommodate e.g., Solaris' /bin/sh.
29401
29402 2010-02-17  Bruno Haible  <bruno@clisp.org>
29403
29404         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
29405         Reported by Ludovic Courtès <ludo@gnu.org>.
29406
29407 2010-02-16  Simon Josefsson  <simon@josefsson.org>
29408
29409         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
29410         linking with -lintl.
29411
29412 2010-02-17  Simon Josefsson  <simon@josefsson.org>
29413
29414         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
29415         if not provided by the system's netdb.h.  Reported by
29416         ludo@gnu.org (Ludovic Courtès).
29417
29418 2010-02-15  Jim Meyering  <meyering@redhat.com>
29419
29420         init.sh: improve portability and efficiency
29421         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
29422         "dummy" in a for loop.
29423         Use '!', not '^' to select the complement of a character set used
29424         in a "case" statement.
29425         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
29426         Suggestions from Eric Blake.
29427
29428         init.sh: automatically accommodate programs with the .exe suffix
29429         Automatically arrange for an invocation of "prog" to execute the
29430         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
29431         may use the simpler "prog", yet still work when built on a system
29432         that requires specifying the added suffix.
29433         Do this by constructing a function named "prog" that invokes
29434         "prog.exe" for each .exe file in selected directories.
29435         * tests/init.sh (find_exe_basenames_): New function.
29436         (create_exe_shim_functions_): New function.
29437         (path_prepend_): Use it.
29438
29439         maint.mk: mark syntax-check sc_*.m rules as .PHONY
29440         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
29441         "make -t syntax-check" doesn't create a ton of sc_*.m files.
29442
29443 2010-02-14  Jim Meyering  <meyering@redhat.com>
29444
29445         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
29446         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
29447         (sc_prohibit_hash_pjw_without_use): New rule.
29448
29449         maint.mk: allow the default upload destination dir to be overridden
29450         * top/maint.mk (upload_dest_dir_): Define with a default that
29451         preserves the status quo.
29452         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
29453         Reported by Peter Simons.
29454
29455         maint.mk: prohibit inclusion of "hash.h" without_use
29456         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
29457
29458 2010-02-10  Jim Meyering  <meyering@redhat.com>
29459
29460         maint.mk: prohibit inclusion of "ignore-value.h" without_use
29461         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
29462
29463 2010-02-09  Eric Blake  <ebb9@byu.net>
29464         and Bruno Haible  <bruno@clisp.org>
29465
29466         obstack-printf-posix: ensure declaration
29467         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
29468         extracted from gl_FUNC_OBSTACK_PRINTF.
29469         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
29470         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
29471         Likewise.
29472         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
29473         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
29474         0.
29475
29476 2010-02-08  Bruno Haible  <bruno@clisp.org>
29477
29478         gnulib-tool: Fix typo in 2010-02-07 commit.
29479         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
29480         Reported by Eric Blake.
29481
29482 2010-02-07  Bruno Haible  <bruno@clisp.org>
29483
29484         gnulib-tool: Fix up caching patches.
29485         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
29486         option --no-cache. Use associative arrays when supported by the shell.
29487         (sed_comments): New variable.
29488         (modcache): Renamed from do_cache.
29489         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
29490         abbreviate unnecessarily.
29491         (have_associative): New variable.
29492         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
29493         way also for ksh and zsh.
29494         (func_init_sed_convert_to_cache_statements): New function, extracted
29495         from func_cache_lookup_module. Add support for associative arrays.
29496         Don't set the c_MODULE_cached variable here. Ignore all lines before
29497         the first field header. Remove only the final newline, not all trailing
29498         newlines. Support empty fields correctly. Limit the use of 'eval' to
29499         assignments.
29500         (func_get_description, func_get_status, func_get_notice,
29501         func_get_applicability, func_get_filelist, func_get_dependencies,
29502         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
29503         func_get_automake_snippet, func_get_include_directive,
29504         func_get_link_directive, func_get_license, func_get_maintainer):
29505         Update documentation. List the unoptimized code first. Add support for
29506         associative arrays. Limit the use of 'eval' to assignments.
29507         (func_get_applicability): Undo stylistic pessimisations.
29508         (func_get_automake_snippet, func_get_include_directive): Reduce code
29509         duplication.
29510         (func_modules_transitive_closure, func_modules_add_dummy,
29511         func_modules_notice, func_modules_to_filelist, func_add_file,
29512         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
29513         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
29514         func_create_testdir, func_create_megatestdir): Update documentation.
29515
29516 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29517
29518         * gnulib-tool (func_cache_lookup_module): Store the module name
29519         belonging to the cache variable; error out if two different
29520         module names map to the same cache variable name.
29521
29522 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29523
29524         gnulib-tool: Make caching optional.
29525         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
29526         Update matching short versions of --no-changelog.
29527         (func_usage): Update.
29528         (sed_extract_cache_prog): Renamed from ...
29529         (sed_extract_prog): ... this; revert to old extraction script.
29530         (func_get_description, func_get_status)
29531         (func_get_notice, func_get_applicability, func_get_filelist)
29532         (func_get_dependencies, func_get_autoconf_early_snippet)
29533         (func_get_autoconf_snippet, func_get_automake_snippet)
29534         (func_get_include_directive, func_get_link_directive)
29535         (func_get_license, func_get_maintainer): If $do_cache is false,
29536         use old, non-caching extraction scripts.
29537         Suggestion by Bruno Haible.
29538
29539 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29540
29541         gnulib-tool: cache module metainformation.
29542         * gnulib-tool (sed_extract_prog): Match newline before each
29543         header, and rewrite header to a shell variable suffix.
29544         (func_cache_var, func_cache_lookup_module): New functions,
29545         to turn a module name into a cache variable prefix, and to
29546         look up and cache module metainformation.
29547         (func_get_description, func_get_status)
29548         (func_get_notice, func_get_applicability, func_get_filelist)
29549         (func_get_dependencies, func_get_autoconf_early_snippet)
29550         (func_get_autoconf_snippet, func_get_automake_snippet)
29551         (func_get_include_directive, func_get_link_directive)
29552         (func_get_license, func_get_maintainer): Use
29553         func_cache_lookup_module.
29554
29555 2010-02-07  Bruno Haible  <bruno@clisp.org>
29556
29557         fnctl: Fix missing dependency.
29558         * modules/fcntl (Depends-on): Add getdtablesize.
29559         Reported by John W. Eaton <jwe@gnu.org>.
29560
29561 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
29562
29563         Argp: fix recognition of short alias options.
29564
29565         * lib/argp-parse.c (convert_options): Fix improper use of
29566         `|' between character values.
29567         * tests/test-argp.c (group1_option): New alias option
29568         --read (-r).
29569         (group1_parser): Special handling for 'r'.
29570         (test15): New test case.
29571         (test_fun): Add test15.
29572         * tests/test-argp-2.sh: Update expected --help and --usage
29573         outputs.
29574
29575 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
29576
29577         * tests/test-argp.c: Fix indentation.
29578
29579 2010-02-04  Eric Blake  <ebb9@byu.net>
29580
29581         gettimeofday: expose type of second argument
29582         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
29583         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
29584         * tests/test-gettimeofday.c: Use it to silence warning.
29585         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
29586         the issue.
29587
29588 2010-02-03  Jim Meyering  <meyering@redhat.com>
29589
29590         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
29591         * lib/regcomp.c (TYPE_SIGNED): Define.
29592         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
29593
29594         regcomp.c: avoid a new -Wshadow warning
29595         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
29596
29597 2010-02-01  Jim Meyering  <meyering@redhat.com>
29598
29599         removing useless parentheses in cpp #define directives
29600         For motivation, see commit c0221df4, "define STREQ(a,b)
29601         consistently, removing useless parentheses"
29602         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
29603         * lib/mountlist.c (MNT_IGNORE): Likewise.
29604         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
29605
29606 2010-02-01  Eric Blake  <ebb9@byu.net>
29607
29608         sys_time: use link-warning
29609         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
29610         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
29611         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
29612         * modules/sys_time (Depends-on): Add warn-on-use.
29613         (Makefile.am): Always build replacement.
29614         (configure.ac): Update substitutions.
29615         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
29616         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
29617         bother with SYS_TIME_H.
29618         * modules/gettimeofday (configure.ac): Declare indicator.
29619         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
29620         in use.
29621
29622         closein-tests: silence compiler warning
29623         * tests/test-closein.c (main): Ignore fread result.
29624         * modules/closein-tests (Depends-on): Add ignore-value.
29625
29626         tests: silence warning about system return
29627         * tests/test-areadlink-with-size.c (main): Ignore system result.
29628         * tests/test-areadlink.c (main): Likewise.
29629         * tests/test-areadlinkat-with-size.c (main): Likewise.
29630         * tests/test-areadlinkat.c (main): Likewise.
29631         * tests/test-canonicalize-lgpl.c (main): Likewise.
29632         * tests/test-canonicalize.c (main): Likewise.
29633         * tests/test-chown.c (main): Likewise.
29634         * tests/test-fchownat.c (main): Likewise.
29635         * tests/test-fdutimensat.c (main): Likewise.
29636         * tests/test-fstatat.c (main): Likewise.
29637         * tests/test-futimens.c (main): Likewise.
29638         * tests/test-lchown.c (main): Likewise.
29639         * tests/test-link.c (main): Likewise.
29640         * tests/test-linkat.c (main): Likewise.
29641         * tests/test-lstat.c (main): Likewise.
29642         * tests/test-mkdir.c (main): Likewise.
29643         * tests/test-mkdirat.c (main): Likewise.
29644         * tests/test-mkfifo.c (main): Likewise.
29645         * tests/test-mkfifoat.c (main): Likewise.
29646         * tests/test-mknod.c (main): Likewise.
29647         * tests/test-readlink.c (main): Likewise.
29648         * tests/test-remove.c (main): Likewise.
29649         * tests/test-rename.c (main): Likewise.
29650         * tests/test-renameat.c (main): Likewise.
29651         * tests/test-rmdir.c (main): Likewise.
29652         * tests/test-symlink.c (main): Likewise.
29653         * tests/test-symlinkat.c (main): Likewise.
29654         * tests/test-unlink.c (main): Likewise.
29655         * tests/test-unlinkat.c (main): Likewise.
29656         * tests/test-utimens.c (main): Likewise.
29657         * tests/test-utimensat.c (main): Likewise.
29658         * modules/areadlink-tests (Depends-on): Add ignore-value.
29659         * modules/areadlink-with-size-tests (Depends-on): Likewise.
29660         * modules/areadlinkat-tests (Depends-on): Likewise.
29661         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
29662         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
29663         * modules/canonicalize-tests (Depends-on): Likewise.
29664         * modules/chown-tests (Depends-on): Likewise.
29665         * modules/fdutimensat-tests (Depends-on): Likewise.
29666         * modules/futimens-tests (Depends-on): Likewise.
29667         * modules/lchown-tests (Depends-on): Likewise.
29668         * modules/link-tests (Depends-on): Likewise.
29669         * modules/linkat-tests (Depends-on): Likewise.
29670         * modules/lstat-tests (Depends-on): Likewise.
29671         * modules/mkdir-tests (Depends-on): Likewise.
29672         * modules/mkfifo-tests (Depends-on): Likewise.
29673         * modules/mkfifoat-tests (Depends-on): Likewise.
29674         * modules/mknod-tests (Depends-on): Likewise.
29675         * modules/openat-tests (Depends-on): Likewise.
29676         * modules/readlink-tests (Depends-on): Likewise.
29677         * modules/remove-tests (Depends-on): Likewise.
29678         * modules/rename-tests (Depends-on): Likewise.
29679         * modules/renameat-tests (Depends-on): Likewise.
29680         * modules/rmdir-tests (Depends-on): Likewise.
29681         * modules/symlink-tests (Depends-on): Likewise.
29682         * modules/symlinkat-tests (Depends-on): Likewise.
29683         * modules/unlink-tests (Depends-on): Likewise.
29684         * modules/utimens-tests (Depends-on): Likewise.
29685         * modules/utimensat-tests (Depends-on): Likewise.
29686
29687 2010-01-31  Bruno Haible  <bruno@clisp.org>
29688
29689         Perform the same test for many <math.h> functions.
29690         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
29691         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
29692         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
29693         of gl_MATHFUNC.
29694         * modules/acos (configure.ac): Likewise.
29695         * modules/asin (configure.ac): Likewise.
29696         * modules/atan (configure.ac): Likewise.
29697         * modules/atan2 (configure.ac): Likewise.
29698         * modules/cbrt (configure.ac): Likewise.
29699         * modules/copysign (configure.ac): Likewise.
29700         * modules/cos (configure.ac): Likewise.
29701         * modules/cosh (configure.ac): Likewise.
29702         * modules/erf (configure.ac): Likewise.
29703         * modules/erfc (configure.ac): Likewise.
29704         * modules/exp (configure.ac): Likewise.
29705         * modules/fmod (configure.ac): Likewise.
29706         * modules/hypot (configure.ac): Likewise.
29707         * modules/j0 (configure.ac): Likewise.
29708         * modules/j1 (configure.ac): Likewise.
29709         * modules/jn (configure.ac): Likewise.
29710         * modules/lgamma (configure.ac): Likewise.
29711         * modules/log (configure.ac): Likewise.
29712         * modules/log10 (configure.ac): Likewise.
29713         * modules/log1p (configure.ac): Likewise.
29714         * modules/pow (configure.ac): Likewise.
29715         * modules/remainder (configure.ac): Likewise.
29716         * modules/sin (configure.ac): Likewise.
29717         * modules/sinh (configure.ac): Likewise.
29718         * modules/tan (configure.ac): Likewise.
29719         * modules/tanh (configure.ac): Likewise.
29720         * modules/y0 (configure.ac): Likewise.
29721         * modules/y1 (configure.ac): Likewise.
29722         * modules/yn (configure.ac): Likewise.
29723         Suggested by Paolo Bonzini.
29724
29725 2010-01-31  Bruno Haible  <bruno@clisp.org>
29726
29727         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
29728
29729 2010-01-31  Bruno Haible  <bruno@clisp.org>
29730
29731         Work around getdelim() bug on FreeBSD 8.0.
29732         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
29733         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
29734         not work.
29735         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
29736         is 1.
29737         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
29738         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
29739         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
29740         a non-zero size.
29741         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
29742
29743 2010-01-31  Bruno Haible  <bruno@clisp.org>
29744
29745         Work around getline() bug on FreeBSD 8.0.
29746         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
29747         and a non-zero size.
29748         * tests/test-getline.c (main): Likewise.
29749         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
29750         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
29751
29752 2010-01-28  Eric Blake  <ebb9@byu.net>
29753
29754         regex: fix build failure
29755         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
29756         platforms.
29757
29758 2010-01-28  Jim Meyering  <meyering@redhat.com>
29759
29760         regex: do not ignore memory allocation failure
29761         * lib/regex_internal.c (create_cd_newstate): Detect
29762         re_node_set_init_copy failure.   Extracted from glibc commit
29763         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
29764
29765         regex: sync more white-space changes from libc
29766         * lib/regex_internal.c: White-space only changes.
29767         * lib/regexec.c: Likewise.
29768
29769         regex: add many uses of __attribute_warn_unused_result__
29770         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
29771         * lib/regexec.c: Likewise.
29772         Extracted from a messy glibc commit.
29773
29774         regcomp.c: spelling and merge-artifact from glibc
29775         * lib/regcomp.c: Merge remainder of glibc's
29776         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
29777
29778         regcomp.c: sync white-space changes from glibc
29779         * lib/regcomp.c: Merge to accommodate white space
29780         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
29781
29782         regcomp.c: do not ignore internal return values
29783         * lib/regcomp.c: Do not ignore internal return values.
29784         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
29785         but without its white-space changes and spelling fixes.
29786
29787         regex_internal.h: define __attribute_warn_unused_result__
29788         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
29789
29790         maint: add a syntax-check rule to check for vulnerable Makefile.in
29791         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
29792
29793 2010-01-27  Jim Meyering  <meyering@redhat.com>
29794
29795         ncftpput-ftp: clean up spaces
29796         * build-aux/ncftpput-ftp: Make Copyright line consistent.
29797         Remove trailing blanks.
29798
29799 2010-01-27  Simon Josefsson  <simon@josefsson.org>
29800
29801         * build-aux/git-version-gen: Fix copyright statement.
29802         * build-aux/gnupload: Likewise.
29803         * tests/test-arcfour.c: Likewise.
29804         * tests/test-arctwo.c: Likewise.
29805         * tests/test-count-one-bits.c: Likewise.
29806         * tests/test-crc.c: Likewise.
29807         * tests/test-des.c: Likewise.
29808         * tests/test-gc-arcfour.c: Likewise.
29809         * tests/test-gc-arctwo.c: Likewise.
29810         * tests/test-gc-des.c: Likewise.
29811         * tests/test-gc-hmac-md5.c: Likewise.
29812         * tests/test-gc-hmac-sha1.c: Likewise.
29813         * tests/test-gc-md2.c: Likewise.
29814         * tests/test-gc-md4.c: Likewise.
29815         * tests/test-gc-md5.c: Likewise.
29816         * tests/test-gc-pbkdf2-sha1.c: Likewise.
29817         * tests/test-gc-rijndael.c: Likewise.
29818         * tests/test-gc-sha1.c: Likewise.
29819         * tests/test-gc.c: Likewise.
29820         * tests/test-gethostname.c: Likewise.
29821         * tests/test-gettimeofday.c: Likewise.
29822         * tests/test-hash.c: Likewise.
29823         * tests/test-hmac-md5.c: Likewise.
29824         * tests/test-hmac-sha1.c: Likewise.
29825         * tests/test-md2.c: Likewise.
29826         * tests/test-md4.c: Likewise.
29827         * tests/test-md5.c: Likewise.
29828         * tests/test-memchr.c: Likewise.
29829         * tests/test-memchr2.c: Likewise.
29830         * tests/test-memcmp.c: Likewise.
29831         * tests/test-memmem.c: Likewise.
29832         * tests/test-memrchr.c: Likewise.
29833         * tests/test-rawmemchr.c: Likewise.
29834         * tests/test-read-file.c: Likewise.
29835         * tests/test-rijndael.c: Likewise.
29836         * tests/test-sockets.c: Likewise.
29837         * tests/test-strchrnul.c: Likewise.
29838         * tests/test-strstr.c: Likewise.
29839         * tests/test-strtod.c: Likewise.
29840         * build-aux/ncftpput-ftp: Likewise.
29841
29842 2010-01-26  Eric Blake  <ebb9@byu.net>
29843
29844         ignore-value: update recommended header name
29845         * modules/ignore-value (Include): Only use <> for headers that
29846         exist in glibc.
29847
29848 2010-01-26  Jim Meyering  <meyering@redhat.com>
29849
29850         test-userspec.c: avoid compiler warnings
29851         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
29852         and "initialization discards qualifiers..." warnings.
29853         Put the first "uid" in its own scope, and make char* members "const".
29854
29855 2010-01-25  Bruno Haible  <bruno@clisp.org>
29856
29857         gnulib-tool: Make warning diagnostics consistent.
29858         * gnulib-tool (func_warning): New function.
29859         Use it everywhere where gnulib-tool produces output to stderr and it is
29860         not a fatal error.
29861
29862 2010-01-25  Bruno Haible  <bruno@clisp.org>
29863
29864         Fix test dependencies.
29865         * modules/xstrtol-tests (Depends-on): Add inttypes.
29866         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
29867
29868 2010-01-25 Pádraig Brady <P@draigBrady.com>
29869
29870         syntax-check: detect incorrect boolean macro values in config.h
29871         * modules/maintainer-makefile (configure.ac): Parameterize the location
29872         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
29873         The logic is from Eric Blake and the location indicated by Jim Meyering.
29874         Note the more natural CONFIG_HEADER name is prohibited by automake
29875         for backwards compatibility reasons.
29876         * top/maint.mk (sc_Wundef_boolean): New rule.
29877
29878 2010-01-25  Jim Meyering  <meyering@redhat.com>
29879
29880         bootstrap: detect MacOS 10.6's shasum, too
29881         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
29882         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
29883
29884 2010-01-23  Jim Meyering  <meyering@redhat.com>
29885
29886         xstrtoll: new module
29887         * modules/xstrtoll: New file.
29888         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
29889         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
29890         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
29891         ./configure fails if you use this module and lack "long long".
29892         * modules/xstrtoll-tests: New module.
29893         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
29894         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
29895         new init.sh-based test framework.
29896
29897 2010-01-24  Bruno Haible  <bruno@clisp.org>
29898
29899         Tests for module 'yn'.
29900         * modules/yn-tests: New file.
29901         * tests/test-yn.c: New file.
29902
29903         Tests for module 'y1'.
29904         * modules/y1-tests: New file.
29905         * tests/test-y1.c: New file.
29906
29907         Tests for module 'y0'.
29908         * modules/y0-tests: New file.
29909         * tests/test-y0.c: New file.
29910
29911         Tests for module 'tanh'.
29912         * modules/tanh-tests: New file.
29913         * tests/test-tanh.c: New file.
29914
29915         Tests for module 'tan'.
29916         * modules/tan-tests: New file.
29917         * tests/test-tan.c: New file.
29918
29919         Tests for module 'sqrt'.
29920         * modules/sqrt-tests: New file.
29921         * tests/test-sqrt.c: New file.
29922
29923         Tests for module 'sinh'.
29924         * modules/sinh-tests: New file.
29925         * tests/test-sinh.c: New file.
29926
29927         Tests for module 'sin'.
29928         * modules/sin-tests: New file.
29929         * tests/test-sin.c: New file.
29930
29931         Tests for module 'rint'.
29932         * modules/rint-tests: New file.
29933         * tests/test-rint.c: New file.
29934
29935         Tests for module 'remainder'.
29936         * modules/remainder-tests: New file.
29937         * tests/test-remainder.c: New file.
29938
29939         Tests for module 'pow'.
29940         * modules/pow-tests: New file.
29941         * tests/test-pow.c: New file.
29942
29943         Tests for module 'nextafter'.
29944         * modules/nextafter-tests: New file.
29945         * tests/test-nextafter.c: New file.
29946
29947         Tests for module 'modf'.
29948         * modules/modf-tests: New file.
29949         * tests/test-modf.c: New file.
29950
29951         Tests for module 'logb'.
29952         * modules/logb-tests: New file.
29953         * tests/test-logb.c: New file.
29954
29955         Tests for module 'log1p'.
29956         * modules/log1p-tests: New file.
29957         * tests/test-log1p.c: New file.
29958
29959         Tests for module 'log10'.
29960         * modules/log10-tests: New file.
29961         * tests/test-log10.c: New file.
29962
29963         Tests for module 'log'.
29964         * modules/log-tests: New file.
29965         * tests/test-log.c: New file.
29966
29967         Tests for module 'lgamma'.
29968         * modules/lgamma-tests: New file.
29969         * tests/test-lgamma.c: New file.
29970
29971         Tests for module 'ldexp'.
29972         * modules/ldexp-tests: New file.
29973         * tests/test-ldexp.c: New file.
29974
29975         Tests for module 'jn'.
29976         * modules/jn-tests: New file.
29977         * tests/test-jn.c: New file.
29978
29979         Tests for module 'j1'.
29980         * modules/j1-tests: New file.
29981         * tests/test-j1.c: New file.
29982
29983         Tests for module 'j0'.
29984         * modules/j0-tests: New file.
29985         * tests/test-j0.c: New file.
29986
29987         Tests for module 'hypot'.
29988         * modules/hypot-tests: New file.
29989         * tests/test-hypot.c: New file.
29990
29991         Tests for module 'fmod'.
29992         * modules/fmod-tests: New file.
29993         * tests/test-fmod.c: New file.
29994
29995         Tests for module 'fabs'.
29996         * modules/fabs-tests: New file.
29997         * tests/test-fabs.c: New file.
29998
29999         Tests for module 'exp'.
30000         * modules/exp-tests: New file.
30001         * tests/test-exp.c: New file.
30002
30003         Tests for module 'erfc'.
30004         * modules/erfc-tests: New file.
30005         * tests/test-erfc.c: New file.
30006
30007         Tests for module 'erf'.
30008         * modules/erf-tests: New file.
30009         * tests/test-erf.c: New file.
30010
30011         Tests for module 'cosh'.
30012         * modules/cosh-tests: New file.
30013         * tests/test-cosh.c: New file.
30014
30015         Tests for module 'cos'.
30016         * modules/cos-tests: New file.
30017         * tests/test-cos.c: New file.
30018
30019         Tests for module 'copysign'.
30020         * modules/copysign-tests: New file.
30021         * tests/test-copysign.c: New file.
30022
30023         Tests for module 'cbrt'.
30024         * modules/cbrt-tests: New file.
30025         * tests/test-cbrt.c: New file.
30026
30027         Tests for module 'atan2'.
30028         * modules/atan2-tests: New file.
30029         * tests/test-atan2.c: New file.
30030
30031         Tests for module 'atan'.
30032         * modules/atan-tests: New file.
30033         * tests/test-atan.c: New file.
30034
30035         Tests for module 'asin'.
30036         * modules/asin-tests: New file.
30037         * tests/test-asin.c: New file.
30038
30039         Tests for module 'acos'.
30040         * modules/acos-tests: New file.
30041         * tests/test-acos.c: New file.
30042
30043 2010-01-24  Bruno Haible  <bruno@clisp.org>
30044
30045         Fix tests for common <math.h> functions.
30046         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
30047         code snippet that references the function pointer, rather than merely
30048         calling the function. Substitute the FUNC_LIBM variable.
30049         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
30050         * modules/acos (configure.ac): Likewise.
30051         * modules/asin (configure.ac): Likewise.
30052         * modules/atan (configure.ac): Likewise.
30053         * modules/atan2 (configure.ac): Likewise.
30054         * modules/cbrt (configure.ac): Likewise.
30055         * modules/copysign (configure.ac): Likewise.
30056         * modules/cos (configure.ac): Likewise.
30057         * modules/cosh (configure.ac): Likewise.
30058         * modules/erf (configure.ac): Likewise.
30059         * modules/erfc (configure.ac): Likewise.
30060         * modules/exp (configure.ac): Likewise.
30061         * modules/fabs (configure.ac): Likewise.
30062         * modules/fmod (configure.ac): Likewise.
30063         * modules/hypot (configure.ac): Likewise.
30064         * modules/j0 (configure.ac): Likewise.
30065         * modules/j1 (configure.ac): Likewise.
30066         * modules/jn (configure.ac): Likewise.
30067         * modules/ldexp (configure.ac): Likewise.
30068         * modules/lgamma (configure.ac): Likewise.
30069         * modules/log (configure.ac): Likewise.
30070         * modules/log10 (configure.ac): Likewise.
30071         * modules/log1p (configure.ac): Likewise.
30072         * modules/logb (configure.ac): Likewise.
30073         * modules/modf (configure.ac): Likewise.
30074         * modules/nextafter (configure.ac): Likewise.
30075         * modules/pow (configure.ac): Likewise.
30076         * modules/remainder (configure.ac): Likewise.
30077         * modules/rint (configure.ac): Likewise.
30078         * modules/sin (configure.ac): Likewise.
30079         * modules/sinh (configure.ac): Likewise.
30080         * modules/tan (configure.ac): Likewise.
30081         * modules/tanh (configure.ac): Likewise.
30082         * modules/y0 (configure.ac): Likewise.
30083         * modules/y1 (configure.ac): Likewise.
30084         * modules/yn (configure.ac): Likewise.
30085
30086 2010-01-24  Bruno Haible  <bruno@clisp.org>
30087
30088         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
30089         * tests/test-acosl.c (x): New variable.
30090         (main): Store argument in x and fetch it from x.
30091         * tests/test-asinl.c (x): New variable.
30092         (main): Store argument in x and fetch it from x.
30093         * tests/test-atanl.c (x): New variable.
30094         (main): Store argument in x and fetch it from x.
30095         * tests/test-cosl.c (x): New variable.
30096         (main): Store argument in x and fetch it from x.
30097         * tests/test-expl.c (x): New variable.
30098         (main): Store argument in x and fetch it from x.
30099         * tests/test-logl.c (x): New variable.
30100         (main): Store argument in x and fetch it from x.
30101         * tests/test-sinl.c (x): New variable.
30102         (main): Store argument in x and fetch it from x.
30103         * tests/test-sqrtl.c (x): New variable.
30104         (main): Store argument in x and fetch it from x.
30105         * tests/test-tanl.c (x): New variable.
30106         (main): Store argument in x and fetch it from x.
30107
30108 2010-01-24  Bruno Haible  <bruno@clisp.org>
30109
30110         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
30111         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
30112         assignments to the initial TESTS_ENVIRONMENT.
30113         * doc/gnulib.texi (Unit test modules): Document it.
30114         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
30115         TESTS_ENVIRONMENT.
30116         * modules/btowc-tests (Makefile.am): Likewise.
30117         * modules/c-stack-tests (Makefile.am): Likewise.
30118         * modules/c-strcase-tests (Makefile.am): Likewise.
30119         * modules/copy-file-tests (Makefile.am): Likewise.
30120         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
30121         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
30122         * modules/mbrtowc-tests (Makefile.am): Likewise.
30123         * modules/mbscasecmp-tests (Makefile.am): Likewise.
30124         * modules/mbscasestr-tests (Makefile.am): Likewise.
30125         * modules/mbschr-tests (Makefile.am): Likewise.
30126         * modules/mbscspn-tests (Makefile.am): Likewise.
30127         * modules/mbsinit-tests (Makefile.am): Likewise.
30128         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
30129         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
30130         * modules/mbspbrk-tests (Makefile.am): Likewise.
30131         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
30132         * modules/mbsrchr-tests (Makefile.am): Likewise.
30133         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
30134         * modules/mbsspn-tests (Makefile.am): Likewise.
30135         * modules/mbsstr-tests (Makefile.am): Likewise.
30136         * modules/nl_langinfo-tests (Makefile.am): Likewise.
30137         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
30138         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
30139         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
30140         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
30141         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
30142         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
30143         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
30144         * modules/wcrtomb-tests (Makefile.am): Likewise.
30145         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
30146         * modules/wcsrtombs-tests (Makefile.am): Likewise.
30147         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
30148         assignments from TESTS_ENVIRONMENT.
30149         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
30150         augmentation.
30151         * modules/argp-version-etc-tests (Makefile.am): Likewise.
30152         * modules/atexit-tests (Makefile.am): Likewise.
30153         * modules/binary-io-tests (Makefile.am): Likewise.
30154         * modules/closein-tests (Makefile.am): Likewise.
30155         * modules/dprintf-posix-tests (Makefile.am): Likewise.
30156         * modules/exclude-tests (Makefile.am): Likewise.
30157         * modules/fflush-tests (Makefile.am): Likewise.
30158         * modules/fpending-tests (Makefile.am): Likewise.
30159         * modules/fprintf-posix-tests (Makefile.am): Likewise.
30160         * modules/freadahead-tests (Makefile.am): Likewise.
30161         * modules/freadptr-tests (Makefile.am): Likewise.
30162         * modules/freadseek-tests (Makefile.am): Likewise.
30163         * modules/fseek-tests (Makefile.am): Likewise.
30164         * modules/fseeko-tests (Makefile.am): Likewise.
30165         * modules/ftell-tests (Makefile.am): Likewise.
30166         * modules/ftello-tests (Makefile.am): Likewise.
30167         * modules/idpriv-drop-tests (Makefile.am): Likewise.
30168         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
30169         * modules/lseek-tests (Makefile.am): Likewise.
30170         * modules/parse-duration-tests (Makefile.am): Likewise.
30171         * modules/perror-tests (Makefile.am): Likewise.
30172         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
30173         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
30174         * modules/pipe-tests (Makefile.am): Likewise.
30175         * modules/pread-tests (Makefile.am): Likewise.
30176         * modules/printf-posix-tests (Makefile.am): Likewise.
30177         * modules/select-tests (Makefile.am): Likewise.
30178         * modules/sigpipe-tests (Makefile.am): Likewise.
30179         * modules/tsearch-tests (Makefile.am): Likewise.
30180         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
30181         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
30182         * modules/uniname/uniname-tests (Makefile.am): Likewise.
30183         * modules/uniwidth/width-tests (Makefile.am): Likewise.
30184         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
30185         * modules/version-etc-tests (Makefile.am): Likewise.
30186         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
30187         * modules/vprintf-posix-tests (Makefile.am): Likewise.
30188         * modules/xalloc-die-tests (Makefile.am): Likewise.
30189         * modules/xprintf-posix-tests (Makefile.am): Likewise.
30190         * modules/xstrtoimax-tests (Makefile.am): Likewise.
30191         * modules/xstrtol-tests (Makefile.am): Likewise.
30192         * modules/xstrtoumax-tests (Makefile.am): Likewise.
30193         * modules/yesno-tests (Makefile.am): Likewise.
30194         Suggested by Jim Meyering.
30195
30196 2010-01-24  Bruno Haible  <bruno@clisp.org>
30197
30198         More documentation.
30199         * doc/gnulib.texi (Writing modules): New chapter.
30200         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
30201         the new chapter.
30202
30203 2010-01-24  Jim Meyering  <meyering@redhat.com>
30204
30205         maint.mk: do not prepend "./" after filtering
30206         * top/maint.mk (_prepend_srcdir_prefix): New variable
30207         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
30208         "./" when $(srcdir) is ".".
30209
30210         define STREQ(a,b) consistently, removing useless parentheses
30211         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
30212         since the only risk is that "a" or "b" contains an unparenthesized
30213         comma, but if either did that, STREQ would have 3 or more arguments.
30214         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
30215         * lib/fts.c (STREQ): Remove unnecessary parentheses.
30216         * lib/hash-triple.c (STREQ): Likewise.
30217         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
30218         * lib/getugroups.c (STREQ): Likewise.
30219
30220 2010-01-23  Jim Meyering  <meyering@redhat.com>
30221
30222         maint.mk: fix syntax-check in a non-srcdir build directory
30223         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
30224         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
30225
30226 2010-01-22  Jim Meyering  <meyering@redhat.com>
30227
30228         userspec: add unit tests
30229         * tests/test-userspec.c: New file.
30230         * modules/userspec-tests: Likewise.
30231
30232 2010-01-21  Jim Meyering  <meyering@redhat.com>
30233
30234         maint.mk: handle source file names containing "." robustly
30235         * top/maint.mk (_dot_escaped_srcdir): Define.
30236         (VC_LIST): Use it in LHS of sed substitution.
30237
30238 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
30239
30240         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
30241         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
30242         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
30243         from a non-srcdir build.
30244
30245 2010-01-20  Eric Blake  <ebb9@byu.net>
30246
30247         warn-on-use: use instead of link-warning
30248         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
30249         * modules/unistd (Depends-on, Makefile.am): Likewise.
30250         * modules/arpa_inet (Depends-on): Replace link-warning with
30251         warn-on-use.
30252         (Makefile.am): Update rules accordingly.
30253         * modules/ctype (Depends-on, Makefile.am): Likewise.
30254         * modules/dirent (Depends-on, Makefile.am): Likewise.
30255         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
30256         * modules/inttypes (Depends-on, Makefile.am): Likewise.
30257         * modules/langinfo (Depends-on, Makefile.am): Likewise.
30258         * modules/locale (Depends-on, Makefile.am): Likewise.
30259         * modules/math (Depends-on, Makefile.am): Likewise.
30260         * modules/search (Depends-on, Makefile.am): Likewise.
30261         * modules/signal (Depends-on, Makefile.am): Likewise.
30262         * modules/spawn (Depends-on, Makefile.am): Likewise.
30263         * modules/stdlib (Depends-on, Makefile.am): Likewise.
30264         * modules/string (Depends-on, Makefile.am): Likewise.
30265         * modules/strings (Depends-on, Makefile.am): Likewise.
30266         * modules/sys_file (Depends-on, Makefile.am): Likewise.
30267         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
30268         * modules/sys_select (Depends-on, Makefile.am): Likewise.
30269         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
30270         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
30271         * modules/sys_times (Depends-on, Makefile.am): Likewise.
30272         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
30273         * modules/wchar (Depends-on, Makefile.am): Likewise.
30274         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
30275         should be poisoned.
30276         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
30277         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
30278         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
30279         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
30280         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
30281         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
30282         * m4/math_h.m4 (gl_MATH_H): Likewise.
30283         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
30284         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
30285         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
30286         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
30287         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
30288         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
30289         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
30290         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
30291         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
30292         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
30293         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
30294         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
30295         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
30296         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
30297         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
30298         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
30299         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
30300         GL_LINK_WARNING.
30301         * lib/ctype.in.h: Likewise.
30302         * lib/dirent.in.h: Likewise.
30303         * lib/fcntl.in.h: Likewise.
30304         * lib/inttypes.in.h: Likewise.
30305         * lib/langinfo.in.h: Likewise.
30306         * lib/locale.in.h: Likewise.
30307         * lib/math.in.h: Likewise.
30308         * lib/search.in.h: Likewise.
30309         * lib/signal.in.h: Likewise.
30310         * lib/spawn.in.h: Likewise.
30311         * lib/stdio.in.h: Likewise.
30312         * lib/stdlib.in.h: Likewise.
30313         * lib/string.in.h: Likewise.
30314         * lib/strings.in.h: Likewise.
30315         * lib/sys_file.in.h: Likewise.
30316         * lib/sys_ioctl.in.h: Likewise.
30317         * lib/sys_select.in.h: Likewise.
30318         * lib/sys_socket.in.h: Likewise.
30319         * lib/sys_stat.in.h: Likewise.
30320         * lib/sys_times.in.h: Likewise.
30321         * lib/sys_utsname.in.h: Likewise.
30322         * lib/unistd.in.h: Likewise.
30323         * lib/wchar.in.h: Likewise.
30324
30325 2010-01-20  Bruno Haible  <bruno@clisp.org>
30326
30327         Avoid duplicate -lm.
30328         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
30329         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
30330         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
30331         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
30332         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
30333         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
30334         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
30335         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
30336         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
30337         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
30338         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
30339         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30340         Reported by Paolo Bonzini.
30341
30342 2010-01-19  Bruno Haible  <bruno@clisp.org>
30343
30344         langinfo, nl_langinfo: Relicense under LGPLv2+.
30345         * modules/langinfo (License): Change to LGPLv2+.
30346         * modules/nl_langinfo (License): Likewise.
30347         Patch by David Lutterkort <lutter@redhat.com>.
30348
30349 2010-01-19  Bruno Haible  <bruno@clisp.org>
30350
30351         Avoid compilation error with cc on OSF/1 5.1.
30352         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
30353         statement, not before.
30354         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30355
30356 2010-01-18  Bruno Haible  <bruno@clisp.org>
30357
30358         Avoid a link error due to the __printf__ symbol.
30359         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
30360         and 2.6.x.
30361         (__format__, __printf__): Remove definitions.
30362         * lib/argp-fmtstream.h: Likewise.
30363         * lib/argp.h: Likewise.
30364         * lib/error.h: Likewise.
30365         * lib/vasnprintf.h: Likewise.
30366         * lib/xprintf.h: Likewise.
30367         * lib/xvasprintf.h: Likewise.
30368         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30369
30370 2010-01-18  Bruno Haible  <bruno@clisp.org>
30371
30372         Tests for module 'tanl'.
30373         * modules/tanl-tests: New file.
30374         * tests/test-tanl.c: New file.
30375
30376         Tests for module 'sqrtl'.
30377         * modules/sqrtl-tests: New file.
30378         * tests/test-sqrtl.c: New file.
30379
30380         Tests for module 'sinl'.
30381         * modules/sinl-tests: New file.
30382         * tests/test-sinl.c: New file.
30383
30384         Tests for module 'logl'.
30385         * modules/logl-tests: New file.
30386         * tests/test-logl.c: New file.
30387
30388         Tests for module 'expl'.
30389         * modules/expl-tests: New file.
30390         * tests/test-expl.c: New file.
30391
30392         Tests for module 'cosl'.
30393         * modules/cosl-tests: New file.
30394         * tests/test-cosl.c: New file.
30395
30396         Tests for module 'atanl'.
30397         * modules/atanl-tests: New file.
30398         * tests/test-atanl.c: New file.
30399
30400         Tests for module 'asinl'.
30401         * modules/asinl-tests: New file.
30402         * tests/test-asinl.c: New file.
30403
30404         Tests for module 'acosl'.
30405         * modules/acosl-tests: New file.
30406         * tests/test-acosl.c: New file.
30407
30408         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
30409         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
30410         tanl): Use the standard gnulib idiom.
30411         * lib/cosl.c: Don't include trigl.c and sincosl.c.
30412         * lib/sinl.c: Likewise.
30413         * lib/tanl.c: Don't include trigl.c.
30414         (kernel_tanl): Make static.
30415         * lib/sincosl.c: Include trigl.h first.
30416         * lib/trigl.c: Likewise.
30417         * m4/acosl.m4: New file.
30418         * m4/asinl.m4: New file.
30419         * m4/atanl.m4: New file.
30420         * m4/cosl.m4: New file.
30421         * m4/expl.m4: New file.
30422         * m4/logl.m4: New file.
30423         * m4/sinl.m4: New file.
30424         * m4/sqrtl.m4: New file.
30425         * m4/tanl.m4: New file.
30426         * m4/mathl.m4: Remove file.
30427         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
30428         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
30429         Don't initialize GNULIB_MATHL.
30430         * modules/acosl: New file.
30431         * modules/asinl: New file.
30432         * modules/atanl: New file.
30433         * modules/cosl: New file.
30434         * modules/expl: New file.
30435         * modules/logl: New file.
30436         * modules/sinl: New file.
30437         * modules/sqrtl: New file.
30438         * modules/tanl: New file.
30439         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
30440         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
30441         substitute GNULIB_MATHL.
30442         * modules/mathl: Rewritten.
30443         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
30444         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
30445         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
30446         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
30447         * doc/posix-functions/expl.texi: Mention the 'expl' module.
30448         * doc/posix-functions/logl.texi: Mention the 'logl' module.
30449         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
30450         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
30451         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
30452
30453 2010-01-18  Bruno Haible  <bruno@clisp.org>
30454
30455         sqrt: Make gl_FUNC_SQRT requirable.
30456         * m4/sqrt.m4: New file.
30457         * modules/sqrt (Files): Add it.
30458         (configure.ac): Invoke gl_FUNC_SQRT.
30459
30460 2010-01-18  Bruno Haible  <bruno@clisp.org>
30461
30462         New modules for common <math.h> functions.
30463         * m4/mathfunc.m4: New file.
30464         * modules/acos: New file.
30465         * modules/asin: New file.
30466         * modules/atan: New file.
30467         * modules/atan2: New file.
30468         * modules/cbrt: New file.
30469         * modules/copysign: New file.
30470         * modules/cos: New file.
30471         * modules/cosh: New file.
30472         * modules/erf: New file.
30473         * modules/erfc: New file.
30474         * modules/exp: New file.
30475         * modules/fabs: New file.
30476         * modules/fmod: New file.
30477         * modules/hypot: New file.
30478         * modules/j0: New file.
30479         * modules/j1: New file.
30480         * modules/jn: New file.
30481         * modules/ldexp: New file.
30482         * modules/lgamma: New file.
30483         * modules/log: New file.
30484         * modules/log10: New file.
30485         * modules/log1p: New file.
30486         * modules/logb: New file.
30487         * modules/modf: New file.
30488         * modules/nextafter: New file.
30489         * modules/pow: New file.
30490         * modules/remainder: New file.
30491         * modules/rint: New file.
30492         * modules/sin: New file.
30493         * modules/sinh: New file.
30494         * modules/sqrt: New file.
30495         * modules/tan: New file.
30496         * modules/tanh: New file.
30497         * modules/y0: New file.
30498         * modules/y1: New file.
30499         * modules/yn: New file.
30500         * doc/posix-functions/acos.texi: Mention the 'acos' module.
30501         * doc/posix-functions/asin.texi: Mention the 'asin' module.
30502         * doc/posix-functions/atan.texi: Mention the 'atan' module.
30503         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
30504         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
30505         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
30506         * doc/posix-functions/cos.texi: Mention the 'cos' module.
30507         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
30508         * doc/posix-functions/erf.texi: Mention the 'erf' module.
30509         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
30510         * doc/posix-functions/exp.texi: Mention the 'exp' module.
30511         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
30512         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
30513         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
30514         * doc/posix-functions/j0.texi: Mention the 'j0' module.
30515         * doc/posix-functions/j1.texi: Mention the 'j1' module.
30516         * doc/posix-functions/jn.texi: Mention the 'jn' module.
30517         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
30518         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
30519         * doc/posix-functions/log.texi: Mention the 'log' module.
30520         * doc/posix-functions/log10.texi: Mention the 'log10' module.
30521         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
30522         * doc/posix-functions/logb.texi: Mention the 'logb' module.
30523         * doc/posix-functions/modf.texi: Mention the 'modf' module.
30524         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
30525         * doc/posix-functions/pow.texi: Mention the 'pow' module.
30526         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
30527         * doc/posix-functions/rint.texi: Mention the 'rint' module.
30528         * doc/posix-functions/sin.texi: Mention the 'sin' module.
30529         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
30530         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
30531         * doc/posix-functions/tan.texi: Mention the 'tan' module.
30532         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
30533         * doc/posix-functions/y0.texi: Mention the 'y0' module.
30534         * doc/posix-functions/y1.texi: Mention the 'y1' module.
30535         * doc/posix-functions/yn.texi: Mention the 'yn' module.
30536
30537 2010-01-18  Jim Meyering  <meyering@redhat.com>
30538
30539         ignore-value: relax license to LGPLv2+
30540         * modules/ignore-value (License): Relax to LGPLv2+.
30541
30542         getdate: don't leak when TZ contains two or more '"'s
30543         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
30544         double quote in TZ after the first one.
30545
30546         readtokens: do not leak internal token_lengths buffer
30547         * lib/readtokens.c (readtokens): Free the local, lengths,
30548         when the supplied "token_lengths" parameter is NULL.
30549
30550 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30551
30552         Fix a couple of missing LIBTHREAD link failures on AIX.
30553         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
30554         $(LIBTHREAD).
30555         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
30556
30557         Link test-poll against INET_PTON_LIB.
30558         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
30559         for inet_pton on Solaris 10.
30560
30561 2010-01-17  Bruno Haible  <bruno@clisp.org>
30562
30563         unistdio/*-sprintf: Fix typo in module description.
30564         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
30565         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
30566         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
30567         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
30568         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
30569         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
30570         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
30571         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30572
30573 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30574
30575         gnulib-tool: fix filelist for AIX, HP-UX ksh.
30576         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
30577         variables in shell case patterns, for AIX and HP-UX ksh.
30578
30579         Split large sed scripts, for HP-UX sed.
30580         * modules/stdio: Split sed scripts around 50 sed commands,
30581         to avoid HP-UX limit of 99 commands, in the near future.
30582         * modules/string: Likewise.
30583         * modules/unistd: Likewise.
30584
30585         gnulib-tool: avoid writing in the current directory.
30586         * gnulib-tool (func_emit_lib_Makefile_am)
30587         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
30588         not in the current directory, so concurrent gnulib-tool
30589         instances do not interfere.
30590
30591 2010-01-16  Jim Meyering  <meyering@redhat.com>
30592
30593         doc: update users.txt
30594         * users.txt: Add grep.
30595         (diffutils, gzip): Update URLs.
30596
30597 2010-01-12  Bruno Haible  <bruno@clisp.org>
30598
30599         posix_spawn: Avoid test failure on Cygwin.
30600         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
30601         characters.
30602         Reported by Simon Josefsson.
30603
30604 2010-01-12  Bruno Haible  <bruno@clisp.org>
30605
30606         * tests/test-cond.c (main): When skipping the test, show the reason.
30607
30608 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30609
30610         * lib/striconv.c (str_cd_iconv): Avoid if before free.
30611
30612 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30613
30614         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
30615         VC_LIST_ALWAYS_EXCLUDE_REGEX.
30616
30617 2010-01-12  Eric Blake  <ebb9@byu.net>
30618
30619         build: guarantee AS_VAR_IF
30620         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
30621         (gl_AS_VAR_IF): Move...
30622         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
30623         Reported by Simon Josefsson.
30624
30625 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30626
30627         * lib/stdio.in.h: Fix typo.
30628
30629 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30630
30631         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
30632         libgpg-error.
30633
30634 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30635
30636         * tests/test-xalloc-die.sh: Use $EXEEXT.
30637
30638 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30639             Bruno Haible  <bruno@clisp.org>
30640
30641         getlogin, getlogin_r: Avoid test failure.
30642         * tests/test-getlogin.c: Include <stdio.h>.
30643         (main): Skip the test when the function fails because stdin is not a
30644         tty.
30645         * tests/test-getlogin_r.c: Include <stdio.h>.
30646         (main): Skip the test when the function fails because stdin is not a
30647         tty.
30648
30649 2010-01-11  Eric Blake  <ebb9@byu.net>
30650
30651         tests: avoid more large file warnings
30652         * tests/test-fflush.c: Avoid warning about ftell use.
30653         * tests/test-fseek.c: Avoid warning about fseek use.
30654
30655 2010-01-10  Bruno Haible  <bruno@clisp.org>
30656
30657         nproc: Work better on Linux when /proc and /sys are not mounted.
30658         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
30659         as lower bound when, on glibc/Linux systems,
30660         sysconf (_SC_NPROCESSORS_CONF) returns 1.
30661         Suggested by Pádraig Brady <P@draigbrady.com>.
30662         Reported by Dmitry V. Levin <ldv@altlinux.org>.
30663
30664         nproc: Refactor.
30665         * lib/nproc.c (num_processors_via_affinity_mask): New function,
30666         extracted from num_processors.
30667         (num_processors): Call it.
30668
30669 2010-01-11  Jim Meyering  <meyering@redhat.com>
30670
30671         utimecmp: avoid new warning from upcoming gcc-4.5.0
30672         * lib/utimecmp.c (BILLION): Define using #define rather than an
30673         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
30674
30675 2010-01-11  Eric Blake  <ebb9@byu.net>
30676
30677         math: add portability warnings for classification macros
30678         * modules/math (Depends-on): Add warn-on-use.
30679         (Makefile.am): Provide new substitutions.
30680         * m4/math_h.m4 (gl_MATH_H): Require inline.
30681         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
30682         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
30683         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
30684         implement warnings.
30685
30686         unistd: warn on use of environ without module
30687         * modules/unistd (Depends-on): Add warn-on-use.
30688         (Makefile.am): Provide new substitutions.
30689         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
30690         * lib/unistd.in.h (environ): Wrap with a warning helper function.
30691
30692         stdio: warn on suspicious uses
30693         * modules/stdio (Depends-on): Add warn-on-use.
30694         (Makefile.am): Provide new substitutions.
30695         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
30696         fseeko.
30697         * lib/stdio.in.h (gets): Always warn on use.
30698         (fseek, ftell): Adjust when warnings are issued, and honor
30699         _GL_NO_LARGE_FILES as a way to silence the warning.
30700         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
30701         any warning about large file offsets.
30702         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
30703         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
30704         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
30705         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
30706         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
30707         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
30708         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
30709         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
30710
30711         warn-on-use: new module
30712         * modules/warn-on-use: New file.
30713         * build-aux/warn-on-use.h: Likewise.
30714         * m4/warn-on-use.m4: Likewise.
30715         * MODULES.html.sh (Support for building): Mention it.
30716
30717 2010-01-10  Bruno Haible  <bruno@clisp.org>
30718
30719         Tests for module 'unistr/u32-strdup'.
30720         * modules/unistr/u32-strdup-tests: New file.
30721         * tests/unistr/test-u32-strdup.c: New file.
30722
30723         Tests for module 'unistr/u16-strdup'.
30724         * modules/unistr/u16-strdup-tests: New file.
30725         * tests/unistr/test-u16-strdup.c: New file.
30726
30727         Tests for module 'unistr/u8-strdup'.
30728         * modules/unistr/u8-strdup-tests: New file.
30729         * tests/unistr/test-u8-strdup.c: New file.
30730         * tests/unistr/test-strdup.h: New file.
30731
30732         Tests for module 'unistr/u32-strncmp'.
30733         * modules/unistr/u32-strncmp-tests: New file.
30734         * tests/unistr/test-u32-strncmp.c: New file.
30735
30736         Tests for module 'unistr/u16-strncmp'.
30737         * modules/unistr/u16-strncmp-tests: New file.
30738         * tests/unistr/test-u16-strncmp.c: New file.
30739
30740         Tests for module 'unistr/u8-strncmp'.
30741         * modules/unistr/u8-strncmp-tests: New file.
30742         * tests/unistr/test-u8-strncmp.c: New file.
30743         * tests/unistr/test-strncmp.h: New file.
30744
30745         Tests for module 'unistr/u32-strcoll'.
30746         * modules/unistr/u32-strcoll-tests: New file.
30747         * tests/unistr/test-u32-strcoll.c: New file.
30748
30749         Tests for module 'unistr/u16-strcoll'.
30750         * modules/unistr/u16-strcoll-tests: New file.
30751         * tests/unistr/test-u16-strcoll.c: New file.
30752
30753         Tests for module 'unistr/u8-strcoll'.
30754         * modules/unistr/u8-strcoll-tests: New file.
30755         * tests/unistr/test-u8-strcoll.c: New file.
30756
30757         Tests for module 'unistr/u32-strcmp'.
30758         * modules/unistr/u32-strcmp-tests: New file.
30759         * tests/unistr/test-u32-strcmp.c: New file.
30760         * tests/unistr/test-u32-strcmp.h: New file.
30761
30762         Tests for module 'unistr/u16-strcmp'.
30763         * modules/unistr/u16-strcmp-tests: New file.
30764         * tests/unistr/test-u16-strcmp.c: New file.
30765         * tests/unistr/test-u16-strcmp.h: New file.
30766
30767         Tests for module 'unistr/u8-strcmp'.
30768         * modules/unistr/u8-strcmp-tests: New file.
30769         * tests/unistr/test-u8-strcmp.c: New file.
30770         * tests/unistr/test-u8-strcmp.h: New file.
30771         * tests/unistr/test-strcmp.h: New file.
30772
30773         Tests for module 'unistr/u32-strncat'.
30774         * modules/unistr/u32-strncat-tests: New file.
30775         * tests/unistr/test-u32-strncat.c: New file.
30776
30777         Tests for module 'unistr/u16-strncat'.
30778         * modules/unistr/u16-strncat-tests: New file.
30779         * tests/unistr/test-u16-strncat.c: New file.
30780
30781         Tests for module 'unistr/u8-strncat'.
30782         * modules/unistr/u8-strncat-tests: New file.
30783         * tests/unistr/test-u8-strncat.c: New file.
30784         * tests/unistr/test-strncat.h: New file.
30785
30786         Tests for module 'unistr/u32-strcat'.
30787         * modules/unistr/u32-strcat-tests: New file.
30788         * tests/unistr/test-u32-strcat.c: New file.
30789
30790         Tests for module 'unistr/u16-strcat'.
30791         * modules/unistr/u16-strcat-tests: New file.
30792         * tests/unistr/test-u16-strcat.c: New file.
30793
30794         Tests for module 'unistr/u8-strcat'.
30795         * modules/unistr/u8-strcat-tests: New file.
30796         * tests/unistr/test-u8-strcat.c: New file.
30797         * tests/unistr/test-strcat.h: New file.
30798
30799         Tests for module 'unistr/u32-stpncpy'.
30800         * modules/unistr/u32-stpncpy-tests: New file.
30801         * tests/unistr/test-u32-stpncpy.c: New file.
30802
30803         Tests for module 'unistr/u16-stpncpy'.
30804         * modules/unistr/u16-stpncpy-tests: New file.
30805         * tests/unistr/test-u16-stpncpy.c: New file.
30806
30807         Tests for module 'unistr/u8-stpncpy'.
30808         * modules/unistr/u8-stpncpy-tests: New file.
30809         * tests/unistr/test-u8-stpncpy.c: New file.
30810         * tests/unistr/test-stpncpy.h: New file.
30811
30812         Tests for module 'unistr/u32-strncpy'.
30813         * modules/unistr/u32-strncpy-tests: New file.
30814         * tests/unistr/test-u32-strncpy.c: New file.
30815
30816         Tests for module 'unistr/u16-strncpy'.
30817         * modules/unistr/u16-strncpy-tests: New file.
30818         * tests/unistr/test-u16-strncpy.c: New file.
30819
30820         Tests for module 'unistr/u8-strncpy'.
30821         * modules/unistr/u8-strncpy-tests: New file.
30822         * tests/unistr/test-u8-strncpy.c: New file.
30823         * tests/unistr/test-strncpy.h: New file.
30824
30825         Tests for module 'unistr/u32-stpcpy'.
30826         * modules/unistr/u32-stpcpy-tests: New file.
30827         * tests/unistr/test-u32-stpcpy.c: New file.
30828
30829         Tests for module 'unistr/u16-stpcpy'.
30830         * modules/unistr/u16-stpcpy-tests: New file.
30831         * tests/unistr/test-u16-stpcpy.c: New file.
30832
30833         Tests for module 'unistr/u8-stpcpy'.
30834         * modules/unistr/u8-stpcpy-tests: New file.
30835         * tests/unistr/test-u8-stpcpy.c: New file.
30836         * tests/unistr/test-stpcpy.h: New file.
30837
30838         Tests for module 'unistr/u32-strcpy'.
30839         * modules/unistr/u32-strcpy-tests: New file.
30840         * tests/unistr/test-u32-strcpy.c: New file.
30841
30842         Tests for module 'unistr/u16-strcpy'.
30843         * modules/unistr/u16-strcpy-tests: New file.
30844         * tests/unistr/test-u16-strcpy.c: New file.
30845
30846         Tests for module 'unistr/u8-strcpy'.
30847         * modules/unistr/u8-strcpy-tests: New file.
30848         * tests/unistr/test-u8-strcpy.c: New file.
30849         * tests/unistr/test-strcpy.h: New file.
30850
30851         Tests for module 'unistr/u32-strnlen'.
30852         * modules/unistr/u32-strnlen-tests: New file.
30853         * tests/unistr/test-u32-strnlen.c: New file.
30854
30855         Tests for module 'unistr/u16-strnlen'.
30856         * modules/unistr/u16-strnlen-tests: New file.
30857         * tests/unistr/test-u16-strnlen.c: New file.
30858
30859         Tests for module 'unistr/u8-strnlen'.
30860         * modules/unistr/u8-strnlen-tests: New file.
30861         * tests/unistr/test-u8-strnlen.c: New file.
30862         * tests/unistr/test-strnlen.h: New file.
30863
30864         Tests for module 'unistr/u32-strlen'.
30865         * modules/unistr/u32-strlen-tests: New file.
30866         * tests/unistr/test-u32-strlen.c: New file.
30867
30868         Tests for module 'unistr/u16-strlen'.
30869         * modules/unistr/u16-strlen-tests: New file.
30870         * tests/unistr/test-u16-strlen.c: New file.
30871
30872         Tests for module 'unistr/u8-strlen'.
30873         * modules/unistr/u8-strlen-tests: New file.
30874         * tests/unistr/test-u8-strlen.c: New file.
30875
30876         Tests for module 'unistr/u32-prev'.
30877         * modules/unistr/u32-prev-tests: New file.
30878         * tests/unistr/test-u32-prev.c: New file.
30879
30880         Tests for module 'unistr/u16-prev'.
30881         * modules/unistr/u16-prev-tests: New file.
30882         * tests/unistr/test-u16-prev.c: New file.
30883
30884         Tests for module 'unistr/u8-prev'.
30885         * modules/unistr/u8-prev-tests: New file.
30886         * tests/unistr/test-u8-prev.c: New file.
30887
30888         Tests for module 'unistr/u32-next'.
30889         * modules/unistr/u32-next-tests: New file.
30890         * tests/unistr/test-u32-next.c: New file.
30891
30892         Tests for module 'unistr/u16-next'.
30893         * modules/unistr/u16-next-tests: New file.
30894         * tests/unistr/test-u16-next.c: New file.
30895
30896         Tests for module 'unistr/u8-next'.
30897         * modules/unistr/u8-next-tests: New file.
30898         * tests/unistr/test-u8-next.c: New file.
30899
30900         Tests for module 'unistr/u32-strmbtouc'.
30901         * modules/unistr/u32-strmbtouc-tests: New file.
30902         * tests/unistr/test-u32-strmbtouc.c: New file.
30903
30904         Tests for module 'unistr/u16-strmbtouc'.
30905         * modules/unistr/u16-strmbtouc-tests: New file.
30906         * tests/unistr/test-u16-strmbtouc.c: New file.
30907
30908         Tests for module 'unistr/u8-strmbtouc'.
30909         * modules/unistr/u8-strmbtouc-tests: New file.
30910         * tests/unistr/test-u8-strmbtouc.c: New file.
30911
30912         Tests for module 'unistr/u32-strmblen'.
30913         * modules/unistr/u32-strmblen-tests: New file.
30914         * tests/unistr/test-u32-strmblen.c: New file.
30915
30916         Tests for module 'unistr/u16-strmblen'.
30917         * modules/unistr/u16-strmblen-tests: New file.
30918         * tests/unistr/test-u16-strmblen.c: New file.
30919
30920         Tests for module 'unistr/u8-strmblen'.
30921         * modules/unistr/u8-strmblen-tests: New file.
30922         * tests/unistr/test-u8-strmblen.c: New file.
30923
30924         Tests for module 'unistr/u32-cpy-alloc'.
30925         * modules/unistr/u32-cpy-alloc-tests: New file.
30926         * tests/unistr/test-u32-cpy-alloc.c: New file.
30927
30928         Tests for module 'unistr/u16-cpy-alloc'.
30929         * modules/unistr/u16-cpy-alloc-tests: New file.
30930         * tests/unistr/test-u16-cpy-alloc.c: New file.
30931
30932         Tests for module 'unistr/u8-cpy-alloc'.
30933         * modules/unistr/u8-cpy-alloc-tests: New file.
30934         * tests/unistr/test-u8-cpy-alloc.c: New file.
30935         * tests/unistr/test-cpy-alloc.h: New file.
30936
30937         Tests for module 'unistr/u32-mbsnlen'.
30938         * modules/unistr/u32-mbsnlen-tests: New file.
30939         * tests/unistr/test-u32-mbsnlen.c: New file.
30940
30941         Tests for module 'unistr/u16-mbsnlen'.
30942         * modules/unistr/u16-mbsnlen-tests: New file.
30943         * tests/unistr/test-u16-mbsnlen.c: New file.
30944
30945         Tests for module 'unistr/u8-mbsnlen'.
30946         * modules/unistr/u8-mbsnlen-tests: New file.
30947         * tests/unistr/test-u8-mbsnlen.c: New file.
30948
30949         Tests for module 'unistr/u32-chr'.
30950         * modules/unistr/u32-chr-tests: New file.
30951         * tests/unistr/test-u32-chr.c: New file.
30952
30953         Tests for module 'unistr/u16-chr'.
30954         * modules/unistr/u16-chr-tests: New file.
30955         * tests/unistr/test-u16-chr.c: New file.
30956
30957         Tests for module 'unistr/u8-chr'.
30958         * modules/unistr/u8-chr-tests: New file.
30959         * tests/unistr/test-u8-chr.c: New file.
30960         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
30961
30962         Tests for module 'unistr/u32-cmp2'.
30963         * modules/unistr/u32-cmp2-tests: New file.
30964         * tests/unistr/test-u32-cmp2.c: New file.
30965
30966         Tests for module 'unistr/u16-cmp2'.
30967         * modules/unistr/u16-cmp2-tests: New file.
30968         * tests/unistr/test-u16-cmp2.c: New file.
30969
30970         Tests for module 'unistr/u8-cmp2'.
30971         * modules/unistr/u8-cmp2-tests: New file.
30972         * tests/unistr/test-u8-cmp2.c: New file.
30973         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
30974
30975         Tests for module 'unistr/u32-cmp'.
30976         * modules/unistr/u32-cmp-tests: New file.
30977         * tests/unistr/test-u32-cmp.c: New file.
30978
30979         Tests for module 'unistr/u16-cmp'.
30980         * modules/unistr/u16-cmp-tests: New file.
30981         * tests/unistr/test-u16-cmp.c: New file.
30982
30983         Tests for module 'unistr/u8-cmp'.
30984         * modules/unistr/u8-cmp-tests: New file.
30985         * tests/unistr/test-u8-cmp.c: New file.
30986         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
30987
30988         Tests for module 'unistr/u32-set'.
30989         * modules/unistr/u32-set-tests: New file.
30990         * tests/unistr/test-u32-set.c: New file.
30991
30992         Tests for module 'unistr/u16-set'.
30993         * modules/unistr/u16-set-tests: New file.
30994         * tests/unistr/test-u16-set.c: New file.
30995
30996         Tests for module 'unistr/u8-set'.
30997         * modules/unistr/u8-set-tests: New file.
30998         * tests/unistr/test-u8-set.c: New file.
30999         * tests/unistr/test-set.h: New file.
31000
31001         Tests for module 'unistr/u32-move'.
31002         * modules/unistr/u32-move-tests: New file.
31003         * tests/unistr/test-u32-move.c: New file.
31004
31005         Tests for module 'unistr/u16-move'.
31006         * modules/unistr/u16-move-tests: New file.
31007         * tests/unistr/test-u16-move.c: New file.
31008
31009         Tests for module 'unistr/u8-move'.
31010         * modules/unistr/u8-move-tests: New file.
31011         * tests/unistr/test-u8-move.c: New file.
31012         * tests/unistr/test-move.h: New file.
31013
31014         Tests for module 'unistr/u32-cpy'.
31015         * modules/unistr/u32-cpy-tests: New file.
31016         * tests/unistr/test-u32-cpy.c: New file.
31017
31018         Tests for module 'unistr/u16-cpy'.
31019         * modules/unistr/u16-cpy-tests: New file.
31020         * tests/unistr/test-u16-cpy.c: New file.
31021
31022         Tests for module 'unistr/u8-cpy'.
31023         * modules/unistr/u8-cpy-tests: New file.
31024         * tests/unistr/test-u8-cpy.c: New file.
31025         * tests/unistr/test-cpy.h: New file.
31026
31027 2010-01-09  Bruno Haible  <bruno@clisp.org>
31028
31029         Tests for module 'unistr/u32-uctomb'.
31030         * modules/unistr/u32-uctomb-tests: New file.
31031         * tests/unistr/test-u32-uctomb.c: New file.
31032
31033         Tests for module 'unistr/u16-uctomb'.
31034         * modules/unistr/u16-uctomb-tests: New file.
31035         * tests/unistr/test-u16-uctomb.c: New file.
31036
31037         Tests for module 'unistr/u8-uctomb'.
31038         * modules/unistr/u8-uctomb-tests: New file.
31039         * tests/unistr/test-u8-uctomb.c: New file.
31040
31041         Tests for module 'unistr/u32-mbtoucr'.
31042         * modules/unistr/u32-mbtoucr-tests: New file.
31043         * tests/unistr/test-u32-mbtoucr.c: New file.
31044
31045         Tests for module 'unistr/u16-mbtoucr'.
31046         * modules/unistr/u16-mbtoucr-tests: New file.
31047         * tests/unistr/test-u16-mbtoucr.c: New file.
31048
31049         Tests for module 'unistr/u8-mbtoucr'.
31050         * modules/unistr/u8-mbtoucr-tests: New file.
31051         * tests/unistr/test-u8-mbtoucr.c: New file.
31052
31053         Tests for module 'unistr/u32-mbtouc'.
31054         * modules/unistr/u32-mbtouc-tests: New file.
31055         * tests/unistr/test-u32-mbtouc.c: New file.
31056
31057         Tests for module 'unistr/u16-mbtouc'.
31058         * modules/unistr/u16-mbtouc-tests: New file.
31059         * tests/unistr/test-u16-mbtouc.c: New file.
31060
31061         Tests for module 'unistr/u8-mbtouc'.
31062         * modules/unistr/u8-mbtouc-tests: New file.
31063         * tests/unistr/test-u8-mbtouc.c: New file.
31064
31065         Tests for module 'unistr/u32-mbtouc-unsafe'.
31066         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
31067         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
31068         * tests/unistr/test-u32-mbtouc.h: New file.
31069
31070         Tests for module 'unistr/u16-mbtouc-unsafe'.
31071         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
31072         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
31073         * tests/unistr/test-u16-mbtouc.h: New file.
31074
31075         Tests for module 'unistr/u8-mbtouc-unsafe'.
31076         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
31077         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
31078         * tests/unistr/test-u8-mbtouc.h: New file.
31079
31080         Tests for module 'unistr/u32-mblen'.
31081         * modules/unistr/u32-mblen-tests: New file.
31082         * tests/unistr/test-u32-mblen.c: New file.
31083
31084         Tests for module 'unistr/u16-mblen'.
31085         * modules/unistr/u16-mblen-tests: New file.
31086         * tests/unistr/test-u16-mblen.c: New file.
31087
31088         Tests for module 'unistr/u8-mblen'.
31089         * modules/unistr/u8-mblen-tests: New file.
31090         * tests/unistr/test-u8-mblen.c: New file.
31091
31092         Tests for module 'unistr/u32-to-u16'.
31093         * modules/unistr/u32-to-u16-tests: New file.
31094         * tests/unistr/test-u32-to-u16.c: New file.
31095
31096         Tests for module 'unistr/u32-to-u8'.
31097         * modules/unistr/u32-to-u8-tests: New file.
31098         * tests/unistr/test-u32-to-u8.c: New file.
31099
31100         Tests for module 'unistr/u16-to-u32'.
31101         * modules/unistr/u16-to-u32-tests: New file.
31102         * tests/unistr/test-u16-to-u32.c: New file.
31103
31104         Tests for module 'unistr/u16-to-u8'.
31105         * modules/unistr/u16-to-u8-tests: New file.
31106         * tests/unistr/test-u16-to-u8.c: New file.
31107
31108         Tests for module 'unistr/u8-to-u32'.
31109         * modules/unistr/u8-to-u32-tests: New file.
31110         * tests/unistr/test-u8-to-u32.c: New file.
31111
31112         Tests for module 'unistr/u8-to-u16'.
31113         * modules/unistr/u8-to-u16-tests: New file.
31114         * tests/unistr/test-u8-to-u16.c: New file.
31115
31116         Tests for module 'unistr/u32-check'.
31117         * modules/unistr/u32-check-tests: New file.
31118         * tests/unistr/test-u32-check.c: New file.
31119
31120         Tests for module 'unistr/u16-check'.
31121         * modules/unistr/u16-check-tests: New file.
31122         * tests/unistr/test-u16-check.c: New file.
31123
31124         Tests for module 'unistr/u8-check'.
31125         * modules/unistr/u8-check-tests: New file.
31126         * tests/unistr/test-u8-check.c: New file.
31127
31128         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
31129         (category_equals): New function.
31130         (main): Add more tests.
31131         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
31132
31133         * tests/unictype/test-bidi_byname.c (main): Add more tests.
31134
31135 2010-01-10  Bruno Haible  <bruno@clisp.org>
31136
31137         unistr/u*-strcoll: Try harder to distinguish different strings.
31138         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
31139         compare s1 and s2 to see if they are different.
31140
31141 2010-01-10  Bruno Haible  <bruno@clisp.org>
31142
31143         unistr/u*-stpncpy: Fix the return value.
31144         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
31145         description of the return value consistent with stpncpy in glibc.
31146         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
31147         written non-NUL unit.
31148
31149 2010-01-10  Bruno Haible  <bruno@clisp.org>
31150
31151         unistr/u*-next: Add missing dependencies.
31152         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
31153         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
31154         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
31155
31156 2010-01-10  Bruno Haible  <bruno@clisp.org>
31157
31158         unistr/u8-mbsnlen: Fix return value for incomplete character.
31159         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
31160         u8_mblen.
31161         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
31162         Remove unistr/u8-mblen.
31163         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
31164         u16_mblen.
31165         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
31166         Remove unistr/u16-mblen.
31167
31168 2010-01-10  Bruno Haible  <bruno@clisp.org>
31169
31170         wchar: Fix compilation error when <wchar.h> is used from coreutils.
31171         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
31172         Reported by Brian Gough <bjg@gnu.org> and
31173         Chris Clayton <chris2553@googlemail.com> via
31174         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
31175
31176 2010-01-09  Bruno Haible  <bruno@clisp.org>
31177
31178         unistr/u16-to-u32: Reject invalid input.
31179         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
31180         u16_mbtouc.
31181         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
31182         Remove unistr/u16-mbtouc.
31183
31184         unistr/u16-to-u8: Reject invalid input.
31185         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
31186         u16_mbtouc.
31187         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
31188         Remove unistr/u16-mbtouc.
31189
31190         unistr/u8-to-u32: Reject invalid input.
31191         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
31192         u8_mbtouc.
31193         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
31194         Remove unistr/u8-mbtouc.
31195
31196         unistr/u8-to-u16: Reject invalid input.
31197         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
31198         u8_mbtouc.
31199         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
31200         Remove unistr/u8-mbtouc.
31201
31202 2010-01-09  Bruno Haible  <bruno@clisp.org>
31203
31204         Tests for module 'getlogin'.
31205         * modules/getlogin-tests: New file.
31206         * tests/test-getlogin.c: New file.
31207
31208         New module 'getlogin'.
31209         * lib/unistd.in.h (getlogin): New declaration.
31210         * lib/getlogin.c: New file.
31211         * m4/getlogin.m4: New file.
31212         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
31213         HAVE_GETLOGIN.
31214         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
31215         HAVE_GETLOGIN.
31216         * modules/getlogin: New file.
31217         * doc/posix-functions/getlogin.texi: Mention the new module.
31218         Reported by John W. Eaton <jwe@gnu.org>.
31219
31220 2010-01-09  Bruno Haible  <bruno@clisp.org>
31221
31222         getlogin_r: Support for native Windows.
31223         * lib/getlogin_r.c: Include <windows.h>
31224         (getlogin_r): Implement for native Windows.
31225         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
31226         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
31227         via John W. Eaton <jwe@gnu.org>.
31228
31229 2010-01-09  Bruno Haible  <bruno@clisp.org>
31230
31231         getlogin_r: Small fixes.
31232         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
31233         succeeds.
31234         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
31235         before testing whether getlogin_r is declared. No need to set
31236         HAVE_DECL_GETLOGIN_R to 1.
31237         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
31238
31239 2010-01-09  Bruno Haible  <bruno@clisp.org>
31240
31241         * lib/unistd.in.h (getlogin_r): Add comment.
31242
31243 2010-01-09  Bruno Haible  <bruno@clisp.org>
31244
31245         Tests for module 'getlogin_r'.
31246         * modules/getlogin_r-tests: New file.
31247         * tests/test-getlogin_r.c: New file.
31248
31249 2010-01-09  Jim Meyering  <meyering@redhat.com>
31250
31251         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
31252         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
31253         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
31254
31255 2010-01-08  Simon Josefsson  <simon@josefsson.org>
31256
31257         * lib/dup2.c (rpl_dup2): Improve comment.
31258
31259 2010-01-08  Eric Blake  <ebb9@byu.net>
31260
31261         maint.mk: allow packages to add makefile @@ exceptions
31262         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
31263         (sc_makefile_check): Rename...
31264         (sc_makefile_at_at_check): ...to this, and use hook.
31265
31266         dup2: work around mingw bug
31267         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
31268         Reported by Simon Josefsson.
31269
31270 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
31271
31272         glob: Fix C++ compilation.
31273         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
31274         C++.
31275
31276 2010-01-07  Bruno Haible  <bruno@clisp.org>
31277
31278         Fix indentation of wctype.in.h, broken since 2007-01-06.
31279         * lib/wctype.in.h: Fix indentation of preprocessor directives.
31280
31281 2010-01-07  Bruno Haible  <bruno@clisp.org>
31282
31283         mbslen: Avoid collision with system function.
31284         * lib/string.in.h [MirBSD]: Include <wchar.h>.
31285         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
31286         * m4/mbslen.m4: New file.
31287         * modules/mbslen (Files): Add it.
31288         (configure.ac): Invoke gl_MBSLEN.
31289         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
31290         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
31291         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
31292         via Ian Beckwith <ianb@erislabs.net>.
31293
31294 2010-01-07  Bruno Haible  <bruno@clisp.org>
31295
31296         dirent: Document the last fix.
31297         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
31298
31299 2010-01-07  Bruno Haible  <bruno@clisp.org>
31300
31301         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
31302         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
31303         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
31304         va_list are defined.
31305         * doc/posix-headers/stdio.texi: Document the bug of missing types.
31306         Reported by Eric Blake.
31307
31308 2010-01-07  Bruno Haible  <bruno@clisp.org>
31309
31310         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
31311         * modules/xlist (Depends-on): Add 'list',
31312         * modules/xoset (Depends-on): Add 'oset'.
31313         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31314
31315 2010-01-07  Bruno Haible  <bruno@clisp.org>
31316
31317         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
31318         * doc/posix-functions/strncasecmp.texi: Likewise.
31319
31320 2010-01-07  Bruno Haible  <bruno@clisp.org>
31321
31322         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
31323
31324 2010-01-07  John W. Eaton  <jwe@octave.org>
31325
31326         wctype: allow C++ use
31327         * lib/wctype.in.h: Add extern "C" block for C++.
31328
31329 2010-01-06  Eric Blake  <ebb9@byu.net>
31330
31331         maint.mk: detect incorrect GFDL usage
31332         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
31333
31334 2010-01-06  Jim Meyering  <meyering@redhat.com>
31335         and Eric Blake  <ebb9@byu.net>
31336
31337         maint.mk: ignore multi-line copyright in NEWS
31338         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
31339
31340 2010-01-06  Eric Blake  <ebb9@byu.net>
31341
31342         select: add missing dependency
31343         * modules/select-tests (Depends-on): Move sockets dependency...
31344         * modules/select (Depends-on): ...here.
31345         Reported by Ian Beckwith.
31346
31347         doc: regenerate INSTALL
31348         * doc/INSTALL: Reflect recent autoconf update.
31349         * doc/INSTALL.ISO: Likewise.
31350         * doc/INSTALL.UTF-8: Likewise.
31351
31352         pread: fix compilation on glibc
31353         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
31354         Reported by Ralf Wildenhues.
31355
31356         dirent: fix test failure
31357         * lib/dirent.in.h (includes): Guarantee ino_t.
31358         Reported by Ralf Wildenhues.
31359
31360 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
31361
31362         linkat, renameat: avoid bad free
31363         * lib/at-func2.c (at_func2): Fix typo.
31364         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
31365
31366 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31367
31368         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
31369         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
31370         to avoid failure of symlink test later.
31371
31372 2010-01-06  Eric Blake  <ebb9@byu.net>
31373
31374         stdio, unistd: guarantee ssize_t
31375         * lib/unistd.in.h (includes): Ensure that types required by POSIX
31376         2008 are exposed when needed.
31377         * lib/stdio.in.h (includes): Likewise.
31378         Reported by Ralf Wildenhues.
31379
31380 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
31381
31382         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
31383         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
31384         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
31385
31386 2010-01-06  Jim Meyering  <meyering@redhat.com>
31387
31388         readtokens: this module *does* require xalloc.h
31389         It uses only functions that were omitted by the old syntax-check rule.
31390         * lib/readtokens.c: Include "xalloc.h" once again.
31391         * modules/readtokens (Depends-on): Add xalloc.
31392         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
31393
31394 2010-01-05  Eric Blake  <ebb9@byu.net>
31395
31396         maint: support 'make announcement' from a VPATH build
31397         * top/maint.mk (announcement): Look for correct NEWS file.
31398
31399 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
31400
31401         utimens (fdutimens): ignore a negative FD, per contract
31402         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
31403         when we have a valid file descriptor.  Otherwise, using a brand
31404         new glibc (with just-patched futimens that now fails with EBADF)
31405         would cause this function to fail with ENOSYS.
31406         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
31407         See also http://bugzilla.redhat.com/552320.
31408
31409 2010-01-05  Eric Blake  <ebb9@byu.net>
31410
31411         strcase: document what it provides
31412         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
31413         gnulib module.
31414         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
31415         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
31416
31417 2010-01-05  Jim Meyering  <meyering@redhat.com>
31418
31419         maint: remove useless inclusions of "xalloc.h"
31420         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
31421         * lib/readtokens.c: Likewise.
31422         * lib/same.c: Likewise.
31423         * modules/getloadavg (Depends-on): Remove xalloc.
31424         * modules/readtokens: Likewise.
31425         * modules/same: Likewise.
31426
31427         maint.mk: include 4 more function names in alloca.h-checking regexp
31428         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
31429         regexp.  Before, we would give a false-positive (saying alloca.h
31430         is included unnecessarily) when the only uses involved omitted symbols.
31431
31432         xalloc.h: use consistent formatting
31433         * lib/xalloc.h: Move declarations to start in the first column.
31434
31435 2010-01-05  Eric Blake  <ebb9@byu.net>
31436
31437         mkdir: avoid xalloc
31438         * lib/mkdir.c (includes): Drop unused header.
31439         Reported by John W. Eaton.
31440
31441 2010-01-04  Jim Meyering  <meyering@redhat.com>
31442
31443         nl_langinfo: avoid configure-time syntax error
31444         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
31445         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
31446         the empty string.  Don't let that provoke a shell syntax error.
31447
31448         regcomp, regexec, fnmatch: avoid array bounds read error
31449         * lib/regcomp.c (build_equiv_class): From glibc:
31450         Use only the low 24 bits of a findidx return value as an index
31451         into the weights array.  Patch by Ulrich Drepper:
31452         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
31453         * lib/regexec.c (check_node_accept_bytes): Likewise.
31454         * lib/fnmatch_loop.c (FCT): Likewise.
31455
31456         regcomp: skip collseq lookup when there are no rules
31457         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
31458         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
31459
31460         regcomp: recognize ill-formed { } expressions
31461         * lib/regcomp.c (parse_dup_op): From glibc:
31462         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
31463
31464         regcomp: fix typo in comment
31465         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
31466         s/satisfy/satisfies/.
31467
31468         regcomp: sync from glibc: remove dead store
31469         * lib/regcomp.c (duplicate_node_closure): Remove useless
31470         search_duplicated_node call and dead store.
31471
31472         regcomp: sync from glibc; always use nl_langinfo
31473         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
31474         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
31475         * modules/regex (Depends-on): Add nl_langinfo.
31476
31477 2010-01-04  Eric Blake  <ebb9@byu.net>
31478
31479         fdopendir: fix configure test
31480         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
31481
31482 2010-01-01  Bruno Haible  <bruno@clisp.org>
31483
31484         wchar: Remove unused configure check.
31485         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
31486
31487 2010-01-01  Eric Blake  <ebb9@byu.net>
31488
31489         headers: make check of system header explicit
31490         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
31491         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
31492         ourselves.
31493         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31494         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31495         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
31496         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
31497         internals.
31498         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
31499         missing.
31500         Suggested by Bruno Haible.
31501
31502 2010-01-01  Jim Meyering  <meyering@redhat.com>
31503
31504         ChangeLog: tweak to eliminate unnecessary copyright line
31505         * ChangeLog: Remove a copyright line that was mistakenly updated
31506         by today's update-copyright run.  Reported by Eric Blake.
31507
31508         test-update-copyright: don't let envvar setting cause test failure
31509         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
31510
31511 2010-01-01  Bruno Haible  <bruno@clisp.org>
31512
31513         localename: Avoid gcc warning.
31514         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
31515         function if it is not used.
31516
31517 2010-01-01  Jim Meyering  <meyering@redhat.com>
31518
31519         update nearly all FSF copyright year lists to include 2010
31520         Use the same procedure as for 2009, outlined in
31521         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
31522
31523         version-etc: set COPYRIGHT_YEAR to 2010
31524         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
31525
31526 2009-12-31  Eric Blake  <ebb9@byu.net>
31527
31528         doc: correct availability of cygwin 1.5.x getopt
31529         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
31530         variables.
31531         * doc/posix-functions/opterr.texi (opterr): Likewise.
31532         * doc/posix-functions/optind.texi (optind): Likewise.
31533         * doc/posix-functions/optopt.texi (optopt): Likewise.
31534         * doc/posix-functions/tzname.texi (tzname): Likewise.
31535
31536         openat: update maintainer
31537         * modules/openat (Maintainer): Add myself.
31538
31539         utimens: avoid shadowing warning
31540         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
31541         buffers into one, to avoid shadowing, as well as avoiding a
31542         redundant stat.
31543         Reported by Jim Meyering.
31544
31545         test-dup2: avoid compiler warning
31546         * tests/test-dup2.c (is_inheritable): Only define if used.
31547
31548 2010-01-01  Bruno Haible  <bruno@clisp.org>
31549
31550         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
31551         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
31552         defined, use wctomb instead of wcrtomb.
31553
31554 2010-01-01  Bruno Haible  <bruno@clisp.org>
31555
31556         iconv: Reject native Solaris iconv.
31557         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
31558         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
31559
31560 2009-12-31  Bruno Haible  <bruno@clisp.org>
31561
31562         * tests/test-signal.c (main): Remove test of 'SIG'.
31563
31564 2009-12-31  Bruno Haible  <bruno@clisp.org>
31565
31566         spawn: Fix incomplete fix.
31567         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
31568         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
31569         warnings for GNULIB_POSIXCHECK again.
31570         Reported by Eric Blake.
31571
31572 2009-12-31  Bruno Haible  <bruno@clisp.org>
31573
31574         Avoid namespace pollution on glibc systems.
31575         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
31576         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
31577         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
31578         glibc systems.
31579
31580 2009-12-31  Bruno Haible  <bruno@clisp.org>
31581
31582         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
31583         (gl_REPLACE_WCHAR_H): Turn into a no-op.
31584         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
31585         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
31586         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
31587         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
31588         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
31589
31590 2009-12-31  Bruno Haible  <bruno@clisp.org>
31591
31592         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
31593         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
31594         afterwards.
31595
31596 2009-12-31  Bruno Haible  <bruno@clisp.org>
31597
31598         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
31599         SYS_UTSNAME_H.
31600
31601 2009-12-31  Bruno Haible  <bruno@clisp.org>
31602
31603         spawn: Fix misapplied patch.
31604         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
31605         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
31606         warnings for GNULIB_POSIXCHECK.
31607
31608 2009-12-31  Bruno Haible  <bruno@clisp.org>
31609
31610         times: Update after sys_times changed.
31611         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
31612         * modules/times (Files): Add it.
31613         (configure.ac): Invoke gl_FUNC_TIMES.
31614
31615 2009-12-31  Bruno Haible  <bruno@clisp.org>
31616
31617         Use AC_C_INLINE where necessary.
31618         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
31619         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
31620         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
31621         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
31622         * m4/mbfile.m4 (gl_MBFILE): Likewise.
31623         * m4/mbiter.m4 (gl_MBITER): Likewise.
31624         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
31625         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
31626         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
31627         * modules/u64 (configure.ac): Likewise.
31628
31629 2009-12-31  Bruno Haible  <bruno@clisp.org>
31630
31631         Use AC_C_INLINE instead of module 'inline' where possible.
31632         * modules/inline (Description): Clarify purpose.
31633         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
31634         * modules/count-one-bits (Depends-on): Remove inline.
31635         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
31636         * modules/openat (Depends-on): Remove inline.
31637         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
31638         instead of depending on module 'inline'.
31639         * modules/filevercmp (Depends-on, configure.ac): Likewise.
31640         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
31641         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
31642         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
31643         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
31644         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
31645         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
31646         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
31647         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
31648         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
31649         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
31650         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
31651         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
31652         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
31653         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
31654         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
31655         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
31656         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
31657         Likewise.
31658         * modules/unictype/property-ascii-hex-digit (Depends-on,
31659         configure.ac): Likewise.
31660         * modules/unictype/property-bidi-arabic-digit (Depends-on,
31661         configure.ac): Likewise.
31662         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
31663         configure.ac): Likewise.
31664         * modules/unictype/property-bidi-block-separator (Depends-on,
31665         configure.ac): Likewise.
31666         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
31667         configure.ac): Likewise.
31668         * modules/unictype/property-bidi-common-separator (Depends-on,
31669         configure.ac): Likewise.
31670         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
31671         Likewise.
31672         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
31673         configure.ac): Likewise.
31674         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
31675         configure.ac): Likewise.
31676         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
31677         configure.ac): Likewise.
31678         * modules/unictype/property-bidi-european-digit (Depends-on,
31679         configure.ac): Likewise.
31680         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
31681         configure.ac): Likewise.
31682         * modules/unictype/property-bidi-left-to-right (Depends-on,
31683         configure.ac): Likewise.
31684         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
31685         configure.ac): Likewise.
31686         * modules/unictype/property-bidi-other-neutral (Depends-on,
31687         configure.ac): Likewise.
31688         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
31689         Likewise.
31690         * modules/unictype/property-bidi-segment-separator (Depends-on,
31691         configure.ac): Likewise.
31692         * modules/unictype/property-bidi-whitespace (Depends-on,
31693         configure.ac): Likewise.
31694         * modules/unictype/property-combining (Depends-on, configure.ac):
31695         Likewise.
31696         * modules/unictype/property-composite (Depends-on, configure.ac):
31697         Likewise.
31698         * modules/unictype/property-currency-symbol (Depends-on,
31699         configure.ac): Likewise.
31700         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
31701         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
31702         Likewise.
31703         * modules/unictype/property-default-ignorable-code-point (Depends-on,
31704         configure.ac): Likewise.
31705         * modules/unictype/property-deprecated (Depends-on, configure.ac):
31706         Likewise.
31707         * modules/unictype/property-diacritic (Depends-on, configure.ac):
31708         Likewise.
31709         * modules/unictype/property-extender (Depends-on, configure.ac):
31710         Likewise.
31711         * modules/unictype/property-format-control (Depends-on, configure.ac):
31712         Likewise.
31713         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
31714         Likewise.
31715         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
31716         Likewise.
31717         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
31718         Likewise.
31719         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
31720         Likewise.
31721         * modules/unictype/property-hyphen (Depends-on, configure.ac):
31722         Likewise.
31723         * modules/unictype/property-id-continue (Depends-on, configure.ac):
31724         Likewise.
31725         * modules/unictype/property-id-start (Depends-on, configure.ac):
31726         Likewise.
31727         * modules/unictype/property-ideographic (Depends-on, configure.ac):
31728         Likewise.
31729         * modules/unictype/property-ids-binary-operator (Depends-on,
31730         configure.ac): Likewise.
31731         * modules/unictype/property-ids-trinary-operator (Depends-on,
31732         configure.ac): Likewise.
31733         * modules/unictype/property-ignorable-control (Depends-on,
31734         configure.ac): Likewise.
31735         * modules/unictype/property-iso-control (Depends-on, configure.ac):
31736         Likewise.
31737         * modules/unictype/property-join-control (Depends-on, configure.ac):
31738         Likewise.
31739         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
31740         Likewise.
31741         * modules/unictype/property-line-separator (Depends-on, configure.ac):
31742         Likewise.
31743         * modules/unictype/property-logical-order-exception (Depends-on,
31744         configure.ac): Likewise.
31745         * modules/unictype/property-lowercase (Depends-on, configure.ac):
31746         Likewise.
31747         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
31748         * modules/unictype/property-non-break (Depends-on, configure.ac):
31749         Likewise.
31750         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
31751         Likewise.
31752         * modules/unictype/property-numeric (Depends-on, configure.ac):
31753         Likewise.
31754         * modules/unictype/property-other-alphabetic (Depends-on,
31755         configure.ac): Likewise.
31756         * modules/unictype/property-other-default-ignorable-code-point
31757         (Depends-on, configure.ac): Likewise.
31758         * modules/unictype/property-other-grapheme-extend (Depends-on,
31759         configure.ac): Likewise.
31760         * modules/unictype/property-other-id-continue (Depends-on,
31761         configure.ac): Likewise.
31762         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
31763         Likewise.
31764         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
31765         Likewise.
31766         * modules/unictype/property-other-math (Depends-on, configure.ac):
31767         Likewise.
31768         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
31769         Likewise.
31770         * modules/unictype/property-paired-punctuation (Depends-on,
31771         configure.ac): Likewise.
31772         * modules/unictype/property-paragraph-separator (Depends-on,
31773         configure.ac): Likewise.
31774         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
31775         Likewise.
31776         * modules/unictype/property-pattern-white-space (Depends-on,
31777         configure.ac): Likewise.
31778         * modules/unictype/property-private-use (Depends-on, configure.ac):
31779         Likewise.
31780         * modules/unictype/property-punctuation (Depends-on, configure.ac):
31781         Likewise.
31782         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
31783         Likewise.
31784         * modules/unictype/property-radical (Depends-on, configure.ac):
31785         Likewise.
31786         * modules/unictype/property-sentence-terminal (Depends-on,
31787         configure.ac): Likewise.
31788         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
31789         Likewise.
31790         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
31791         * modules/unictype/property-terminal-punctuation (Depends-on,
31792         configure.ac): Likewise.
31793         * modules/unictype/property-titlecase (Depends-on, configure.ac):
31794         Likewise.
31795         * modules/unictype/property-unassigned-code-value (Depends-on,
31796         configure.ac): Likewise.
31797         * modules/unictype/property-unified-ideograph (Depends-on,
31798         configure.ac): Likewise.
31799         * modules/unictype/property-uppercase (Depends-on, configure.ac):
31800         Likewise.
31801         * modules/unictype/property-variation-selector (Depends-on,
31802         configure.ac): Likewise.
31803         * modules/unictype/property-white-space (Depends-on, configure.ac):
31804         Likewise.
31805         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
31806         Likewise.
31807         * modules/unictype/property-xid-start (Depends-on, configure.ac):
31808         Likewise.
31809         * modules/unictype/property-zero-width (Depends-on, configure.ac):
31810         Likewise.
31811         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
31812         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
31813         Likewise.
31814
31815 2009-12-31  Bruno Haible  <bruno@clisp.org>
31816
31817         Remove unnecessary AC_C_INLINE invocation.
31818         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
31819         since 2009-08-21.
31820
31821 2009-12-31  Jim Meyering  <meyering@redhat.com>
31822
31823         maint.mk: don't require explicit gpg_key_ID in cfg.mk
31824         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
31825         With this change, we can all remove the gpg_key_ID = ... definition
31826         from our respective cfg.mk files.
31827
31828         maint.mk: create announcement template in ~/, not in /tmp
31829         * top/maint.mk (emit_upload_commands): Adjust.
31830         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
31831         Remove temporary file, .ci-msg.
31832
31833 2009-12-31  Eric Blake  <ebb9@byu.net>
31834
31835         link-warning: always build headers with link warnings
31836         * modules/arpa_inet (Makefile.am): Always build replacement
31837         header.
31838         * modules/ctype (Makefile.am): Likewise.
31839         * modules/dirent (Makefile.am): Likewise.
31840         * modules/inttypes (Makefile.am): Likewise.
31841         * modules/langinfo (Makefile.am): Likewise.
31842         * modules/locale (Makefile.am): Likewise.
31843         * modules/spawn (Makefile.am): Likewise.
31844         * modules/sys_file (Makefile.am): Likewise.
31845         * modules/sys_ioctl (Makefile.am): Likewise.
31846         * modules/sys_select (Makefile.am): Likewise.
31847         * modules/sys_socket (Makefile.am): Likewise.
31848         * modules/sys_times (Makefile.am): Likewise.
31849         * modules/sys_utsname (Makefile.am): Likewise.
31850         * modules/sys_wait (Makefile.am): Likewise.
31851         * modules/wchar (Makefile.am): Likewise.
31852         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
31853         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
31854         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
31855         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
31856         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
31857         Likewise.
31858         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31859         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31860         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
31861         Likewise.
31862         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
31863         Likewise.
31864         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
31865         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
31866         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
31867         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31868         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
31869         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
31870         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
31871         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
31872         (gl_WCHAR_H_DEFAULTS): Likewise.
31873
31874 2009-12-31  Eric Blake  <ebb9@byu.net>
31875
31876         signal, spawn: use link warnings
31877         * lib/signal.in.h (sigset_t): Make unconditional.
31878         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
31879         (sigpending, sigprocmask, sigaction): Add link warnings.
31880         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
31881         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
31882         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
31883         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
31884         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
31885         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
31886         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
31887         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
31888         (posix_spawn_file_actions_destroy)
31889         (posix_spawn_file_actions_addopen)
31890         (posix_spawn_file_actions_addclose)
31891         (posix_spawn_file_actions_adddup2): Likewise.
31892         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
31893         * tests/test-signal.c (main): Enhance test.
31894
31895         spawn: improve wrapper support
31896         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
31897         (gl_SPAWN_H_DEFAULTS): New defaults.
31898         * modules/spawn (Makefile.am): Substitute them.
31899         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
31900         Only declare if missing or broken.
31901
31902         sys_times, sys_utsname: use include_next
31903         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
31904         header.
31905         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
31906         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
31907         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
31908         * modules/sys_times (Depends-on): Add include_next.
31909         (Makefile.am): Substitute additional values.
31910         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
31911         * lib/sys_times.in.h (includes): Include native header, if
31912         available.
31913         * lib/sys_utsname.in.h (includes): Likewise.
31914         * tests/test-sys_times.c (main): Enhance test.
31915
31916         fdutimensat: revert prior patch
31917         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
31918         utimens.h.
31919         Reported by Bruno Haible.
31920
31921 2009-12-30  Eric Blake  <ebb9@byu.net>
31922
31923         sys_wait: drop link-warning dependency
31924         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
31925         link-warning efforts.
31926         * lib/sys_wait.in.h: Likewise.
31927
31928         fdutimensat: remove bogus dependency
31929         * modules/fdutimensat (Depends-on): Drop inline.
31930
31931         unistd: fix typo
31932         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
31933
31934 2009-12-30  Bruno Haible  <bruno@clisp.org>
31935
31936         Fix compilation error with Solaris cc.
31937         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
31938         * lib/unicase/u16-is-invariant.c: Likewise.
31939         * lib/unicase/u32-is-invariant.c: Likewise.
31940         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
31941
31942 2009-12-30  Bruno Haible  <bruno@clisp.org>
31943
31944         Fix test crash.
31945         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
31946         locales.
31947         Reported by Simon Josefsson <simon@josefsson.org>.
31948
31949 2009-12-30  Bruno Haible  <bruno@clisp.org>
31950
31951         Fix compilation error on most platforms.
31952         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
31953         Reported by Simon Josefsson <simon@josefsson.org>
31954         and Nelson H. F. Beebe <beebe@math.utah.edu>.
31955
31956 2009-12-30  Eric Blake  <ebb9@byu.net>
31957
31958         futimens, utimensat: work around ntfs-3g bug
31959         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
31960         a ctime bug is present, and expand workaround to cover ntfs-3g.
31961         * lib/utimens.c (fdutimens, lutimens): Likewise.
31962         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
31963         (validate_timespec): Adjust return value.
31964         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
31965         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
31966         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
31967
31968 2009-12-29  Eric Blake  <ebb9@byu.net>
31969
31970         link-warning: make usage consistent
31971         * modules/ctype (Depends-on): Add link-warning.
31972         (Makefile.am): Update rules accordingly.
31973         * modules/langinfo (Depends-on, Makefile.am): Likewise.
31974         * modules/locale (Depends-on, Makefile.am): Likewise.
31975         * modules/sys_file (Makefile.am): Likewise.
31976         * modules/getopt-posix (Makefile.am): Delete unused link warning
31977         efforts.
31978         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
31979         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
31980         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
31981         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
31982
31983         stdio: remove unused variables
31984         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
31985         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
31986         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
31987
31988         tests: test more substitute headers
31989         * modules/ctype-tests: New file.
31990         * modules/dirent-tests: Likewise.
31991         * modules/spawn-tests: Likewise.
31992         * modules/sys_file-tests: Likewise.
31993         * modules/sys_ioctl-tests: Likewise.
31994         * modules/sys_wait-tests: Likewise.
31995         * tests/test-ctype.c: Likewise.
31996         * tests/test-dirent.c: Likewise.
31997         * tests/test-spawn.c: Likewise.
31998         * tests/test-sys_file.c: Likewise.
31999         * tests/test-sys_ioctl.c: Likewise.
32000         * tests/test-sys_wait.c: Likewise.
32001         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
32002         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
32003         whether or not flock is in use.
32004
32005         tests: remove License section from module
32006         * modules/arpa_inet-tests: Remove unneeded section.
32007         * modules/byteswap-tests: Likewise.
32008         * modules/ceilf-tests: Likewise.
32009         * modules/ceill-tests: Likewise.
32010         * modules/crypto/des-tests: Likewise.
32011         * modules/crypto/gc-arcfour-tests: Likewise.
32012         * modules/crypto/gc-arctwo-tests: Likewise.
32013         * modules/crypto/gc-des-tests: Likewise.
32014         * modules/crypto/gc-hmac-md5-tests: Likewise.
32015         * modules/crypto/gc-hmac-sha1-tests: Likewise.
32016         * modules/crypto/gc-md2-tests: Likewise.
32017         * modules/crypto/gc-md4-tests: Likewise.
32018         * modules/crypto/gc-md5-tests: Likewise.
32019         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
32020         * modules/crypto/gc-rijndael-tests: Likewise.
32021         * modules/crypto/gc-sha1-tests: Likewise.
32022         * modules/crypto/gc-tests: Likewise.
32023         * modules/crypto/md2-tests: Likewise.
32024         * modules/crypto/md4-tests: Likewise.
32025         * modules/fcntl-h-tests: Likewise.
32026         * modules/floorf-tests: Likewise.
32027         * modules/floorl-tests: Likewise.
32028         * modules/frexp-nolibm-tests: Likewise.
32029         * modules/frexp-tests: Likewise.
32030         * modules/frexpl-nolibm-tests: Likewise.
32031         * modules/frexpl-tests: Likewise.
32032         * modules/getaddrinfo-tests: Likewise.
32033         * modules/inttypes-tests: Likewise.
32034         * modules/isfinite-tests: Likewise.
32035         * modules/isinf-tests: Likewise.
32036         * modules/ldexpl-tests: Likewise.
32037         * modules/locale-tests: Likewise.
32038         * modules/math-tests: Likewise.
32039         * modules/netdb-tests: Likewise.
32040         * modules/netinet_in-tests: Likewise.
32041         * modules/printf-frexp-tests: Likewise.
32042         * modules/printf-frexpl-tests: Likewise.
32043         * modules/priv-set-tests: Likewise.
32044         * modules/random_r-tests: Likewise.
32045         * modules/round-tests: Likewise.
32046         * modules/roundf-tests: Likewise.
32047         * modules/roundl-tests: Likewise.
32048         * modules/search-tests: Likewise.
32049         * modules/select-tests: Likewise.
32050         * modules/signal-tests: Likewise.
32051         * modules/stdbool-tests: Likewise.
32052         * modules/stddef-tests: Likewise.
32053         * modules/stdint-tests: Likewise.
32054         * modules/stdio-tests: Likewise.
32055         * modules/stdlib-tests: Likewise.
32056         * modules/string-tests: Likewise.
32057         * modules/strings-tests: Likewise.
32058         * modules/sys_select-tests: Likewise.
32059         * modules/sys_socket-tests: Likewise.
32060         * modules/sys_stat-tests: Likewise.
32061         * modules/sys_time-tests: Likewise.
32062         * modules/sys_utsname-tests: Likewise.
32063         * modules/sysexits-tests: Likewise.
32064         * modules/time-tests: Likewise.
32065         * modules/trunc-tests: Likewise.
32066         * modules/truncf-tests: Likewise.
32067         * modules/truncl-tests: Likewise.
32068         * modules/tsearch-tests: Likewise.
32069         * modules/unistd-tests: Likewise.
32070         * modules/wchar-tests: Likewise.
32071         * modules/wctype-tests: Likewise.
32072
32073         tests: fix license on several tests
32074         * tests/test-des.c: Update to GPLv3+.
32075         * tests/test-flock.c: Likewise.
32076         * tests/test-fsync.c: Likewise.
32077         * tests/test-futimens.h: Likewise.
32078         * tests/test-gc-arcfour.c: Likewise.
32079         * tests/test-gc-arctwo.c: Likewise.
32080         * tests/test-gc-des.c: Likewise.
32081         * tests/test-gc-hmac-md5.c: Likewise.
32082         * tests/test-gc-hmac-sha1.c: Likewise.
32083         * tests/test-gc-md2.c: Likewise.
32084         * tests/test-gc-md4.c: Likewise.
32085         * tests/test-gc-md5.c: Likewise.
32086         * tests/test-gc-pbkdf2-sha1.c: Likewise.
32087         * tests/test-gc-rijndael.c: Likewise.
32088         * tests/test-gc-sha1.c: Likewise.
32089         * tests/test-gc.c: Likewise.
32090         * tests/test-getcwd.c: Likewise.
32091         * tests/test-link.c: Likewise.
32092         * tests/test-link.h: Likewise.
32093         * tests/test-lutimens.h: Likewise.
32094         * tests/test-md2.c: Likewise.
32095         * tests/test-md4.c: Likewise.
32096         * tests/test-mkdir.h: Likewise.
32097         * tests/test-rename.c: Likewise.
32098         * tests/test-rename.h: Likewise.
32099         * tests/test-safe-alloc.c: Likewise.
32100         * tests/test-utimens-common.h: Likewise.
32101         * tests/test-utimens.h: Likewise.
32102
32103         maint: sync license texts
32104         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
32105         * doc/gpl-3.0.texi: Revert copyright year update.
32106         * doc/lgpl-3.0.texi: Likewise.
32107
32108 2009-12-29  Jim Meyering  <meyering@redhat.com>
32109
32110         update nearly all FSF copyright year lists to include 2009
32111         The files named by the following are exempted:
32112             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
32113               test -f "$dst" && { echo "$dst"; continue; }
32114               test -d "$dst" || continue
32115               echo "$dst"/$(basename "$src")
32116             done > exempt
32117             git ls-files tests/unictype >> exempt
32118         In the remaining files, convert to all-interval notation if
32119         - there is already at least one year interval like 2000-2003
32120         - the file is maintained by me
32121         - the file is in lib/uni*/, where that style already prevails
32122         Otherwise, use update-copyright's default.
32123
32124 2009-12-29  Simon Josefsson  <simon@josefsson.org>
32125         and Eric Blake  <ebb9@byu.net>
32126
32127         tests: don't require debug system() to pass
32128         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
32129         * tests/test-rmdir.h (test_rmdir_func): Likewise.
32130         * tests/test-unlink.h (test_unlink_func): Likewise.
32131         * tests/test-fstatat.c (main): ...into callers.
32132         * tests/test-lstat.c (main): Likewise.
32133         * tests/test-rmdir.c (main): Likewise.
32134         * tests/test-unlink.c (main): Likewise.
32135         * tests/test-unlinkat.c (main): Likewise.
32136         * tests/test-areadlink-with-size.c (main): Don't require a
32137         debug-only system call to pass, aiding cross-testing to mingw.
32138         * tests/test-areadlink.c (main): Likewise.
32139         * tests/test-areadlinkat-with-size.c (main): Likewise.
32140         * tests/test-areadlinkat.c (main): Likewise.
32141         * tests/test-canonicalize-lgpl.c (main): Likewise.
32142         * tests/test-canonicalize.c (main): Likewise.
32143         * tests/test-chown.c (main): Likewise.
32144         * tests/test-fchownat.c (main): Likewise.
32145         * tests/test-lchown.c (main): Likewise.
32146         * tests/test-fdutimensat.c (main): Likewise.
32147         * tests/test-futimens.c (main): Likewise.
32148         * tests/test-link.c (main): Likewise.
32149         * tests/test-linkat.c (main): Likewise.
32150         * tests/test-mkdir.c (main): Likewise.
32151         * tests/test-mkdirat.c (main): Likewise.
32152         * tests/test-mkfifo.c (main): Likewise.
32153         * tests/test-mkfifoat.c (main): Likewise.
32154         * tests/test-mknod.c (main): Likewise.
32155         * tests/test-readlink.c (main): Likewise.
32156         * tests/test-remove.c (main): Likewise.
32157         * tests/test-rename.c (main): Likewise.
32158         * tests/test-renameat.c (main): Likewise.
32159         * tests/test-symlink.c (main): Likewise.
32160         * tests/test-symlinkat.c (main): Likewise.
32161         * tests/test-utimens.c (main): Likewise.
32162         * tests/test-utimensat.c (main): Likewise.
32163
32164 2009-12-29  Simon Josefsson  <simon@josefsson.org>
32165
32166         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
32167         on $(UNUSED_PARAMETER_H) to avoid build failure.
32168
32169 2009-12-28  Jim Meyering  <meyering@redhat.com>
32170
32171         update-copyright: you may specify a max. line length other than 72
32172         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
32173
32174         maint: use consistent FSF copyright line syntax
32175         * lib/posixtm.c: Add missing comma in FSF copyright line.
32176         * lib/posixtm.h: Likewise.
32177         * lib/getugroups.c: Add missing ", Inc.".
32178
32179         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
32180         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
32181         FSF copyright line.  Remove trailing blanks.
32182
32183 2009-12-28  Eric Blake  <ebb9@byu.net>
32184
32185         test-dup2: reduce dependencies
32186         * modules/cloexec (Configure.ac): Set witness.
32187         * modules/dup2-tests (Depends-on): Drop cloexec.
32188         * tests/test-dup2.c (main): Skip portion of test if cloexec module
32189         not present.
32190         Suggested by Bruno Haible.
32191
32192 2009-12-26  Bruno Haible  <bruno@clisp.org>
32193
32194         Remove an unneeded dependency.
32195         * modules/fseterr (Depends-on): Remove dup2.
32196
32197 2009-12-26  Eric Blake  <ebb9@byu.net>
32198
32199         tests: use macros.h in more places
32200         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
32201         (ASSERT_STREAM): Provide default of stderr.
32202         * tests/test-dirent-safer.c: Include macros.h, using alternate
32203         stream for assertions.
32204         * tests/test-dup-safer.c: Likewise.
32205         * tests/test-freopen-safer.c: Likewise.
32206         * tests/test-getopt.c: Likewise.
32207         * tests/test-openat-safer.c: Likewise.
32208         * tests/test-pipe.c: Likewise.
32209         * tests/test-popen-safer.c: Likewise.
32210         * modules/dirent-safer-tests (Files): Include macros.h.
32211         * modules/unistd-safer-tests (Files): Likewise.
32212         * modules/freopen-safer-tests (Files): Likewise.
32213         * modules/getopt-posix-tests (Files): Likewise.
32214         * modules/openat-safer-tests (Files): Likewise.
32215         * modules/pipe-tests (Files): Likewise.
32216
32217 2009-12-26  Bruno Haible  <bruno@clisp.org>
32218
32219         javacomp: Portability fix.
32220         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
32221         that it also works on Solaris.
32222
32223 2009-12-26  Bruno Haible  <bruno@clisp.org>
32224
32225         localename: Fix storage allocation of gl_locale_name_thread's result.
32226         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
32227         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
32228         all platforms that have 'uselocale'.
32229         (gl_locale_name_thread_unsafe): New function, extracted from
32230         gl_locale_name_thread.
32231         (gl_locale_name_thread): Call struniq on all platforms that have
32232         'uselocale'.
32233         * tests/test-localename.c (test_locale_name_thread): Check that the
32234         resulting strings are permanently allocated.
32235         * modules/localename-tests (Depends-on): Add strdup.
32236
32237 2009-12-26  Bruno Haible  <bruno@clisp.org>
32238
32239         * tests/test-localename.c (categories): Fill in the strings.
32240
32241 2009-12-26  Jim Meyering  <meyering@redhat.com>
32242
32243         isdir: complete the removal of m4/isdir.m4
32244         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
32245
32246         isdir: clean up, since at least grep still uses it
32247         * lib/isdir.c: Include "isdir.h".
32248         (S_ISDIR): Remove now-unneeded definition.
32249         * modules/isdir (Files): Add lib/isdir.h.
32250         * lib/isdir.h: New file, with declaration.
32251         * m4/isdir.m4: Remove file -- unneeded.
32252
32253 2009-12-25  Bruno Haible  <bruno@clisp.org>
32254
32255         selinux-h: Make generated .h files standalone.
32256         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
32257         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
32258         * lib/se-selinux.in.h: Likewise.
32259         * modules/selinux-h (Depends-on): Add unused-parameter.
32260         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
32261         selinux/selinux.h and selinux/context.h.
32262         Suggested by Eric Blake.
32263
32264 2009-12-25  Bruno Haible  <bruno@clisp.org>
32265
32266         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
32267         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
32268         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
32269         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
32270         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
32271
32272 2009-12-24  Bruno Haible  <bruno@clisp.org>
32273
32274         openat: Fix warning.
32275         * lib/openat-proc.c: Include <unistd.h>.
32276
32277 2009-12-24  Bruno Haible  <bruno@clisp.org>
32278
32279         New module 'unused-parameter'.
32280         * build-aux/unused-parameter.h: New file, extracted from earlier
32281         gnulib-common.m4.
32282         * modules/unused-parameter: New file.
32283         * lib/unistr.h: Include unused-parameter.h.
32284         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
32285         _GL_UNUSED.
32286         * modules/unistr/base (Depends-on): Add unused-parameter.
32287
32288 2009-12-24  Bruno Haible  <bruno@clisp.org>
32289
32290         Add missing dependencies to 'extensions' module.
32291         * m4/extensions.m4: Add comment.
32292         * modules/accept4 (Depends-on): Add extensions.
32293         * modules/dup3 (Depends-on): Likewise.
32294         * modules/fcntl (Depends-on): Likewise.
32295         * modules/futimens (Depends-on): Likewise.
32296         * modules/mknod (Depends-on): Likewise.
32297         * modules/pipe2 (Depends-on): Likewise.
32298         * modules/stat-time (Depends-on): Likewise.
32299         * modules/strcasestr-simple (Depends-on): Likewise.
32300         * modules/strsignal (Depends-on): Likewise.
32301         * modules/utimensat (Depends-on): Likewise.
32302         * modules/localcharset (Depends-on): Likewise. Needed because of
32303         gl_FCNTL_O_FLAGS.
32304         * modules/wcrtomb (Depends-on): Likewise. Needed because of
32305         AC_TYPE_MBSTATE_T.
32306         * modules/wcsnrtombs (Depends-on): Likewise.
32307         * modules/wcsrtombs (Depends-on): Likewise.
32308
32309 2009-12-24  Bruno Haible  <bruno@clisp.org>
32310
32311         binary-io: Avoid gcc warning due to SET_BINARY.
32312         * lib/binary-io.h (SET_BINARY): Cast the result to void.
32313         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
32314
32315 2009-12-24  Bruno Haible  <bruno@clisp.org>
32316
32317         Avoid future namespace pollution on glibc systems.
32318         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
32319         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
32320         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
32321         glibc systems.
32322
32323 2009-12-24  Bruno Haible  <bruno@clisp.org>
32324
32325         Refactor common macros used in tests.
32326         * tests/macros.h: New file.
32327         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
32328         and/or <stdlib.h>, if appropriate.
32329         (ASSERT, SIZEOF): Remove macros.
32330         * tests/test-areadlink-with-size.c: Likewise.
32331         * tests/test-areadlinkat.c: Likewise.
32332         * tests/test-areadlinkat-with-size.c: Likewise.
32333         * tests/test-argmatch.c: Likewise.
32334         * tests/test-argv-iter.c: Likewise.
32335         * tests/test-array-mergesort.c: Likewise.
32336         * tests/test-array_list.c: Likewise.
32337         * tests/test-array_oset.c: Likewise.
32338         * tests/test-avltree_list.c: Likewise.
32339         * tests/test-avltree_oset.c: Likewise.
32340         * tests/test-avltreehash_list.c: Likewise.
32341         * tests/test-base64.c: Likewise.
32342         * tests/test-binary-io.c: Likewise.
32343         * tests/test-bitrotate.c: Likewise.
32344         * tests/test-btowc.c: Likewise.
32345         * tests/test-byteswap.c: Likewise.
32346         * tests/test-c-ctype.c: Likewise.
32347         * tests/test-c-stack.c: Likewise.
32348         * tests/test-c-strcasecmp.c: Likewise.
32349         * tests/test-c-strcasestr.c: Likewise.
32350         * tests/test-c-strncasecmp.c: Likewise.
32351         * tests/test-c-strstr.c: Likewise.
32352         * tests/test-canonicalize-lgpl.c: Likewise.
32353         * tests/test-canonicalize.c: Likewise.
32354         * tests/test-carray_list.c: Likewise.
32355         * tests/test-ceilf1.c: Likewise.
32356         * tests/test-ceilf2.c: Likewise.
32357         * tests/test-ceill.c: Likewise.
32358         * tests/test-chown.c: Likewise.
32359         * tests/test-cloexec.c: Likewise.
32360         * tests/test-copy-acl.c: Likewise.
32361         * tests/test-copy-file.c: Likewise.
32362         * tests/test-count-one-bits.c: Likewise.
32363         * tests/test-dprintf-posix.c: Likewise.
32364         * tests/test-dup2.c: Likewise.
32365         * tests/test-dup3.c: Likewise.
32366         * tests/test-duplocale.c: Likewise.
32367         * tests/test-fbufmode.c: Likewise.
32368         * tests/test-fchdir.c: Likewise.
32369         * tests/test-fchownat.c: Likewise.
32370         * tests/test-fcntl-safer.c: Likewise.
32371         * tests/test-fcntl.c: Likewise.
32372         * tests/test-fdopendir.c: Likewise.
32373         * tests/test-fdutimensat.c: Likewise.
32374         * tests/test-fflush2.c: Likewise.
32375         * tests/test-file-has-acl.c: Likewise.
32376         * tests/test-filevercmp.c: Likewise.
32377         * tests/test-flock.c: Likewise.
32378         * tests/test-floorf1.c: Likewise.
32379         * tests/test-floorf2.c: Likewise.
32380         * tests/test-floorl.c: Likewise.
32381         * tests/test-fnmatch.c: Likewise.
32382         * tests/test-fopen.h: Likewise.
32383         * tests/test-fpending.c: Likewise.
32384         * tests/test-fprintf-posix.c: Likewise.
32385         * tests/test-fpurge.c: Likewise.
32386         * tests/test-freadable.c: Likewise.
32387         * tests/test-freadahead.c: Likewise.
32388         * tests/test-freading.c: Likewise.
32389         * tests/test-freadptr.c: Likewise.
32390         * tests/test-freadptr2.c: Likewise.
32391         * tests/test-freadseek.c: Likewise.
32392         * tests/test-freopen.c: Likewise.
32393         * tests/test-frexp.c: Likewise.
32394         * tests/test-frexpl.c: Likewise.
32395         * tests/test-fseek.c: Likewise.
32396         * tests/test-fseeko.c: Likewise.
32397         * tests/test-fstatat.c: Likewise.
32398         * tests/test-fstrcmp.c: Likewise.
32399         * tests/test-fsync.c: Likewise.
32400         * tests/test-ftell.c: Likewise.
32401         * tests/test-ftello.c: Likewise.
32402         * tests/test-func.c: Likewise.
32403         * tests/test-futimens.c: Likewise.
32404         * tests/test-fwritable.c: Likewise.
32405         * tests/test-fwriting.c: Likewise.
32406         * tests/test-getcwd.c: Likewise.
32407         * tests/test-getdate.c: Likewise.
32408         * tests/test-getdelim.c: Likewise.
32409         * tests/test-getdtablesize.c: Likewise.
32410         * tests/test-getgroups.c: Likewise.
32411         * tests/test-getline.c: Likewise.
32412         * tests/test-getndelim2.c: Likewise.
32413         * tests/test-glob.c: Likewise.
32414         * tests/test-hash.c: Likewise.
32415         * tests/test-i-ring.c: Likewise.
32416         * tests/test-iconv-utf.c: Likewise.
32417         * tests/test-iconv.c: Likewise.
32418         * tests/test-idpriv-drop.c: Likewise.
32419         * tests/test-idpriv-droptemp.c: Likewise.
32420         * tests/test-inet_ntop.c: Likewise.
32421         * tests/test-inet_pton.c: Likewise.
32422         * tests/test-isblank.c: Likewise.
32423         * tests/test-isfinite.c: Likewise.
32424         * tests/test-isinf.c: Likewise.
32425         * tests/test-isnan.c: Likewise.
32426         * tests/test-isnand.h: Likewise.
32427         * tests/test-isnanf.h: Likewise.
32428         * tests/test-isnanl.h: Likewise.
32429         * tests/test-lchown.c: Likewise.
32430         * tests/test-ldexpl.c: Likewise.
32431         * tests/test-link.c: Likewise.
32432         * tests/test-linkat.c: Likewise.
32433         * tests/test-linked_list.c: Likewise.
32434         * tests/test-linkedhash_list.c: Likewise.
32435         * tests/test-localename.c: Likewise.
32436         * tests/test-lseek.c: Likewise.
32437         * tests/test-lstat.c: Likewise.
32438         * tests/test-mbmemcasecmp.c: Likewise.
32439         * tests/test-mbmemcasecoll.c: Likewise.
32440         * tests/test-mbrtowc.c: Likewise.
32441         * tests/test-mbscasecmp.c: Likewise.
32442         * tests/test-mbscasestr1.c: Likewise.
32443         * tests/test-mbscasestr2.c: Likewise.
32444         * tests/test-mbscasestr3.c: Likewise.
32445         * tests/test-mbscasestr4.c: Likewise.
32446         * tests/test-mbschr.c: Likewise.
32447         * tests/test-mbscspn.c: Likewise.
32448         * tests/test-mbsinit.c: Likewise.
32449         * tests/test-mbsncasecmp.c: Likewise.
32450         * tests/test-mbsnrtowcs.c: Likewise.
32451         * tests/test-mbspbrk.c: Likewise.
32452         * tests/test-mbspcasecmp.c: Likewise.
32453         * tests/test-mbsrchr.c: Likewise.
32454         * tests/test-mbsrtowcs.c: Likewise.
32455         * tests/test-mbsspn.c: Likewise.
32456         * tests/test-mbsstr1.c: Likewise.
32457         * tests/test-mbsstr2.c: Likewise.
32458         * tests/test-mbsstr3.c: Likewise.
32459         * tests/test-memchr.c: Likewise.
32460         * tests/test-memchr2.c: Likewise.
32461         * tests/test-memcmp.c: Likewise.
32462         * tests/test-memmem.c: Likewise.
32463         * tests/test-memrchr.c: Likewise.
32464         * tests/test-mkdir.c: Likewise.
32465         * tests/test-mkdirat.c: Likewise.
32466         * tests/test-mkfifo.c: Likewise.
32467         * tests/test-mkfifoat.c: Likewise.
32468         * tests/test-mknod.c: Likewise.
32469         * tests/test-nanosleep.c: Likewise.
32470         * tests/test-nl_langinfo.c: Likewise.
32471         * tests/test-obstack-printf.c: Likewise.
32472         * tests/test-open.c: Likewise.
32473         * tests/test-openat.c: Likewise.
32474         * tests/test-pipe-filter-gi1.c: Likewise.
32475         * tests/test-pipe-filter-gi2-main.c: Likewise.
32476         * tests/test-pipe-filter-ii1.c: Likewise.
32477         * tests/test-pipe-filter-ii2-main.c: Likewise.
32478         * tests/test-pipe2.c: Likewise.
32479         * tests/test-popen.h: Likewise.
32480         * tests/test-posixtm.c: Likewise.
32481         * tests/test-pread.c: Likewise.
32482         * tests/test-printf-frexp.c: Likewise.
32483         * tests/test-printf-frexpl.c: Likewise.
32484         * tests/test-printf-posix.c: Likewise.
32485         * tests/test-priv-set.c: Likewise.
32486         * tests/test-quotearg.c: Likewise.
32487         * tests/test-random_r.c: Likewise.
32488         * tests/test-rawmemchr.c: Likewise.
32489         * tests/test-rbtree_list.c: Likewise.
32490         * tests/test-rbtree_oset.c: Likewise.
32491         * tests/test-rbtreehash_list.c: Likewise.
32492         * tests/test-readlink.c: Likewise.
32493         * tests/test-remove.c: Likewise.
32494         * tests/test-rename.c: Likewise.
32495         * tests/test-renameat.c: Likewise.
32496         * tests/test-rmdir.c: Likewise.
32497         * tests/test-round1.c: Likewise.
32498         * tests/test-roundf1.c: Likewise.
32499         * tests/test-roundl.c: Likewise.
32500         * tests/test-safe-alloc.c: Likewise.
32501         * tests/test-sameacls.c: Likewise.
32502         * tests/test-set-mode-acl.c: Likewise.
32503         * tests/test-setenv.c: Likewise.
32504         * tests/test-sigaction.c: Likewise.
32505         * tests/test-signbit.c: Likewise.
32506         * tests/test-sleep.c: Likewise.
32507         * tests/test-snprintf-posix.c: Likewise.
32508         * tests/test-snprintf.c: Likewise.
32509         * tests/test-sprintf-posix.c: Likewise.
32510         * tests/test-stat-time.c: Likewise.
32511         * tests/test-stat.c: Likewise.
32512         * tests/test-strcasestr.c: Likewise.
32513         * tests/test-strchrnul.c: Likewise.
32514         * tests/test-strerror.c: Likewise.
32515         * tests/test-striconv.c: Likewise.
32516         * tests/test-striconveh.c: Likewise.
32517         * tests/test-striconveha.c: Likewise.
32518         * tests/test-strsignal.c: Likewise.
32519         * tests/test-strstr.c: Likewise.
32520         * tests/test-strtod.c: Likewise.
32521         * tests/test-strverscmp.c: Likewise.
32522         * tests/test-symlink.c: Likewise.
32523         * tests/test-symlinkat.c: Likewise.
32524         * tests/test-trunc1.c: Likewise.
32525         * tests/test-trunc2.c: Likewise.
32526         * tests/test-truncf1.c: Likewise.
32527         * tests/test-truncf2.c: Likewise.
32528         * tests/test-truncl.c: Likewise.
32529         * tests/test-uname.c: Likewise.
32530         * tests/test-unlink.c: Likewise.
32531         * tests/test-unlinkat.c: Likewise.
32532         * tests/test-unsetenv.c: Likewise.
32533         * tests/test-usleep.c: Likewise.
32534         * tests/test-utimens.c: Likewise.
32535         * tests/test-utimensat.c: Likewise.
32536         * tests/test-vasnprintf-posix.c: Likewise.
32537         * tests/test-vasnprintf-posix2.c: Likewise.
32538         * tests/test-vasnprintf.c: Likewise.
32539         * tests/test-vasprintf-posix.c: Likewise.
32540         * tests/test-vasprintf.c: Likewise.
32541         * tests/test-vdprintf-posix.c: Likewise.
32542         * tests/test-vfprintf-posix.c: Likewise.
32543         * tests/test-vprintf-posix.c: Likewise.
32544         * tests/test-vsnprintf-posix.c: Likewise.
32545         * tests/test-vsnprintf.c: Likewise.
32546         * tests/test-vsprintf-posix.c: Likewise.
32547         * tests/test-wcrtomb.c: Likewise.
32548         * tests/test-wcsnrtombs.c: Likewise.
32549         * tests/test-wcsrtombs.c: Likewise.
32550         * tests/test-wctype.c: Likewise.
32551         * tests/test-wcwidth.c: Likewise.
32552         * tests/test-xfprintf-posix.c: Likewise.
32553         * tests/test-xmemdup0.c: Likewise.
32554         * tests/test-xprintf-posix.c: Likewise.
32555         * tests/test-xvasprintf.c: Likewise.
32556         * tests/unicase/test-locale-language.c: Likewise.
32557         * tests/unicase/test-mapping-part1.h: Likewise.
32558         * tests/unicase/test-predicate-part1.h: Likewise.
32559         * tests/unicase/test-u8-casecmp.c: Likewise.
32560         * tests/unicase/test-u8-casecoll.c: Likewise.
32561         * tests/unicase/test-u8-casefold.c: Likewise.
32562         * tests/unicase/test-u8-is-cased.c: Likewise.
32563         * tests/unicase/test-u8-is-casefolded.c: Likewise.
32564         * tests/unicase/test-u8-is-lowercase.c: Likewise.
32565         * tests/unicase/test-u8-is-titlecase.c: Likewise.
32566         * tests/unicase/test-u8-is-uppercase.c: Likewise.
32567         * tests/unicase/test-u8-tolower.c: Likewise.
32568         * tests/unicase/test-u8-totitle.c: Likewise.
32569         * tests/unicase/test-u8-toupper.c: Likewise.
32570         * tests/unicase/test-u16-casecmp.c: Likewise.
32571         * tests/unicase/test-u16-casecoll.c: Likewise.
32572         * tests/unicase/test-u16-casefold.c: Likewise.
32573         * tests/unicase/test-u16-is-cased.c: Likewise.
32574         * tests/unicase/test-u16-is-casefolded.c: Likewise.
32575         * tests/unicase/test-u16-is-lowercase.c: Likewise.
32576         * tests/unicase/test-u16-is-titlecase.c: Likewise.
32577         * tests/unicase/test-u16-is-uppercase.c: Likewise.
32578         * tests/unicase/test-u16-tolower.c: Likewise.
32579         * tests/unicase/test-u16-totitle.c: Likewise.
32580         * tests/unicase/test-u16-toupper.c: Likewise.
32581         * tests/unicase/test-u32-casecmp.c: Likewise.
32582         * tests/unicase/test-u32-casecoll.c: Likewise.
32583         * tests/unicase/test-u32-casefold.c: Likewise.
32584         * tests/unicase/test-u32-is-cased.c: Likewise.
32585         * tests/unicase/test-u32-is-casefolded.c: Likewise.
32586         * tests/unicase/test-u32-is-lowercase.c: Likewise.
32587         * tests/unicase/test-u32-is-titlecase.c: Likewise.
32588         * tests/unicase/test-u32-is-uppercase.c: Likewise.
32589         * tests/unicase/test-u32-tolower.c: Likewise.
32590         * tests/unicase/test-u32-totitle.c: Likewise.
32591         * tests/unicase/test-u32-toupper.c: Likewise.
32592         * tests/unicase/test-ulc-casecmp.c: Likewise.
32593         * tests/unicase/test-ulc-casecoll.c: Likewise.
32594         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
32595         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
32596         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
32597         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
32598         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
32599         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
32600         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
32601         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
32602         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
32603         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
32604         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
32605         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
32606         * tests/unictype/test-bidi_byname.c: Likewise.
32607         * tests/unictype/test-bidi_name.c: Likewise.
32608         * tests/unictype/test-bidi_of.c: Likewise.
32609         * tests/unictype/test-bidi_test.c: Likewise.
32610         * tests/unictype/test-block_list.c: Likewise.
32611         * tests/unictype/test-block_of.c: Likewise.
32612         * tests/unictype/test-block_test.c: Likewise.
32613         * tests/unictype/test-categ_and.c: Likewise.
32614         * tests/unictype/test-categ_and_not.c: Likewise.
32615         * tests/unictype/test-categ_byname.c: Likewise.
32616         * tests/unictype/test-categ_name.c: Likewise.
32617         * tests/unictype/test-categ_none.c: Likewise.
32618         * tests/unictype/test-categ_of.c: Likewise.
32619         * tests/unictype/test-categ_or.c: Likewise.
32620         * tests/unictype/test-categ_test_withtable.c: Likewise.
32621         * tests/unictype/test-combining.c: Likewise.
32622         * tests/unictype/test-decdigit.c: Likewise.
32623         * tests/unictype/test-digit.c: Likewise.
32624         * tests/unictype/test-mirror.c: Likewise.
32625         * tests/unictype/test-numeric.c: Likewise.
32626         * tests/unictype/test-pr_byname.c: Likewise.
32627         * tests/unictype/test-pr_test.c: Likewise.
32628         * tests/unictype/test-predicate-part1.h: Likewise.
32629         * tests/unictype/test-scripts.c: Likewise.
32630         * tests/unictype/test-sy_c_ident.c: Likewise.
32631         * tests/unictype/test-sy_java_ident.c: Likewise.
32632         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
32633         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
32634         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
32635         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
32636         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
32637         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
32638         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
32639         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
32640         * tests/uninorm/test-canonical-decomposition.c: Likewise.
32641         * tests/uninorm/test-compat-decomposition.c: Likewise.
32642         * tests/uninorm/test-composition.c: Likewise.
32643         * tests/uninorm/test-decomposing-form.c: Likewise.
32644         * tests/uninorm/test-decomposition.c: Likewise.
32645         * tests/uninorm/test-u8-nfc.c: Likewise.
32646         * tests/uninorm/test-u8-nfd.c: Likewise.
32647         * tests/uninorm/test-u8-nfkc.c: Likewise.
32648         * tests/uninorm/test-u8-nfkd.c: Likewise.
32649         * tests/uninorm/test-u8-normcmp.c: Likewise.
32650         * tests/uninorm/test-u8-normcoll.c: Likewise.
32651         * tests/uninorm/test-u16-nfc.c: Likewise.
32652         * tests/uninorm/test-u16-nfd.c: Likewise.
32653         * tests/uninorm/test-u16-nfkc.c: Likewise.
32654         * tests/uninorm/test-u16-nfkd.c: Likewise.
32655         * tests/uninorm/test-u16-normcmp.c: Likewise.
32656         * tests/uninorm/test-u16-normcoll.c: Likewise.
32657         * tests/uninorm/test-u32-nfc.c: Likewise.
32658         * tests/uninorm/test-u32-nfd.c: Likewise.
32659         * tests/uninorm/test-u32-nfkc.c: Likewise.
32660         * tests/uninorm/test-u32-nfkd.c: Likewise.
32661         * tests/uninorm/test-u32-normalize-big.c: Likewise.
32662         * tests/uninorm/test-u32-normcmp.c: Likewise.
32663         * tests/uninorm/test-u32-normcoll.c: Likewise.
32664         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
32665         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
32666         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
32667         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
32668         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
32669         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
32670         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
32671         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
32672         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
32673         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
32674         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
32675         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
32676         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
32677         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
32678         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
32679         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
32680         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
32681         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
32682         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
32683         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
32684         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
32685         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
32686         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
32687         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
32688         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
32689         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
32690         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
32691         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
32692         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
32693         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
32694         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
32695         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
32696         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
32697         * tests/uniwidth/test-u8-strwidth.c: Likewise.
32698         * tests/uniwidth/test-u8-width.c: Likewise.
32699         * tests/uniwidth/test-u16-strwidth.c: Likewise.
32700         * tests/uniwidth/test-u16-width.c: Likewise.
32701         * tests/uniwidth/test-u32-strwidth.c: Likewise.
32702         * tests/uniwidth/test-u32-width.c: Likewise.
32703         * tests/uniwidth/test-uc_width.c: Likewise.
32704         * tests/uniwidth/test-uc_width2.c: Likewise.
32705         * modules/acl-tests (Files): Add tests/macros.h.
32706         * modules/areadlink-tests (Files): Likewise.
32707         * modules/areadlink-with-size-tests (Files): Likewise.
32708         * modules/areadlinkat-tests (Files): Likewise.
32709         * modules/areadlinkat-with-size-tests (Files): Likewise.
32710         * modules/argmatch-tests (Files): Likewise.
32711         * modules/argv-iter-tests (Files): Likewise.
32712         * modules/array-list-tests (Files): Likewise.
32713         * modules/array-mergesort-tests (Files): Likewise.
32714         * modules/array-oset-tests (Files): Likewise.
32715         * modules/avltree-list-tests (Files): Likewise.
32716         * modules/avltree-oset-tests (Files): Likewise.
32717         * modules/avltreehash-list-tests (Files): Likewise.
32718         * modules/base64-tests (Files): Likewise.
32719         * modules/binary-io-tests (Files): Likewise.
32720         * modules/bitrotate-tests (Files): Likewise.
32721         * modules/btowc-tests (Files): Likewise.
32722         * modules/byteswap-tests (Files): Likewise.
32723         * modules/c-ctype-tests (Files): Likewise.
32724         * modules/c-stack-tests (Files): Likewise.
32725         * modules/c-strcase-tests (Files): Likewise.
32726         * modules/c-strcasestr-tests (Files): Likewise.
32727         * modules/c-strstr-tests (Files): Likewise.
32728         * modules/canonicalize-lgpl-tests (Files): Likewise.
32729         * modules/canonicalize-tests (Files): Likewise.
32730         * modules/carray-list-tests (Files): Likewise.
32731         * modules/ceilf-tests (Files): Likewise.
32732         * modules/ceill-tests (Files): Likewise.
32733         * modules/chown-tests (Files): Likewise.
32734         * modules/cloexec-tests (Files): Likewise.
32735         * modules/copy-file-tests (Files): Likewise.
32736         * modules/count-one-bits-tests (Files): Likewise.
32737         * modules/dprintf-posix-tests (Files): Likewise.
32738         * modules/dup2-tests (Files): Likewise.
32739         * modules/dup3-tests (Files): Likewise.
32740         * modules/duplocale-tests (Files): Likewise.
32741         * modules/fbufmode-tests (Files): Likewise.
32742         * modules/fchdir-tests (Files): Likewise.
32743         * modules/fcntl-safer-tests (Files): Likewise.
32744         * modules/fcntl-tests (Files): Likewise.
32745         * modules/fdopendir-tests (Files): Likewise.
32746         * modules/fdutimensat-tests (Files): Likewise.
32747         * modules/fflush-tests (Files): Likewise.
32748         * modules/filevercmp-tests (Files): Likewise.
32749         * modules/flock-tests (Files): Likewise.
32750         * modules/floorf-tests (Files): Likewise.
32751         * modules/floorl-tests (Files): Likewise.
32752         * modules/fnmatch-tests (Files): Likewise.
32753         * modules/fopen-safer-tests (Files): Likewise.
32754         * modules/fopen-tests (Files): Likewise.
32755         * modules/fpending-tests (Files): Likewise.
32756         * modules/fprintf-posix-tests (Files): Likewise.
32757         * modules/fpurge-tests (Files): Likewise.
32758         * modules/freadable-tests (Files): Likewise.
32759         * modules/freadahead-tests (Files): Likewise.
32760         * modules/freading-tests (Files): Likewise.
32761         * modules/freadptr-tests (Files): Likewise.
32762         * modules/freadseek-tests (Files): Likewise.
32763         * modules/freopen-tests (Files): Likewise.
32764         * modules/frexp-nolibm-tests (Files): Likewise.
32765         * modules/frexp-tests (Files): Likewise.
32766         * modules/frexpl-nolibm-tests (Files): Likewise.
32767         * modules/frexpl-tests (Files): Likewise.
32768         * modules/fseek-tests (Files): Likewise.
32769         * modules/fseeko-tests (Files): Likewise.
32770         * modules/fstrcmp-tests (Files): Likewise.
32771         * modules/fsync-tests (Files): Likewise.
32772         * modules/ftell-tests (Files): Likewise.
32773         * modules/ftello-tests (Files): Likewise.
32774         * modules/func-tests (Files): Likewise.
32775         * modules/futimens-tests (Files): Likewise.
32776         * modules/fwritable-tests (Files): Likewise.
32777         * modules/fwriting-tests (Files): Likewise.
32778         * modules/getcwd-tests (Files): Likewise.
32779         * modules/getdate-tests (Files): Likewise.
32780         * modules/getdelim-tests (Files): Likewise.
32781         * modules/getdtablesize-tests (Files): Likewise.
32782         * modules/getgroups-tests (Files): Likewise.
32783         * modules/getline-tests (Files): Likewise.
32784         * modules/getndelim2-tests (Files): Likewise.
32785         * modules/glob-tests (Files): Likewise.
32786         * modules/hash-tests (Files): Likewise.
32787         * modules/i-ring-tests (Files): Likewise.
32788         * modules/iconv-tests (Files): Likewise.
32789         * modules/iconv_open-utf-tests (Files): Likewise.
32790         * modules/idpriv-drop-tests (Files): Likewise.
32791         * modules/idpriv-droptemp-tests (Files): Likewise.
32792         * modules/inet_ntop-tests (Files): Likewise.
32793         * modules/inet_pton-tests (Files): Likewise.
32794         * modules/isblank-tests (Files): Likewise.
32795         * modules/isfinite-tests (Files): Likewise.
32796         * modules/isinf-tests (Files): Likewise.
32797         * modules/isnan-tests (Files): Likewise.
32798         * modules/isnand-nolibm-tests (Files): Likewise.
32799         * modules/isnand-tests (Files): Likewise.
32800         * modules/isnanf-nolibm-tests (Files): Likewise.
32801         * modules/isnanf-tests (Files): Likewise.
32802         * modules/isnanl-nolibm-tests (Files): Likewise.
32803         * modules/isnanl-tests (Files): Likewise.
32804         * modules/lchown-tests (Files): Likewise.
32805         * modules/ldexpl-tests (Files): Likewise.
32806         * modules/link-tests (Files): Likewise.
32807         * modules/linkat-tests (Files): Likewise.
32808         * modules/linked-list-tests (Files): Likewise.
32809         * modules/linkedhash-list-tests (Files): Likewise.
32810         * modules/localename-tests (Files): Likewise.
32811         * modules/lseek-tests (Files): Likewise.
32812         * modules/lstat-tests (Files): Likewise.
32813         * modules/mbmemcasecmp-tests (Files): Likewise.
32814         * modules/mbmemcasecoll-tests (Files): Likewise.
32815         * modules/mbrtowc-tests (Files): Likewise.
32816         * modules/mbscasecmp-tests (Files): Likewise.
32817         * modules/mbscasestr-tests (Files): Likewise.
32818         * modules/mbschr-tests (Files): Likewise.
32819         * modules/mbscspn-tests (Files): Likewise.
32820         * modules/mbsinit-tests (Files): Likewise.
32821         * modules/mbsncasecmp-tests (Files): Likewise.
32822         * modules/mbsnrtowcs-tests (Files): Likewise.
32823         * modules/mbspbrk-tests (Files): Likewise.
32824         * modules/mbspcasecmp-tests (Files): Likewise.
32825         * modules/mbsrchr-tests (Files): Likewise.
32826         * modules/mbsrtowcs-tests (Files): Likewise.
32827         * modules/mbsspn-tests (Files): Likewise.
32828         * modules/mbsstr-tests (Files): Likewise.
32829         * modules/memchr-tests (Files): Likewise.
32830         * modules/memchr2-tests (Files): Likewise.
32831         * modules/memcmp-tests (Files): Likewise.
32832         * modules/memmem-tests (Files): Likewise.
32833         * modules/memrchr-tests (Files): Likewise.
32834         * modules/mkdir-tests (Files): Likewise.
32835         * modules/mkfifo-tests (Files): Likewise.
32836         * modules/mkfifoat-tests (Files): Likewise.
32837         * modules/mknod-tests (Files): Likewise.
32838         * modules/nanosleep-tests (Files): Likewise.
32839         * modules/nl_langinfo-tests (Files): Likewise.
32840         * modules/obstack-printf-tests (Files): Likewise.
32841         * modules/open-tests (Files): Likewise.
32842         * modules/openat-tests (Files): Likewise.
32843         * modules/pipe-filter-gi-tests (Files): Likewise.
32844         * modules/pipe-filter-ii-tests (Files): Likewise.
32845         * modules/pipe2-tests (Files): Likewise.
32846         * modules/popen-safer-tests (Files): Likewise.
32847         * modules/popen-tests (Files): Likewise.
32848         * modules/posixtm-tests (Files): Likewise.
32849         * modules/pread-tests (Files): Likewise.
32850         * modules/printf-frexp-tests (Files): Likewise.
32851         * modules/printf-frexpl-tests (Files): Likewise.
32852         * modules/printf-posix-tests (Files): Likewise.
32853         * modules/priv-set-tests (Files): Likewise.
32854         * modules/quotearg-tests (Files): Likewise.
32855         * modules/random_r-tests (Files): Likewise.
32856         * modules/rawmemchr-tests (Files): Likewise.
32857         * modules/rbtree-list-tests (Files): Likewise.
32858         * modules/rbtree-oset-tests (Files): Likewise.
32859         * modules/rbtreehash-list-tests (Files): Likewise.
32860         * modules/readlink-tests (Files): Likewise.
32861         * modules/remove-tests (Files): Likewise.
32862         * modules/rename-tests (Files): Likewise.
32863         * modules/renameat-tests (Files): Likewise.
32864         * modules/rmdir-tests (Files): Likewise.
32865         * modules/round-tests (Files): Likewise.
32866         * modules/roundf-tests (Files): Likewise.
32867         * modules/roundl-tests (Files): Likewise.
32868         * modules/safe-alloc-tests (Files): Likewise.
32869         * modules/setenv-tests (Files): Likewise.
32870         * modules/sigaction-tests (Files): Likewise.
32871         * modules/signbit-tests (Files): Likewise.
32872         * modules/sleep-tests (Files): Likewise.
32873         * modules/snprintf-posix-tests (Files): Likewise.
32874         * modules/snprintf-tests (Files): Likewise.
32875         * modules/sprintf-posix-tests (Files): Likewise.
32876         * modules/stat-tests (Files): Likewise.
32877         * modules/stat-time-tests (Files): Likewise.
32878         * modules/strcasestr-tests (Files): Likewise.
32879         * modules/strchrnul-tests (Files): Likewise.
32880         * modules/strerror-tests (Files): Likewise.
32881         * modules/striconv-tests (Files): Likewise.
32882         * modules/striconveh-tests (Files): Likewise.
32883         * modules/striconveha-tests (Files): Likewise.
32884         * modules/strsignal-tests (Files): Likewise.
32885         * modules/strstr-tests (Files): Likewise.
32886         * modules/strtod-tests (Files): Likewise.
32887         * modules/strverscmp-tests (Files): Likewise.
32888         * modules/symlink-tests (Files): Likewise.
32889         * modules/symlinkat-tests (Files): Likewise.
32890         * modules/trunc-tests (Files): Likewise.
32891         * modules/truncf-tests (Files): Likewise.
32892         * modules/truncl-tests (Files): Likewise.
32893         * modules/uname-tests (Files): Likewise.
32894         * modules/unicase/cased-tests (Files): Likewise.
32895         * modules/unicase/ignorable-tests (Files): Likewise.
32896         * modules/unicase/locale-language-tests (Files): Likewise.
32897         * modules/unicase/tolower-tests (Files): Likewise.
32898         * modules/unicase/totitle-tests (Files): Likewise.
32899         * modules/unicase/toupper-tests (Files): Likewise.
32900         * modules/unicase/u8-casecmp-tests (Files): Likewise.
32901         * modules/unicase/u8-casecoll-tests (Files): Likewise.
32902         * modules/unicase/u8-casefold-tests (Files): Likewise.
32903         * modules/unicase/u8-is-cased-tests (Files): Likewise.
32904         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
32905         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
32906         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
32907         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
32908         * modules/unicase/u8-tolower-tests (Files): Likewise.
32909         * modules/unicase/u8-totitle-tests (Files): Likewise.
32910         * modules/unicase/u8-toupper-tests (Files): Likewise.
32911         * modules/unicase/u16-casecmp-tests (Files): Likewise.
32912         * modules/unicase/u16-casecoll-tests (Files): Likewise.
32913         * modules/unicase/u16-casefold-tests (Files): Likewise.
32914         * modules/unicase/u16-is-cased-tests (Files): Likewise.
32915         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
32916         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
32917         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
32918         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
32919         * modules/unicase/u16-tolower-tests (Files): Likewise.
32920         * modules/unicase/u16-totitle-tests (Files): Likewise.
32921         * modules/unicase/u16-toupper-tests (Files): Likewise.
32922         * modules/unicase/u32-casecmp-tests (Files): Likewise.
32923         * modules/unicase/u32-casecoll-tests (Files): Likewise.
32924         * modules/unicase/u32-casefold-tests (Files): Likewise.
32925         * modules/unicase/u32-is-cased-tests (Files): Likewise.
32926         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
32927         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
32928         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
32929         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
32930         * modules/unicase/u32-tolower-tests (Files): Likewise.
32931         * modules/unicase/u32-totitle-tests (Files): Likewise.
32932         * modules/unicase/u32-toupper-tests (Files): Likewise.
32933         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
32934         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
32935         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
32936         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
32937         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
32938         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
32939         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
32940         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
32941         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
32942         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
32943         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
32944         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
32945         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
32946         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
32947         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
32948         * modules/unictype/bidicategory-name-tests (Files): Likewise.
32949         * modules/unictype/bidicategory-of-tests (Files): Likewise.
32950         * modules/unictype/bidicategory-test-tests (Files): Likewise.
32951         * modules/unictype/block-list-tests (Files): Likewise.
32952         * modules/unictype/block-of-tests (Files): Likewise.
32953         * modules/unictype/block-test-tests (Files): Likewise.
32954         * modules/unictype/category-C-tests (Files): Likewise.
32955         * modules/unictype/category-Cc-tests (Files): Likewise.
32956         * modules/unictype/category-Cf-tests (Files): Likewise.
32957         * modules/unictype/category-Cn-tests (Files): Likewise.
32958         * modules/unictype/category-Co-tests (Files): Likewise.
32959         * modules/unictype/category-Cs-tests (Files): Likewise.
32960         * modules/unictype/category-L-tests (Files): Likewise.
32961         * modules/unictype/category-Ll-tests (Files): Likewise.
32962         * modules/unictype/category-Lm-tests (Files): Likewise.
32963         * modules/unictype/category-Lo-tests (Files): Likewise.
32964         * modules/unictype/category-Lt-tests (Files): Likewise.
32965         * modules/unictype/category-Lu-tests (Files): Likewise.
32966         * modules/unictype/category-M-tests (Files): Likewise.
32967         * modules/unictype/category-Mc-tests (Files): Likewise.
32968         * modules/unictype/category-Me-tests (Files): Likewise.
32969         * modules/unictype/category-Mn-tests (Files): Likewise.
32970         * modules/unictype/category-N-tests (Files): Likewise.
32971         * modules/unictype/category-Nd-tests (Files): Likewise.
32972         * modules/unictype/category-Nl-tests (Files): Likewise.
32973         * modules/unictype/category-No-tests (Files): Likewise.
32974         * modules/unictype/category-P-tests (Files): Likewise.
32975         * modules/unictype/category-Pc-tests (Files): Likewise.
32976         * modules/unictype/category-Pd-tests (Files): Likewise.
32977         * modules/unictype/category-Pe-tests (Files): Likewise.
32978         * modules/unictype/category-Pf-tests (Files): Likewise.
32979         * modules/unictype/category-Pi-tests (Files): Likewise.
32980         * modules/unictype/category-Po-tests (Files): Likewise.
32981         * modules/unictype/category-Ps-tests (Files): Likewise.
32982         * modules/unictype/category-S-tests (Files): Likewise.
32983         * modules/unictype/category-Sc-tests (Files): Likewise.
32984         * modules/unictype/category-Sk-tests (Files): Likewise.
32985         * modules/unictype/category-Sm-tests (Files): Likewise.
32986         * modules/unictype/category-So-tests (Files): Likewise.
32987         * modules/unictype/category-Z-tests (Files): Likewise.
32988         * modules/unictype/category-Zl-tests (Files): Likewise.
32989         * modules/unictype/category-Zp-tests (Files): Likewise.
32990         * modules/unictype/category-Zs-tests (Files): Likewise.
32991         * modules/unictype/category-and-not-tests (Files): Likewise.
32992         * modules/unictype/category-and-tests (Files): Likewise.
32993         * modules/unictype/category-byname-tests (Files): Likewise.
32994         * modules/unictype/category-name-tests (Files): Likewise.
32995         * modules/unictype/category-none-tests (Files): Likewise.
32996         * modules/unictype/category-of-tests (Files): Likewise.
32997         * modules/unictype/category-or-tests (Files): Likewise.
32998         * modules/unictype/category-test-withtable-tests (Files): Likewise.
32999         * modules/unictype/combining-class-tests (Files): Likewise.
33000         * modules/unictype/ctype-alnum-tests (Files): Likewise.
33001         * modules/unictype/ctype-alpha-tests (Files): Likewise.
33002         * modules/unictype/ctype-blank-tests (Files): Likewise.
33003         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
33004         * modules/unictype/ctype-digit-tests (Files): Likewise.
33005         * modules/unictype/ctype-graph-tests (Files): Likewise.
33006         * modules/unictype/ctype-lower-tests (Files): Likewise.
33007         * modules/unictype/ctype-print-tests (Files): Likewise.
33008         * modules/unictype/ctype-punct-tests (Files): Likewise.
33009         * modules/unictype/ctype-space-tests (Files): Likewise.
33010         * modules/unictype/ctype-upper-tests (Files): Likewise.
33011         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
33012         * modules/unictype/decimal-digit-tests (Files): Likewise.
33013         * modules/unictype/digit-tests (Files): Likewise.
33014         * modules/unictype/mirror-tests (Files): Likewise.
33015         * modules/unictype/numeric-tests (Files): Likewise.
33016         * modules/unictype/property-alphabetic-tests (Files): Likewise.
33017         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
33018         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
33019         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
33020         Likewise.
33021         * modules/unictype/property-bidi-block-separator-tests (Files):
33022         Likewise.
33023         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
33024         Likewise.
33025         * modules/unictype/property-bidi-common-separator-tests (Files):
33026         Likewise.
33027         * modules/unictype/property-bidi-control-tests (Files): Likewise.
33028         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
33029         Likewise.
33030         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
33031         Likewise.
33032         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
33033         Likewise.
33034         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
33035         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
33036         Likewise.
33037         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
33038         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
33039         Likewise.
33040         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
33041         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
33042         * modules/unictype/property-bidi-segment-separator-tests (Files):
33043         Likewise.
33044         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
33045         * modules/unictype/property-byname-tests (Files): Likewise.
33046         * modules/unictype/property-combining-tests (Files): Likewise.
33047         * modules/unictype/property-composite-tests (Files): Likewise.
33048         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
33049         * modules/unictype/property-dash-tests (Files): Likewise.
33050         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
33051         * modules/unictype/property-default-ignorable-code-point-tests (Files):
33052         Likewise.
33053         * modules/unictype/property-deprecated-tests (Files): Likewise.
33054         * modules/unictype/property-diacritic-tests (Files): Likewise.
33055         * modules/unictype/property-extender-tests (Files): Likewise.
33056         * modules/unictype/property-format-control-tests (Files): Likewise.
33057         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
33058         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
33059         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
33060         * modules/unictype/property-hex-digit-tests (Files): Likewise.
33061         * modules/unictype/property-hyphen-tests (Files): Likewise.
33062         * modules/unictype/property-id-continue-tests (Files): Likewise.
33063         * modules/unictype/property-id-start-tests (Files): Likewise.
33064         * modules/unictype/property-ideographic-tests (Files): Likewise.
33065         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
33066         * modules/unictype/property-ids-trinary-operator-tests (Files):
33067         Likewise.
33068         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
33069         * modules/unictype/property-iso-control-tests (Files): Likewise.
33070         * modules/unictype/property-join-control-tests (Files): Likewise.
33071         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
33072         * modules/unictype/property-line-separator-tests (Files): Likewise.
33073         * modules/unictype/property-logical-order-exception-tests (Files):
33074         Likewise.
33075         * modules/unictype/property-lowercase-tests (Files): Likewise.
33076         * modules/unictype/property-math-tests (Files): Likewise.
33077         * modules/unictype/property-non-break-tests (Files): Likewise.
33078         * modules/unictype/property-not-a-character-tests (Files): Likewise.
33079         * modules/unictype/property-numeric-tests (Files): Likewise.
33080         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
33081         * modules/unictype/property-other-default-ignorable-code-point-tests
33082         (Files): Likewise.
33083         * modules/unictype/property-other-grapheme-extend-tests (Files):
33084         Likewise.
33085         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
33086         * modules/unictype/property-other-id-start-tests (Files): Likewise.
33087         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
33088         * modules/unictype/property-other-math-tests (Files): Likewise.
33089         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
33090         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
33091         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
33092         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
33093         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
33094         * modules/unictype/property-private-use-tests (Files): Likewise.
33095         * modules/unictype/property-punctuation-tests (Files): Likewise.
33096         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
33097         * modules/unictype/property-radical-tests (Files): Likewise.
33098         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
33099         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
33100         * modules/unictype/property-space-tests (Files): Likewise.
33101         * modules/unictype/property-terminal-punctuation-tests (Files):
33102         Likewise.
33103         * modules/unictype/property-test-tests (Files): Likewise.
33104         * modules/unictype/property-titlecase-tests (Files): Likewise.
33105         * modules/unictype/property-unassigned-code-value-tests (Files):
33106         Likewise.
33107         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
33108         * modules/unictype/property-uppercase-tests (Files): Likewise.
33109         * modules/unictype/property-variation-selector-tests (Files): Likewise.
33110         * modules/unictype/property-white-space-tests (Files): Likewise.
33111         * modules/unictype/property-xid-continue-tests (Files): Likewise.
33112         * modules/unictype/property-xid-start-tests (Files): Likewise.
33113         * modules/unictype/property-zero-width-tests (Files): Likewise.
33114         * modules/unictype/scripts-tests (Files): Likewise.
33115         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
33116         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
33117         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
33118         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
33119         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
33120         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
33121         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
33122         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
33123         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
33124         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
33125         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
33126         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
33127         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
33128         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
33129         * modules/uninorm/composition-tests (Files): Likewise.
33130         * modules/uninorm/decomposing-form-tests (Files): Likewise.
33131         * modules/uninorm/decomposition-tests (Files): Likewise.
33132         * modules/uninorm/filter-tests (Files): Likewise.
33133         * modules/uninorm/nfc-tests (Files): Likewise.
33134         * modules/uninorm/nfd-tests (Files): Likewise.
33135         * modules/uninorm/nfkc-tests (Files): Likewise.
33136         * modules/uninorm/nfkd-tests (Files): Likewise.
33137         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
33138         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
33139         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
33140         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
33141         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
33142         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
33143         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
33144         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
33145         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
33146         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
33147         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
33148         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
33149         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
33150         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
33151         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
33152         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
33153         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
33154         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
33155         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
33156         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
33157         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
33158         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
33159         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
33160         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
33161         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
33162         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
33163         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
33164         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
33165         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
33166         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
33167         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
33168         * modules/uniwidth/u8-width-tests (Files): Likewise.
33169         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
33170         * modules/uniwidth/u16-width-tests (Files): Likewise.
33171         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
33172         * modules/uniwidth/u32-width-tests (Files): Likewise.
33173         * modules/uniwidth/width-tests (Files): Likewise.
33174         * modules/unlink-tests (Files): Likewise.
33175         * modules/unsetenv-tests (Files): Likewise.
33176         * modules/usleep-tests (Files): Likewise.
33177         * modules/utimens-tests (Files): Likewise.
33178         * modules/utimensat-tests (Files): Likewise.
33179         * modules/vasnprintf-posix-tests (Files): Likewise.
33180         * modules/vasnprintf-tests (Files): Likewise.
33181         * modules/vasprintf-posix-tests (Files): Likewise.
33182         * modules/vasprintf-tests (Files): Likewise.
33183         * modules/vdprintf-posix-tests (Files): Likewise.
33184         * modules/vfprintf-posix-tests (Files): Likewise.
33185         * modules/vprintf-posix-tests (Files): Likewise.
33186         * modules/vsnprintf-posix-tests (Files): Likewise.
33187         * modules/vsnprintf-tests (Files): Likewise.
33188         * modules/vsprintf-posix-tests (Files): Likewise.
33189         * modules/wcrtomb-tests (Files): Likewise.
33190         * modules/wcsnrtombs-tests (Files): Likewise.
33191         * modules/wcsrtombs-tests (Files): Likewise.
33192         * modules/wctype-tests (Files): Likewise.
33193         * modules/wcwidth-tests (Files): Likewise.
33194         * modules/xmemdup0-tests (Files): Likewise.
33195         * modules/xprintf-posix-tests (Files): Likewise.
33196         * modules/xvasprintf-tests (Files): Likewise.
33197
33198 2009-12-24  Eric Blake  <ebb9@byu.net>
33199
33200         test-nanosleep: fix typo
33201         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
33202         patch.
33203         Reported by Bruno Haible.
33204
33205 2009-12-24  Bruno Haible  <bruno@clisp.org>
33206
33207         Reduce namespace pollution on glibc systems.
33208         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
33209         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
33210         systems.
33211         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
33212         <getopt.h> on glibc systems.
33213         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
33214         systems.
33215         * lib/fcntl.c: Include <unistd.h> here instead.
33216
33217 2009-12-24  Bruno Haible  <bruno@clisp.org>
33218
33219         * lib/stdlib.in.h (includes): Fix typo in today's commit.
33220
33221 2009-12-24  Eric Blake  <ebb9@byu.net>
33222
33223         tests: add signature checks
33224         * tests/signature.h (SIGNATURE_CHECK): New file.
33225         * modules/atexit-tests (Files): Use it.
33226         * modules/btowc-tests (Files): Likewise.
33227         * modules/canonicalize-lgpl-tests (Files): Likewise.
33228         * modules/ceilf-tests (Files): Likewise.
33229         * modules/ceill-tests (Files): Likewise.
33230         * modules/chown-tests (Files): Likewise.
33231         * modules/dprintf-posix-tests (Files): Likewise.
33232         * modules/dup2-tests (Files): Likewise.
33233         * modules/dup3-tests (Files): Likewise.
33234         * modules/duplocale-tests (Files): Likewise.
33235         * modules/fchdir-tests (Files): Likewise.
33236         * modules/fcntl-tests (Files): Likewise.
33237         * modules/fdopendir-tests (Files): Likewise.
33238         * modules/fflush-tests (Files): Likewise.
33239         * modules/flock-tests (Files): Likewise.
33240         * modules/floorf-tests (Files): Likewise.
33241         * modules/floorl-tests (Files): Likewise.
33242         * modules/fnmatch-tests (Files): Likewise.
33243         * modules/fopen-tests (Files): Likewise.
33244         * modules/fprintf-posix-tests (Files): Likewise.
33245         * modules/freopen-tests (Files): Likewise.
33246         * modules/frexp-nolibm-tests (Files): Likewise.
33247         * modules/frexp-tests (Files): Likewise.
33248         * modules/frexpl-nolibm-tests (Files): Likewise.
33249         * modules/frexpl-tests (Files): Likewise.
33250         * modules/fseek-tests (Files): Likewise.
33251         * modules/fseeko-tests (Files): Likewise.
33252         * modules/fsync-tests (Files): Likewise.
33253         * modules/ftell-tests (Files): Likewise.
33254         * modules/ftello-tests (Files): Likewise.
33255         * modules/futimens-tests (Files): Likewise.
33256         * modules/getaddrinfo-tests (Files): Likewise.
33257         * modules/getcwd-tests (Files): Likewise.
33258         * modules/getdelim-tests (Files): Likewise.
33259         * modules/getdtablesize-tests (Files): Likewise.
33260         * modules/getgroups-tests (Files): Likewise.
33261         * modules/gethostname-tests (Files): Likewise.
33262         * modules/getline-tests (Files): Likewise.
33263         * modules/getopt-posix-tests (Files): Likewise.
33264         * modules/gettimeofday-tests (Files): Likewise.
33265         * modules/glob-tests (Files): Likewise.
33266         * modules/iconv-tests (Files): Likewise.
33267         * modules/inet_ntop-tests (Files): Likewise.
33268         * modules/inet_pton-tests (Files): Likewise.
33269         * modules/isblank-tests (Files): Likewise.
33270         * modules/lchown-tests (Files): Likewise.
33271         * modules/ldexpl-tests (Files): Likewise.
33272         * modules/link-tests (Files): Likewise.
33273         * modules/linkat-tests (Files): Likewise.
33274         * modules/lseek-tests (Files): Likewise.
33275         * modules/lstat-tests (Files): Likewise.
33276         * modules/mbrtowc-tests (Files): Likewise.
33277         * modules/mbsinit-tests (Files): Likewise.
33278         * modules/mbsnrtowcs-tests (Files): Likewise.
33279         * modules/mbsrtowcs-tests (Files): Likewise.
33280         * modules/memchr-tests (Files): Likewise.
33281         * modules/memcmp-tests (Files): Likewise.
33282         * modules/memmem-tests (Files): Likewise.
33283         * modules/memrchr-tests (Files): Likewise.
33284         * modules/mkdir-tests (Files): Likewise.
33285         * modules/mkfifo-tests (Files): Likewise.
33286         * modules/mkfifoat-tests (Files): Likewise.
33287         * modules/mknod-tests (Files): Likewise.
33288         * modules/nanosleep-tests (Files): Likewise.
33289         * modules/nl_langinfo-tests (Files): Likewise.
33290         * modules/obstack-printf-tests (Files): Likewise.
33291         * modules/open-tests (Files): Likewise.
33292         * modules/openat-tests (Files): Likewise.
33293         * modules/perror-tests (Files): Likewise.
33294         * modules/pipe2-tests (Files): Likewise.
33295         * modules/poll-tests (Files): Likewise.
33296         * modules/popen-tests (Files): Likewise.
33297         * modules/posix_spawn-tests (Files): Likewise.
33298         * modules/posix_spawnp-tests (Files): Likewise.
33299         * modules/pread-tests (Files): Likewise.
33300         * modules/printf-posix-tests (Files): Likewise.
33301         * modules/pty-tests (Files): Likewise.
33302         * modules/random_r-tests (Files): Likewise.
33303         * modules/rawmemchr-tests (Files): Likewise.
33304         * modules/readlink-tests (Files): Likewise.
33305         * modules/remove-tests (Files): Likewise.
33306         * modules/rename-tests (Files): Likewise.
33307         * modules/renameat-tests (Files): Likewise.
33308         * modules/rmdir-tests (Files): Likewise.
33309         * modules/round-tests (Files): Likewise.
33310         * modules/roundf-tests (Files): Likewise.
33311         * modules/roundl-tests (Files): Likewise.
33312         * modules/select-tests (Files): Likewise.
33313         * modules/setenv-tests (Files): Likewise.
33314         * modules/sigaction-tests (Files): Likewise.
33315         * modules/sleep-tests (Files): Likewise.
33316         * modules/snprintf-posix-tests (Files): Likewise.
33317         * modules/snprintf-tests (Files): Likewise.
33318         * modules/sprintf-posix-tests (Files): Likewise.
33319         * modules/stat-tests (Files): Likewise.
33320         * modules/strcasestr-tests (Files): Likewise.
33321         * modules/strchrnul-tests (Files): Likewise.
33322         * modules/strerror-tests (Files): Likewise.
33323         * modules/strsignal-tests (Files): Likewise.
33324         * modules/strstr-tests (Files): Likewise.
33325         * modules/strtod-tests (Files): Likewise.
33326         * modules/strverscmp-tests (Files): Likewise.
33327         * modules/symlink-tests (Files): Likewise.
33328         * modules/symlinkat-tests (Files): Likewise.
33329         * modules/times-tests (Files): Likewise.
33330         * modules/trunc-tests (Files): Likewise.
33331         * modules/truncf-tests (Files): Likewise.
33332         * modules/truncl-tests (Files): Likewise.
33333         * modules/tsearch-tests (Files): Likewise.
33334         * modules/uname-tests (Files): Likewise.
33335         * modules/unlink-tests (Files): Likewise.
33336         * modules/unsetenv-tests (Files): Likewise.
33337         * modules/usleep-tests (Files): Likewise.
33338         * modules/utimensat-tests (Files): Likewise.
33339         * modules/vasprintf-tests (Files): Likewise.
33340         * modules/vdprintf-posix-tests (Files): Likewise.
33341         * modules/vfprintf-posix-tests (Files): Likewise.
33342         * modules/vprintf-posix-tests (Files): Likewise.
33343         * modules/vsnprintf-posix-tests (Files): Likewise.
33344         * modules/vsnprintf-tests (Files): Likewise.
33345         * modules/vsprintf-posix-tests (Files): Likewise.
33346         * modules/wcrtomb-tests (Files): Likewise.
33347         * modules/wcsnrtombs-tests (Files): Likewise.
33348         * modules/wcsrtombs-tests (Files): Likewise.
33349         * modules/wcwidth-tests (Files): Likewise.
33350         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
33351         * tests/test-isinf.c (isinf): Likewise.
33352         * tests/test-isnan.c (isnan): Likewise.
33353         * tests/test-signbit.c (signbit): Likewise.
33354         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
33355         declaration, either as macro or with correct signature.
33356         (select): Ensure function under test is declared with correct
33357         signature in correct header.
33358         * tests/test-atexit.c (atexit): Likewise.
33359         * tests/test-btowc.c (btowc): Likewise.
33360         * tests/test-canonicalize-lgpl.c (realpath)
33361         (canonicalize_file_name): Likewise.
33362         * tests/test-ceilf1.c (ceilf): Likewise.
33363         * tests/test-ceill.c (ceill): Likewise.
33364         * tests/test-chown.c (chown): Likewise.
33365         * tests/test-dprintf-posix.c (dprintf): Likewise.
33366         * tests/test-dup2.c (dup2): Likewise.
33367         * tests/test-dup3.c (dup3): Likewise.
33368         * tests/test-duplocale.c (duplocale): Likewise.
33369         * tests/test-fchdir.c (fchdir): Likewise.
33370         * tests/test-fchownat.c (fchownat): Likewise.
33371         * tests/test-fcntl.c (fcntl): Likewise.
33372         * tests/test-fdopendir.c (fdopendir): Likewise.
33373         * tests/test-fflush.c (fflush): Likewise.
33374         * tests/test-flock.c (flock): Likewise.
33375         * tests/test-floorf1.c (floorf): Likewise.
33376         * tests/test-floorl.c (floorl): Likewise.
33377         * tests/test-fnmatch.c (fnmatch): Likewise.
33378         * tests/test-fopen.c (fopen): Likewise.
33379         * tests/test-fprintf-posix.c (fprintf): Likewise.
33380         * tests/test-freopen.c (freopen): Likewise.
33381         * tests/test-frexp.c (frexp): Likewise.
33382         * tests/test-frexpl.c (frexpl): Likewise.
33383         * tests/test-fseek.c (fseek): Likewise.
33384         * tests/test-fseeko.c (fseeko): Likewise.
33385         * tests/test-fstatat.c (fstatat): Likewise.
33386         * tests/test-fsync.c (fsync): Likewise.
33387         * tests/test-ftell.c (ftell): Likewise.
33388         * tests/test-ftello.c (ftello): Likewise.
33389         * tests/test-futimens.c (futimens): Likewise.
33390         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
33391         (gai_strerror): Likewise.
33392         * tests/test-getcwd.c (getcwd): Likewise.
33393         * tests/test-getdelim.c (getdelim): Likewise.
33394         * tests/test-getdtablesize.c (getdtablesize): Likewise.
33395         * tests/test-getgroups.c (getgroups): Likewise.
33396         * tests/test-gethostname.c (gethostname): Likewise.
33397         * tests/test-getline.c (getline): Likewise.
33398         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
33399         Likewise.
33400         * tests/test-gettimeofday.c (gettimeofday): Likewise.
33401         * tests/test-glob.c (glob, globfree): Likewise.
33402         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
33403         * tests/test-inet_ntop.c (inet_ntop): Likewise.
33404         * tests/test-inet_pton.c (inet_pton): Likewise.
33405         * tests/test-isblank.c (isblank): Likewise.
33406         * tests/test-lchown.c (lchown): Likewise.
33407         * tests/test-ldexpl.c (ldexpl): Likewise.
33408         * tests/test-link.c (link): Likewise.
33409         * tests/test-linkat.c (linkat): Likewise.
33410         * tests/test-lseek.c (lseek): Likewise.
33411         * tests/test-lstat.c (lstat): Likewise.
33412         * tests/test-mbrtowc.c (mbrtowc): Likewise.
33413         * tests/test-mbsinit.c (mbsinit): Likewise.
33414         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
33415         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
33416         * tests/test-memchr.c (memchr): Likewise.
33417         * tests/test-memcmp.c (memcmp): Likewise.
33418         * tests/test-memmem.c (memmem): Likewise.
33419         * tests/test-memrchr.c (memrchr): Likewise.
33420         * tests/test-mkdir.c (mkdir): Likewise.
33421         * tests/test-mkdirat.c (mkdirat): Likewise.
33422         * tests/test-mkfifo.c (mkfifo): Likewise.
33423         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
33424         * tests/test-mknod.c (mknod): Likewise.
33425         * tests/test-nanosleep.c (nanosleep): Likewise.
33426         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
33427         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
33428         Likewise.
33429         * tests/test-open.c (open): Likewise.
33430         * tests/test-openat.c (openat): Likewise.
33431         * tests/test-perror.c (perror): Likewise.
33432         * tests/test-pipe2.c (pipe2): Likewise.
33433         * tests/test-poll.c (poll): Likewise.
33434         * tests/test-popen.c (popen, pclose): Likewise.
33435         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
33436         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
33437         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
33438         (posix_spawn_file_actions_destroy)
33439         (posix_spawn_file_actions_addclose)
33440         (posix_spawn_file_actions_addopen)
33441         (posix_spawn_file_actions_adddup2): Likewise.
33442         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
33443         * tests/test-pread.c (pread): Likewise.
33444         * tests/test-printf-posix.c (printf): Likewise.
33445         * tests/test-pty.c (openpty, forkpty): Likewise.
33446         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
33447         (random_r): Likewise.
33448         * tests/test-rawmemchr.c (rawmemchr): Likewise.
33449         * tests/test-readlink.c (readlink): Likewise.
33450         * tests/test-remove.c (remove): Likewise.
33451         * tests/test-rename.c (rename): Likewise.
33452         * tests/test-renameat.c (renameat): Likewise.
33453         * tests/test-rmdir.c (rmdir): Likewise.
33454         * tests/test-round1.c (round): Likewise.
33455         * tests/test-roundf1.c (roundf): Likewise.
33456         * tests/test-roundl.c (roundl): Likewise.
33457         * tests/test-setenv.c (setenv): Likewise.
33458         * tests/test-sigaction.c (sigaction): Likewise.
33459         * tests/test-sleep.c (sleep): Likewise.
33460         * tests/test-snprintf.c (snprintf): Likewise.
33461         * tests/test-sprintf-posix.c (sprintf): Likewise.
33462         * tests/test-stat.c (stat): Likewise.
33463         * tests/test-stpncpy.c (stpncpy): Likewise.
33464         * tests/test-strcasestr.c (strcasestr): Likewise.
33465         * tests/test-strchrnul.c (strchrnul): Likewise.
33466         * tests/test-strerror.c (strerror): Likewise.
33467         * tests/test-strsignal.c (strsignal): Likewise.
33468         * tests/test-strstr.c (strstr): Likewise.
33469         * tests/test-strtod.c (strtod): Likewise.
33470         * tests/test-strverscmp.c (strverscmp): Likewise.
33471         * tests/test-symlink.c (symlink): Likewise.
33472         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
33473         * tests/test-times.c (times): Likewise.
33474         * tests/test-trunc1.c (trunc): Likewise.
33475         * tests/test-truncf1.c (truncf): Likewise.
33476         * tests/test-truncl.c (truncl): Likewise.
33477         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
33478         Likewise.
33479         * tests/test-uname.c (uname): Likewise.
33480         * tests/test-unlink.c (unlink): Likewise.
33481         * tests/test-unlinkat.c (unlinkat): Likewise.
33482         * tests/test-unsetenv.c (unsetenv): Likewise.
33483         * tests/test-usleep.c (usleep): Likewise.
33484         * tests/test-utimensat.c (utimensat): Likewise.
33485         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
33486         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
33487         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
33488         * tests/test-vprintf-posix.c (vprintf): Likewise.
33489         * tests/test-vsnprintf.c (vsnprintf): Likewise.
33490         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
33491         * tests/test-wcrtomb.c (wcrtomb): Likewise.
33492         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
33493         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
33494         * tests/test-wcwidth.c (wcwidth): Likewise.
33495
33496         build: pull in conditional headers during GNULIB_POSIXCHECK
33497         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
33498         definitions from any conditionally-included headers.
33499         * lib/stdlib.in.h (includes): Likewise.
33500         * lib/unistd.in.h (includes): Likewise.
33501
33502 2009-12-24  Bruno Haible  <bruno@clisp.org>
33503
33504         * tests/test-argv-iter.c: Include header file being tested immediately
33505         after config.h.
33506         * tests/test-base64.c: Likewise.
33507         * tests/test-flock.c: Likewise.
33508         * tests/test-fsync.c: Likewise.
33509         * tests/test-getdate.c: Likewise.
33510         * tests/test-getndelim2.c: Likewise.
33511         * tests/test-isfinite.c: Likewise.
33512         * tests/test-isinf.c: Likewise.
33513         * tests/test-strerror.c: Likewise.
33514         * tests/test-strsignal.c: Likewise.
33515
33516 2009-12-23  Eric Blake  <ebb9@byu.net>
33517
33518         unistd: work around cygwin bug
33519         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
33520         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
33521         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
33522
33523 2009-12-23  Bruno Haible  <bruno@clisp.org>
33524
33525         localename: More tests.
33526         * tests/test-localename.c (SIZEOF): New macro.
33527         (categories): New variable.
33528         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
33529         test_locale_name_default): Add test w.r.t. thread locale.
33530         (test_locale_name_thread): New function.
33531         (main): Invoke it.
33532
33533         localename: Make aware of thread locale.
33534         * lib/localename.h (gl_locale_name_thread): New declaration.
33535         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
33536         behaviour with respect to thread locale.
33537         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
33538         <langinfo.h>, glthread/lock.h.
33539         (SIZE_BITS): New macro.
33540         (string_hash): New function.
33541         (struct hash_node): New type.
33542         (HASH_TABLE_SIZE): New macro.
33543         (struniq_hash_table, struniq_lock): New variables.
33544         (struniq): New function.
33545         (gl_locale_name_thread): New function.
33546         (gl_locale_name): Invoke it.
33547         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
33548         * modules/localename (Depends-on): Add lock.
33549         Reported by Mike Gran <spk121@yahoo.com>.
33550
33551 2009-12-23  Eric Blake  <ebb9@byu.net>
33552
33553         va-args: new module
33554         * modules/va-args: New file.
33555         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
33556         * MODULES.html.sh (Core language properties): Mention it.
33557
33558         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
33559         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
33560         named alias for __attribute__((__unused__)).
33561         * lib/chown.c: Update client.
33562         * lib/fchmodat.c: Likewise.
33563         * lib/fts.c: Likewise.
33564         * lib/getdate.y: Likewise.
33565         * lib/getgroups.c: Likewise.
33566         * lib/getopt.c: Likewise.
33567         * lib/getugroups.c: Likewise.
33568         * lib/mkdir.c: Likewise.
33569         * lib/mkfifo.c: Likewise.
33570         * lib/mkfifoat.c: Likewise.
33571         * lib/mknod.c: Likewise.
33572         * lib/mknodat.c: Likewise.
33573         * lib/readlink.c: Likewise.
33574         * lib/se-context.in.h: Likewise.
33575         * lib/se-selinux.in.h: Likewise.
33576         * lib/sockets.c: Likewise.
33577         * lib/symlink.c: Likewise.
33578         * lib/symlinkat.c: Likewise.
33579         * lib/unicodeio.c: Likewise.
33580         * lib/unistr.h: Likewise.
33581         * tests/test-areadlink.c: Likewise.
33582         * tests/test-areadlinkat.c: Likewise.
33583         * tests/test-filenamecat.c: Likewise.
33584         * tests/test-fseeko.c: Likewise.
33585         * tests/test-ftello.c: Likewise.
33586         * tests/test-getdate.c: Likewise.
33587         * tests/test-getgroups.c: Likewise.
33588         * tests/test-gethostname.c: Likewise.
33589         * tests/test-quotearg.c: Likewise.
33590         * tests/test-version-etc.c: Likewise.
33591         * tests/test-xalloc-die.c: Likewise.
33592         * tests/test-xfprintf-posix.c: Likewise.
33593         * tests/test-xprintf-posix.c: Likewise.
33594         * tests/test-xvasprintf.c: Likewise.
33595
33596         tests: avoid compiler warnings
33597         * tests/test-fcntl.c (main): Delete unused parameters.
33598         * tests/test-freopen-safer.c (main): Likewise.
33599         * tests/test-xalloc-die.c (main): Mark unused parameters.
33600         * tests/test-fseeko.c (main): Likewise.
33601         * tests/test-ftello.c (main): Likewise.
33602         * tests/test-nanosleep.c (main): Avoid declaration warning.
33603         * tests/test-sleep.c (main): Likewise.
33604         * tests/test-unsetenv.c (main): Silence warning about string
33605         literal.
33606         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
33607
33608 2009-12-23  Bruno Haible  <bruno@clisp.org>
33609
33610         * tests/test-localename.c (test_locale_name): New function, extracted
33611         from main. Also test mixed situations.
33612         (test_locale_name_posix, test_locale_name_environ,
33613         test_locale_name_default): New functions.
33614         (main): Invoke them all.
33615         * modules/localename-tests (configure.ac): Test for newlocale.
33616
33617 2009-12-23  Bruno Haible  <bruno@clisp.org>
33618
33619         unistd: Ensure getcwd gets declared before being overridden.
33620         * lib/unistd.in.h: Conditionally include <io.h>.
33621
33622 2009-12-22  Bruno Haible  <bruno@clisp.org>
33623
33624         wchar: Diagnose broken combination of glibc and gcc versions and flags.
33625         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
33626         (gl_WCHAR_H): Invoke it.
33627         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
33628         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
33629         Reported by Karl Berry <karl@freefriends.org>.
33630
33631 2009-12-22  Eric Blake  <ebb9@byu.net>
33632
33633         math, unistd: avoid redundant includes
33634         * lib/math.in.h (isnan): No need to re-include <math.h>.
33635         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
33636
33637         getsubopt: work around cygwin bug
33638         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
33639         avoid conflicting with system getsubopt.
33640         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
33641         bug.
33642
33643         getopt: synchronize from glibc
33644         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
33645         parameter order.  Adjust all callers.
33646         (_getopt_internal_r, main): Adjust quoting in error messages.
33647         Drop considerations for outdated POSIX 1003.2 error message.
33648         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
33649         callers.
33650         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
33651
33652         test-getopt: test stderr behavior
33653         * modules/getopt-posix-tests (Depends-on): Add dup2.
33654         * tests/test-getopt.c (ASSERT): Avoid stderr.
33655         (main): Move stderr to a temporary file.
33656         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
33657         Instead, add parameter to inform caller if output occurred.
33658         (test_getopt): Adjust all existing tests to expect silence, and
33659         add new tests of leading ":".
33660         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
33661         glibc shortcomings with leading "-:" or "+:" in optstring.
33662         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33663         Likewise.
33664         * doc/posix-functions/getopt.texi (getopt): Likewise.
33665
33666         test-getopt: enhance test
33667         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
33668         supports optind=0.
33669         * tests/test-getopt.c (OPTIND_MIN): Move...
33670         * tests/test-getopt.h (OPTIND_MIN): ...here.
33671         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
33672         Require that optind=0 works, since modern BSD supports it in
33673         addition to optreset, and since coreutils expects it.
33674         (test_getopt_long_only): New test.
33675         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
33676         glibc shortcomings with 'W;', and enforcement of optind=0.
33677         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33678         Likewise.
33679
33680 2009-12-21  Bruno Haible  <bruno@clisp.org>
33681
33682         localename: Improvements for MacOS X and Cygwin.
33683         * lib/localename.h (gl_locale_name_environ): New declaration.
33684         * lib/localename.c (gl_locale_name_environ): New function, extracted from
33685         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
33686         (gl_locale_name_posix): Invoke it.
33687         (gl_locale_name_default): Add comments. Use Windows native API also on
33688         Cygwin.
33689
33690 2009-12-21  Bruno Haible  <bruno@clisp.org>
33691
33692         Update list of Win32 locale ids.
33693         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
33694         (LANG_SAMI): Renamed from LANG_SAAMI.
33695         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
33696         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
33697         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
33698         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
33699         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
33700         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
33701         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
33702         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
33703         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
33704         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
33705         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
33706         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
33707         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
33708         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
33709         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
33710         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
33711         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
33712         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
33713         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
33714         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
33715         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
33716         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
33717         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
33718         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
33719         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
33720         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
33721         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
33722         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
33723         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
33724         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
33725         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
33726         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
33727         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
33728         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
33729         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
33730         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
33731         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
33732         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
33733         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
33734         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
33735         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
33736         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
33737         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
33738         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
33739         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
33740         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
33741         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
33742         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
33743         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
33744         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
33745         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
33746         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
33747         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
33748         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
33749         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
33750         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
33751         Add more languages and countries for Sami, Sorbian. Add more countries
33752         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
33753         for Pashto. Change country for Syriac, Tswana.
33754
33755 2009-12-21  Eric Blake  <ebb9@byu.net>
33756
33757         test-utimens: avoid spurious failure
33758         * tests/test-chown.h (nap): Factor...
33759         * tests/nap.h: ...into new file.
33760         * tests/test-lchown.h (nap): Avoid duplication.
33761         * tests/test-utimens-common.h (nap): Use shared implementation,
33762         necessary on file systems with 1-second resolution.
33763         * modules/chown-tests (Files): Include new file.
33764         * modules/fdutimensat-tests (Files): Likewise.
33765         * modules/futimens-tests (Files): Likewise.
33766         * modules/lchown-tests (Files): Likewise.
33767         * modules/openat-tests (Files): Likewise.
33768         * modules/utimens-tests (Files): Likewise.
33769         * modules/utimensat-tests (Files): Likewise.
33770
33771 2009-12-19  Eric Blake  <ebb9@byu.net>
33772
33773         futimens, utimensat: work around Linux bug
33774         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
33775         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33776         * lib/utimensat.c (rpl_utimensat): Work around it.
33777         * lib/futimens.c (rpl_futimens): Adjust comment.
33778
33779         utimens: work around Linux ctime bug
33780         * lib/utimens.c (detect_ctime_bug): New helper function.
33781         (update_timespec): Differentiate between workaround needed for
33782         this bug vs. what is needed for systems that lack utimensat.
33783         (fdutimens, lutimens): Work around bug.
33784
33785         utimens: check for ctime update
33786         * tests/test-utimens-common.h (check_ctime): Define.
33787         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
33788         * tests/test-futimens.h (test_futimens): Likewise.
33789         * tests/test-lutimens.h (test_lutimens): Likewise.
33790         * doc/posix-functions/futimens.texi (futimens): Document the bug.
33791         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33792
33793 2009-12-19  Bruno Haible  <bruno@clisp.org>
33794
33795         dprintf-posix: Check against memory leak fixed on 2009-12-15.
33796         * tests/test-dprintf-posix2.sh: New file.
33797         * tests/test-dprintf-posix2.c: New file.
33798         * modules/dprintf-posix-tests (Files): Add them.
33799         (configure.ac): Check for getrlimit and setrlimit.
33800         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
33801
33802 2009-12-19  Bruno Haible  <bruno@clisp.org>
33803
33804         fprintf-posix: Check against memory leak fixed on 2009-12-15.
33805         * tests/test-fprintf-posix3.sh: New file.
33806         * tests/test-fprintf-posix3.c: New file.
33807         * modules/fprintf-posix-tests (Files): Add them.
33808         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
33809
33810 2009-12-19  Eric Blake  <ebb9@byu.net>
33811
33812         dirfd: fix prototype
33813         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
33814         * lib/dirfd.c (dirfd): Likewise.
33815
33816         canonicalize: reduce memory usage
33817         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
33818         allocation to size.
33819         Reported by Solar Designer <solar@openwall.com>.
33820
33821 2009-12-19  Bruno Haible  <bruno@clisp.org>
33822
33823         New module attribute 'Applicability'.
33824         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
33825         * gnulib-tool: New option --extract-applicability.
33826         (func_usage): Document it.
33827         (sed_extract_prog): Recognize it.
33828         (func_get_applicability): New function.
33829         (func_import): Generalize handling of 'link-warning' module.
33830         * modules/link-warning (Applicability): New section.
33831         * modules/arg-nonnull (Applicability): New section.
33832         Repoted by Simon Josefsson <simon@josefsson.org>.
33833
33834 2009-12-19  Bruno Haible  <bruno@clisp.org>
33835
33836         fflush: tweak
33837         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
33838         * lib/fseeko.c (rpl_fseeko): Likewise.
33839
33840 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
33841
33842         * lib/gl_list.h: Fix typo in comment.
33843
33844 2009-12-16  Eric Blake  <ebb9@byu.net>
33845
33846         fcntl: use to simplify other modules
33847         * modules/cloexec (Depends-on): Add fcntl.
33848         * modules/fchdir (Depends-on): Likewise.
33849         * modules/fd-safer-flag (Depends-on): Likewise.
33850         * modules/unistd-safer (Depends-on): Likewise.
33851         * modules/dup3 (configure.ac): Set module indicator.
33852         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
33853         missing.
33854         * lib/fchdir.c (_gl_register_dup): Fix comment.
33855         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
33856         * lib/dup-safer.c (dup_safer): Likewise.
33857         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
33858         * lib/dup3.c (dup3): Likewise.
33859         * tests/test-fchdir.c (main): Enhance test.
33860         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
33861
33862         fcntl: port portions of fcntl to mingw
33863         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
33864         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
33865         replacement for mingw.
33866         * modules/fcntl (Description): Update.
33867         (Depends-on): Add dup2.
33868         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
33869         * modules/fcntl-h (Makefile.am): Substitute it.
33870         * lib/fcntl.in.h (fcntl): Update declaration.
33871         (F_DUPFD, F_GETFD): New macros, when needed.
33872         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
33873         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
33874         * tests/test-fcntl.c (check_flags, main): Enhance test for items
33875         we now guarantee.
33876
33877         fcntl: work around cygwin bug in F_DUPFD
33878         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
33879         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
33880         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
33881         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
33882         * doc/posix-functions/fcntl.texi (fcntl): Document it.
33883
33884         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
33885         * modules/fcntl (Files): List new files.
33886         (configure.ac): Run a test.
33887         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
33888         * lib/fcntl.c (rpl_fcntl): Likewise.
33889         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
33890         (gl_FCNTL_H): Always replace fcntl.h.
33891         * modules/fcntl-h (Makefile.am): Substitute witnesses.
33892         * lib/fcntl.in.h (fcntl): Declare replacement.
33893         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
33894         needed, plus a witness.
33895         * doc/posix-functions/fcntl.texi (fcntl): Document this.
33896         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
33897         * tests/test-fcntl.c: New file.
33898         * modules/fcntl-tests: Likewise.
33899
33900         binary-io: avoid potential compilation warning
33901         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
33902         directives.
33903
33904         fflush: avoid compilation error on NetBSD
33905         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
33906         between off_t and fpos_t, since the latter is sometimes a struct.
33907         * lib/fseeko.c (rpl_fseeko): Likewise.
33908         Reported by Alexander Nasonov <alnsn@yandex.ru>.
33909
33910 2009-12-15  Eric Blake  <ebb9@byu.net>
33911
33912         fcntl-h, stdio, sys_ioctl: fix declarations
33913         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
33914         function must not take arguments.
33915         * lib/sys_ioctl.in.h (ioctl): Likewise.
33916         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
33917         (open): Add a link warning.
33918
33919 2009-12-15  Jim Meyering  <meyering@redhat.com>
33920
33921         areadlink, areadlink-with-size: relax license to LGPLv2+
33922         * modules/areadlink (License): Relax to LGPLv2+.
33923         * modules/areadlink-with-size (License): Likewise.
33924
33925 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
33926             Bruno Haible  <bruno@clisp.org>
33927
33928         *printf: Fix memory leak.
33929         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
33930         * lib/vfprintf.c (vfprintf): Likewise.
33931         * lib/dprintf.c (dprintf): Likewise.
33932         * lib/vdprintf.c (vdprintf): Likewise.
33933
33934 2009-12-14  Eric Blake  <ebb9@byu.net>
33935
33936         accept4: adjust module dependencies
33937         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
33938
33939         utimens: one more try at avoiding compiler warning
33940         * lib/utimens.c (lutimens): Lower scope of result.
33941
33942 2009-12-13  Bruno Haible  <bruno@clisp.org>
33943
33944         Move the malloc checking from module 'list' to new module 'xlist'.
33945         * modules/xlist: New file.
33946         * lib/gl_xlist.h: New file.
33947         * lib/gl_xlist.c: New file.
33948         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
33949         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
33950         gl_list_add_last, gl_list_add_before, gl_list_add_after,
33951         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
33952         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
33953         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
33954         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
33955         gl_sortedlist_nx_add): New declarations.
33956         (struct gl_list_implementation): Rename and change methods accordingly.
33957         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
33958         (gl_list_nx_create): Renamed from gl_list_create.
33959         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
33960         (gl_list_nx_set_at): Renamed from gl_list_set_at.
33961         (gl_list_nx_add_first): Renamed from gl_list_add_first.
33962         (gl_list_nx_add_last): Renamed from gl_list_add_last.
33963         (gl_list_nx_add_before): Renamed from gl_list_add_before.
33964         (gl_list_nx_add_after): Renamed from gl_list_add_after.
33965         (gl_list_nx_add_at): Renamed from gl_list_add_at.
33966         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
33967         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
33968         gl_list_create_empty.
33969         (gl_list_nx_create): Renamed from gl_list_create.
33970         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
33971         (gl_list_nx_set_at): Renamed from gl_list_set_at.
33972         (gl_list_nx_add_first): Renamed from gl_list_add_first.
33973         (gl_list_nx_add_last): Renamed from gl_list_add_last.
33974         (gl_list_nx_add_before): Renamed from gl_list_add_before.
33975         (gl_list_nx_add_after): Renamed from gl_list_add_after.
33976         (gl_list_nx_add_at): Renamed from gl_list_add_at.
33977         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
33978         * lib/gl_array_list.c: Don't include xalloc.h.
33979         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
33980         NULL upon out-of-memory.
33981         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
33982         out-of-memory.
33983         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
33984         Change return type to 'int'.
33985         (gl_array_nx_set_at): Renamed from gl_array_set_at.
33986         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
33987         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
33988         upon out-of-memory.
33989         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
33990         upon out-of-memory.
33991         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
33992         upon out-of-memory.
33993         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
33994         upon out-of-memory.
33995         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
33996         out-of-memory.
33997         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
33998         Update.
33999         (gl_array_list_implementation): Update.
34000         * lib/gl_carray_list.c: Don't include xalloc.h.
34001         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
34002         Return NULL upon out-of-memory.
34003         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
34004         out-of-memory.
34005         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
34006         Change return type to 'int'.
34007         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
34008         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
34009         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
34010         upon out-of-memory.
34011         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
34012         upon out-of-memory.
34013         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
34014         out-of-memory.
34015         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
34016         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
34017         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
34018         Update.
34019         (gl_carray_list_implementation): Update.
34020         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
34021         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
34022         gl_linked_create_empty. Return NULL upon out-of-memory.
34023         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
34024         out-of-memory.
34025         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
34026         Change return type to 'int'. Return -1 upon out-of-memory.
34027         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
34028         out-of-memory.
34029         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
34030         upon out-of-memory.
34031         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
34032         upon out-of-memory.
34033         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
34034         NULL upon out-of-memory.
34035         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
34036         upon out-of-memory.
34037         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
34038         out-of-memory.
34039         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
34040         Update.
34041         * lib/gl_linked_list.c: Don't include xalloc.h.
34042         (gl_linked_list_implementation): Update.
34043         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
34044         (add_to_bucket): Change return type to 'int'.
34045         (gl_linkedhash_list_implementation): Update.
34046         * lib/gl_anytree_list1.h (free_subtree): New function.
34047         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
34048         gl_tree_create_empty. Return NULL upon out-of-memory.
34049         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
34050         Change return type to 'int'. Return -1 upon out-of-memory.
34051         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
34052         out-of-memory.
34053         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
34054         (gl_tree_remove_node): New function, moved here from
34055         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
34056         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
34057         Update.
34058         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
34059         malloc, not xmalloc. Return NULL upon out-of-memory.
34060         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
34061         out-of-memory.
34062         (gl_tree_remove_node_from_tree): New function, extracted from
34063         gl_tree_remove_node.
34064         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
34065         upon out-of-memory.
34066         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
34067         out-of-memory.
34068         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
34069         upon out-of-memory.
34070         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
34071         upon out-of-memory.
34072         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
34073         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
34074         not xmalloc. Return NULL upon out-of-memory.
34075         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
34076         out-of-memory.
34077         (gl_tree_remove_node_from_tree): New function, extracted from
34078         gl_tree_remove_node.
34079         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
34080         upon out-of-memory.
34081         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
34082         out-of-memory.
34083         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
34084         upon out-of-memory.
34085         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
34086         upon out-of-memory.
34087         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
34088         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
34089         gl_anytree_list1.h before gl_anyavltree_list2.h.
34090         (gl_avltree_list_implementation): Update.
34091         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
34092         gl_anytree_list1.h before gl_anyavltree_list2.h.
34093         (gl_rbtree_list_implementation): Update.
34094         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
34095         Change return type to 'int'. Return -1 upon out-of-memory. Use
34096         __builtin_expect.
34097         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
34098         (gl_avltreehash_list_implementation): Update.
34099         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
34100         (gl_rbtreehash_list_implementation): Update.
34101         * modules/array-list (Depends-on): Remove xalloc.
34102         * modules/carray-list (Depends-on): Likewise.
34103         * modules/linked-list (Depends-on): Likewise.
34104         * modules/linkedhash-list (Depends-on): Likewise.
34105         * modules/avltree-list (Depends-on): Likewise.
34106         * modules/rbtree-list (Depends-on): Likewise.
34107         * modules/avltreehash-list (Depends-on): Likewise.
34108         * modules/rbtreehash-list (Depends-on): Likewise.
34109
34110         * modules/xsublist: New file.
34111         * lib/gl_xsublist.h: New file.
34112         * lib/gl_xsublist.c: New file.
34113         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
34114         (gl_sublist_nx_create): New declaration.
34115         * lib/gl_sublist.c: Don't include xalloc.h.
34116         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
34117         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
34118         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
34119         Change return type to 'int'. Return -1 upon out-of-memory.
34120         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
34121         upon out-of-memory.
34122         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
34123         NULL upon out-of-memory.
34124         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
34125         upon out-of-memory.
34126         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
34127         NULL upon out-of-memory.
34128         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
34129         NULL upon out-of-memory.
34130         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
34131         upon out-of-memory.
34132         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
34133         (gl_sublist_list_implementation): Update.
34134         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
34135         upon out-of-memory.
34136         * modules/sublist (Depends-on): Remove xalloc.
34137
34138         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
34139         * tests/test-carray_list.c: Likewise.
34140         * tests/test-linked_list.c: Likewise.
34141         * tests/test-linkedhash_list.c: Likewise.
34142         * tests/test-avltree_list.c: Likewise.
34143         * tests/test-rbtree_list.c: Likewise.
34144         * tests/test-avltreehash_list.c: Likewise.
34145         * tests/test-rbtreehash_list.c: Likewise.
34146         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
34147         * modules/carray-list-tests (Makefile.am): Likewise.
34148         * modules/linked-list-tests (Makefile.am): Likewise.
34149         * modules/linkedhash-list-tests (Makefile.am): Likewise.
34150         * modules/avltree-list-tests (Makefile.am): Likewise.
34151         * modules/rbtree-list-tests (Makefile.am): Likewise.
34152         * modules/avltreehash-list-tests (Makefile.am): Likewise.
34153         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
34154
34155         * NEWS: Mention the changes.
34156
34157         * lib/clean-temp.c: Include gl_xlist.h.
34158         * modules/clean-temp (Depends-on): Add xlist.
34159
34160         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
34161         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
34162
34163         * tests/test-array_oset.c: Include gl_xlist.h.
34164         * modules/array-oset-tests (Depends-on): Add xlist.
34165
34166         Reported by José E. Marchesi <jemarch@gnu.org>.
34167
34168 2009-12-13  Bruno Haible  <bruno@clisp.org>
34169
34170         Move the malloc checking from module 'oset' to new module 'xoset'.
34171         * modules/xoset: New file.
34172         * lib/gl_xoset.h: New file.
34173         * lib/gl_xoset.c: New file.
34174         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
34175         declarations.
34176         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
34177         (struct gl_oset_implementation): Rename and change methods accordingly.
34178         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
34179         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
34180         'int'. Mark as __warn_unused_result__.
34181         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
34182         gl_oset_create_empty.
34183         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
34184         'int'.
34185         * lib/gl_array_oset.c: Don't include xalloc.h.
34186         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
34187         malloc, not xmalloc.
34188         (grow): Change return type to 'int'. Don't call xalloc_die.
34189         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
34190         to 'int'.
34191         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
34192         'int'.
34193         (gl_array_oset_implementation): Update.
34194         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
34195         gl_tree_create_empty.
34196         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
34197         'int'.
34198         * lib/gl_avltree_oset.c: Don't include xalloc.h.
34199         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
34200         xmalloc.
34201         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
34202         not xmalloc.
34203         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
34204         xmalloc.
34205         (gl_avltree_oset_implementation): Update.
34206         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
34207         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
34208         xmalloc.
34209         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
34210         not xmalloc.
34211         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
34212         xmalloc.
34213         (gl_rbtree_oset_implementation): Update.
34214         * modules/array-oset (Depends-on): Remove xalloc.
34215         * modules/avltree-oset (Depends-on): Likewise.
34216         * modules/rbtree-oset (Depends-on): Likewise.
34217         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
34218         * tests/test-avltree_oset.c: Likewise.
34219         * tests/test-rbtree_oset.c: Likewise.
34220         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
34221         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
34222         * modules/rbtree-oset-tests (Makefile.am): Likewise.
34223         * NEWS: Mention the change.
34224
34225 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
34226
34227         maint.mk: allow a project to override release-prep commands
34228         * top/maint.mk (alpha, beta, stable): Move release-preparatory
34229         commands into a new rule.
34230         (release-prep): New rule.
34231         (release-prep-hook): New overridable variable.
34232
34233 2009-12-13  Bruno Haible  <bruno@clisp.org>
34234
34235         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
34236
34237 2009-12-13  Jim Meyering  <meyering@redhat.com>
34238
34239         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
34240         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
34241
34242 2009-12-12  Bruno Haible  <bruno@clisp.org>
34243
34244         duplocale: Tweak.
34245         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
34246
34247 2009-12-12  Karl Berry  <karl@gnu.org>
34248
34249         * config/srclist.txt (strtoll.c): tab changes, no more sync.
34250
34251 2009-12-12  Bruno Haible  <bruno@clisp.org>
34252
34253         * m4/po.m4: Undo incorrect untabification.
34254
34255 2009-12-12  Bruno Haible  <bruno@clisp.org>
34256
34257         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
34258         * modules/c-strtod (Depends-on): Add locale.
34259         * modules/c-strtold (Depends-on): Likewise.
34260
34261 2009-12-12  Bruno Haible  <bruno@clisp.org>
34262
34263         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
34264
34265 2009-12-11  Eric Blake  <ebb9@byu.net>
34266
34267         setenv: relax requirement in light of POSIX ruling
34268         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
34269         not NULL.
34270         * tests/test-setenv.c (main): Relax test.
34271         * tests/test-unsetenv.c (main): Likewise.
34272         * doc/posix-functions/setenv.texi (setenv): Document this.
34273         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
34274
34275 2009-12-11  Bruno Haible  <bruno@clisp.org>
34276
34277         New module 'fd-safer-flag'.
34278         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
34279         * lib/dup-safer.c (dup_safer_flag): Remove function.
34280         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
34281         * lib/fd-safer.c (fd_safer_flag): Remove function.
34282         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
34283         * modules/cloexec (configure.ac): Drop indicator macro.
34284         * modules/fd-safer-flag: New file.
34285         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
34286         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
34287         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
34288
34289 2009-12-11  Bruno Haible  <bruno@clisp.org>
34290
34291         Tests for module 'nl_langinfo'.
34292         * modules/nl_langinfo-tests: New file.
34293         * tests/test-nl_langinfo.sh: New file.
34294         * tests/test-nl_langinfo.c: New file.
34295
34296         New module 'nl_langinfo'.
34297         * lib/nl_langinfo.c: New file.
34298         * m4/nl_langinfo.m4: New file.
34299         * modules/nl_langinfo: New file.
34300         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
34301
34302 2009-12-11  Bruno Haible  <bruno@clisp.org>
34303
34304         Tests for module 'langinfo'.
34305         * modules/langinfo-tests: New file.
34306         * tests/test-langinfo.c: New file.
34307
34308         New module 'langinfo'.
34309         * lib/langinfo.in.h: New file.
34310         * m4/langinfo_h.m4: New file.
34311         * modules/langinfo: New file.
34312         * doc/posix-headers/langinfo.texi: Mention the new module.
34313
34314 2009-12-11  Bruno Haible  <bruno@clisp.org>
34315
34316         * lib/config.charset: Untabify.
34317
34318 2009-12-11  Bruno Haible  <bruno@clisp.org>
34319
34320         * modules/unistd-safer (configure.ac): Drop indicator macro.
34321
34322 2009-12-11  Bruno Haible  <bruno@clisp.org>
34323
34324         Move pipe2-safer code to its own file.
34325         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
34326         * lib/pipe-safer.c (pipe2_safer): Remove function.
34327         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
34328         (Makefile.am): Add it to lib_SOURCES.
34329
34330 2009-12-10  Bruno Haible  <bruno@clisp.org>
34331
34332         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
34333
34334 2009-12-10  Bruno Haible  <bruno@clisp.org>
34335
34336         Declare which arguments expect non-NULL values, for GCC and clang.
34337         * build-aux/arg-nonnull.h: New file.
34338         * modules/arg-nonnull: New file.
34339         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
34340         (inet_ntop, inet_pton): Use it.
34341         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
34342         (closedir, dirfd, opendir, scandir, alphasort): Use it.
34343         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
34344         (open, openat): Use it.
34345         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
34346         (fnmatch): Use it.
34347         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
34348         (getopt, getopt_long, getopt_long_only): Use it.
34349         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
34350         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
34351         Use it.
34352         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
34353         (iconv_open): Use it.
34354         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
34355         (strtoimax, strtoumax): Use it.
34356         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
34357         (duplocale): Use it.
34358         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
34359         (frexp, frexpl): Use it.
34360         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
34361         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
34362         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
34363         (tsearch, tfind, tdelete, twalk): Use it.
34364         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
34365         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
34366         sigpending): Use it.
34367         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
34368         (posix_spawn, posix_spawnp, posix_spawnattr_init,
34369         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
34370         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
34371         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
34372         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
34373         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
34374         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
34375         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
34376         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
34377         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
34378         Use it.
34379         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
34380         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
34381         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
34382         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
34383         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
34384         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
34385         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
34386         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
34387         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
34388         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
34389         strtoull, unsetenv): Use it.
34390         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
34391         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
34392         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
34393         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
34394         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
34395         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
34396         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
34397         (strcasecmp, strncasecmp): Use it.
34398         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
34399         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
34400         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
34401         rpl_setsockopt): Use it.
34402         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
34403         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
34404         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
34405         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
34406         (gettimeofday): Use it.
34407         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
34408         (times): Use it.
34409         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
34410         (uname): Use it.
34411         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
34412         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
34413         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
34414         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
34415         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
34416         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
34417         unlinkat, write): Use it.
34418         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
34419         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
34420         * lib/argv-iter.h: Include arg-nonnull.h.
34421         (_ATTRIBUTE_NONNULL_): Remove macro.
34422         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
34423         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
34424         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
34425         optimization.
34426         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
34427         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
34428         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
34429         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
34430         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
34431         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
34432         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
34433         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
34434         * modules/arpa_inet (Depends-on): Add arg-nonnull.
34435         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
34436         * modules/dirent (Depends-on): Add arg-nonnull.
34437         (Makefile.am): Insert arg-nonnull.h into dirent.h.
34438         * modules/fcntl-h (Depends-on): Add arg-nonnull.
34439         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
34440         * modules/fnmatch (Depends-on): Add arg-nonnull.
34441         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
34442         * modules/getopt-posix (Depends-on): Add arg-nonnull.
34443         (Makefile.am): Insert arg-nonnull.h into getopt.h.
34444         * modules/glob (Depends-on): Add arg-nonnull.
34445         (Makefile.am): Insert arg-nonnull.h into glob.h.
34446         * modules/iconv_open (Depends-on): Add arg-nonnull.
34447         (Makefile.am): Insert arg-nonnull.h into iconv.h.
34448         * modules/inttypes (Depends-on): Add arg-nonnull.
34449         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
34450         * modules/locale (Depends-on): Add arg-nonnull.
34451         (Makefile.am): Insert arg-nonnull.h into locale.h.
34452         * modules/math (Depends-on): Add arg-nonnull.
34453         (Makefile.am): Insert arg-nonnull.h into math.h.
34454         * modules/netdb (Depends-on): Add arg-nonnull.
34455         (Makefile.am): Insert arg-nonnull.h into netdb.h.
34456         * modules/search (Depends-on): Add arg-nonnull.
34457         (Makefile.am): Insert arg-nonnull.h into search.h.
34458         * modules/signal (Depends-on): Add arg-nonnull.
34459         (Makefile.am): Insert arg-nonnull.h into signal.h.
34460         * modules/spawn (Depends-on): Add arg-nonnull.
34461         (Makefile.am): Insert arg-nonnull.h into spawn.h.
34462         * modules/stdio (Depends-on): Add arg-nonnull.
34463         (Makefile.am): Insert arg-nonnull.h into stdio.h.
34464         * modules/stdlib (Depends-on): Add arg-nonnull.
34465         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
34466         * modules/string (Depends-on): Add arg-nonnull.
34467         (Makefile.am): Insert arg-nonnull.h into string.h.
34468         * modules/strings (Depends-on): Add arg-nonnull.
34469         (Makefile.am): Insert arg-nonnull.h into strings.h.
34470         * modules/sys_socket (Depends-on): Add arg-nonnull.
34471         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
34472         * modules/sys_stat (Depends-on): Add arg-nonnull.
34473         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
34474         * modules/sys_time (Depends-on): Add arg-nonnull.
34475         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
34476         * modules/sys_times (Depends-on): Add arg-nonnull.
34477         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
34478         * modules/sys_utsname (Depends-on): Add arg-nonnull.
34479         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
34480         * modules/time (Depends-on): Add arg-nonnull.
34481         (Makefile.am): Insert arg-nonnull.h into time.h.
34482         * modules/unistd (Depends-on): Add arg-nonnull.
34483         (Makefile.am): Insert arg-nonnull.h into unistd.h.
34484         * modules/wchar (Depends-on): Add arg-nonnull.
34485         (Makefile.am): Insert arg-nonnull.h into wchar.h.
34486         * modules/argv-iter (Depends-on): Add arg-nonnull.
34487         * tests/test-canonicalize.c (null_ptr): New function.
34488         (main): Use it.
34489         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
34490         (main): Use it.
34491         * tests/test-memmem.c (null_ptr): New function.
34492         (main): Use it.
34493         Reported by Jim Meyering.
34494
34495 2009-12-10  Bruno Haible  <bruno@clisp.org>
34496
34497         Use spaces for indentation, not tabs.
34498         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
34499         * m4/*.m4: Untabify.
34500         * build-aux/*.h: Untabify.
34501         * tests/**/*.[hc]: Untabify.
34502         * README: New section "Indent with spaces, not TABs", based on
34503         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
34504         * NEWS: Mention the change.
34505
34506 2009-12-10  Bruno Haible  <bruno@clisp.org>
34507
34508         pty test: Fix link error.
34509         * modules/pty-tests (Makefile.am): Add the default LDADD value to
34510         test_pty_LDADD.
34511
34512 2009-12-07  Simon Josefsson  <simon@josefsson.org>
34513
34514         * modules/pty: New file.
34515         * modules/pty-tests: New file.
34516         * m4/pty.m4: New file.
34517         * tests/test-pty.c: New file.
34518         * doc/glibc-headers/pty.texi: Modified.
34519         * doc/glibc-functions/forkpty.texi: Modified.
34520         * doc/glibc-functions/openpty.texi: Modified.
34521
34522 2009-12-10  Bruno Haible  <bruno@clisp.org>
34523
34524         Avoid syntax error in C++ mode.
34525         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
34526
34527 2009-12-10  Bruno Haible  <bruno@clisp.org>
34528
34529         Use sed with option -e.
34530         * gnulib-tool (func_version, func_emit_copyright_notice,
34531         func_emit_initmacro_end, func_import, func_create_testdir): Pass
34532         option -e to sed.
34533         * modules/link-warning (Makefile.am): Likewise.
34534
34535 2009-12-10  Jim Meyering  <meyering@redhat.com>
34536
34537         mgetgroups: do not write bytes beyond end of malloc'd buffer
34538         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
34539         username, we call getgroups with a one-element-shorter buffer,
34540         but still told it the length was original, max_n_groups.
34541
34542 2009-12-09  Eric Blake  <ebb9@byu.net>
34543
34544         cloexec: relax license
34545         * modules/cloexec (Maintainer): Add myself.
34546         (License): Use LGPL, not GPL.
34547
34548         link-warning: optimize generation
34549         * modules/link-warning (Makefile.am): Reduce process usage.
34550
34551 2009-12-09  Bruno Haible  <bruno@clisp.org>
34552
34553         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
34554         workaround was added on 2009-11-17.
34555
34556 2009-12-09  Jim Meyering  <meyering@redhat.com>
34557             Bruno Haible  <bruno@clisp.org>
34558
34559         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
34560         * modules/link-warning (Makefile.am): Make the comment-removing sed
34561         command more robust in the face of bootstrap-prepended comment lines.
34562
34563 2009-12-09  Bruno Haible  <bruno@clisp.org>
34564
34565         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
34566         most one group.
34567
34568 2009-12-09  Simon Josefsson <simon@josefsson.org>
34569             Bruno Haible  <bruno@clisp.org>
34570
34571         * build-aux/link-warning.h: Add copyright notice.
34572         * modules/link-warning (Makefile.am): Generate link-warning.h from
34573         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
34574         * NEWS: Mention change in link-warning module.
34575         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
34576         * modules/dirent (Makefile.am): Add dependency to dirent.h.
34577         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
34578         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
34579         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
34580         * modules/math (Makefile.am): Add dependency to math.h.
34581         * modules/search (Makefile.am): Add dependency to search.h.
34582         * modules/signal (Makefile.am): Add dependency to signal.h.
34583         * modules/spawn (Makefile.am): Add dependency to spawn.h.
34584         * modules/stdio (Makefile.am): Add dependency to stdio.h.
34585         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
34586         * modules/string (Makefile.am): Add dependency to string.h.
34587         * modules/strings (Makefile.am): Add dependency to strings.h.
34588         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
34589         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
34590         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
34591         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
34592         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
34593         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
34594         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
34595         * modules/unistd (Makefile.am): Add dependency to unistd.h.
34596         * modules/wchar (Makefile.am): Add dependency to wchar.h.
34597
34598 2009-12-09  Bruno Haible  <bruno@clisp.org>
34599
34600         fchdir: Optimize away rpl_fstat when possible.
34601         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
34602         REPLACE_OPEN_DIRECTORY.
34603         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
34604
34605 2009-12-09  Bruno Haible  <bruno@clisp.org>
34606
34607         * lib/fchdir.c: Update comment.
34608
34609 2009-12-09  Bruno Haible  <bruno@clisp.org>
34610
34611         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
34612
34613 2009-12-08  Eric Blake  <ebb9@byu.net>
34614
34615         fchdir: avoid memory leak on re-registration.
34616         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
34617
34618 2009-12-08  Jim Meyering  <meyering@redhat.com>
34619
34620         init.sh: avoid Solaris 10 /bin/sh portability problem
34621         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
34622         sourced script:
34623           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
34624           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
34625           bar
34626         tests/init.sh relied on that, accepting a --set-path=DIR argument,
34627         and two tests used that idiom.
34628         * tests/init.sh: Update suggested usage comments.
34629         (path_prepend_): New function, to be used in place
34630         of the --src-path=DIR option.
34631         (setup_): Move PATH-prepending code into path_prepend_.
34632         * tests/test-pread.sh: Adapt to new usage.
34633         * tests/test-xalloc-die.sh: Likewise.
34634
34635 2009-12-08  Simon Josefsson  <simon@josefsson.org>
34636
34637         * doc/gnulib.texi (Glibc pty.h): Add.
34638         * doc/glibc-functions/forkpty.texi: Add.
34639         * doc/glibc-functions/openpty.texi: Add.
34640         Suggested by Bruno Haible.
34641
34642 2009-12-08  Eric Blake  <ebb9@byu.net>
34643
34644         fchdir: fix logic bugs
34645         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
34646         * tests/test-fchdir.c (main): Enhance test.
34647         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
34648         is in use.
34649
34650         dup2: fix logic bugs
34651         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
34652         REPLACE_DUP2 to decide when rpl_dup2 is needed.
34653         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
34654         exists.
34655         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
34656
34657 2009-12-07  Eric Blake  <ebb9@byu.net>
34658
34659         unlink: fix m4 detection
34660         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
34661
34662         unistd-safer: add unit test
34663         * modules/unistd-safer-tests: New file.
34664         * tests/test-dup-safer.c: Likewise.
34665         * tests/test-cloexec.c (setmode): Avoid compiler warning.
34666         * tests/test-dup2.c (setmode): Likewise.
34667         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
34668
34669         cloexec: preserve text vs. binary across dup_cloexec
34670         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
34671         mode.
34672         * modules/dup2-tests (Depends-on): Add binary-io.
34673         * modules/cloexec-tests (Depends-on): Likewise.
34674         * tests/test-dup2.c (setmode, is_mode): New helpers.
34675         (main): Add tests that translation mode is preserved.
34676         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
34677         Reported by Bruno Haible.
34678
34679         mgetgroups: reduce duplicate listings
34680         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
34681         resulting array.
34682         * tests/test-chown.h (test_chown): Simplify client.
34683         * tests/test-lchown.h (test_lchown): Likewise.
34684
34685 2009-12-06  Bruno Haible  <bruno@clisp.org>
34686
34687         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
34688         value.
34689
34690 2009-12-06  Bruno Haible  <bruno@clisp.org>
34691
34692         * lib/progname.c: Include stdio.h, stdlib.h.
34693         (set_program_name): Reject a NULL argument.
34694
34695 2009-12-05  Eric Blake  <ebb9@byu.net>
34696
34697         pipe2-safer: new module
34698         * modules/pipe2-safer: New file.
34699         * lib/unistd-safer.h (pipe2_safer): New prototype.
34700         * lib/unistd--.h (pipe2): New wrapper.
34701         * lib/pipe-safer.c (pipe2_safer): New function.
34702         * modules/pipe (Depends-on): Add pipe2-safer.
34703         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
34704
34705         stdlib-safer: preserve cloexec flag for mkostemp[s]
34706         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
34707         fd_safer_flag.
34708
34709         unistd-safer: allow preservation of cloexec status via flag
34710         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
34711         prototypes.
34712         * lib/dup-safer.c (dup_safer_flag): New function.
34713         * lib/fd-safer.c (fd_safer_flag): Likewise.
34714         * modules/cloexec (configure.ac): Set witness.
34715
34716         test-dup2: enhance test
34717         * modules/dup2-tests (Depends-on): Add cloexec.
34718         * tests/test-dup2.c (main): Enhance test.
34719
34720         cloexec: add dup_cloexec
34721         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
34722         header and comments.
34723         * lib/cloexec.c (set_cloexec_flag): Add comments.
34724         (dup_cloexec): New function, with mingw implementation borrowed
34725         from...
34726         * lib/w32spawn.h (dup_noinherit): ...here.
34727         * modules/execute (Depends-on): Add cloexec.
34728         * modules/pipe (Depends-on): Likewise.
34729         * modules/cloexec (Depends-on): Add dup2.
34730         * modules/cloexec-tests (Files): New file.
34731         * tests/test-cloexec.c: Likewise.
34732
34733         test-xalloc-die: fix test for mingw
34734         * modules/xalloc-die-tests (Files): Add tests/init.sh.
34735         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
34736         directory and .exe suffix off argv[0] output.
34737
34738         test-fseeko: fix test for mingw
34739         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
34740         than undefining fseek, so test will pass on mingw.
34741
34742 2009-12-05  Bruno Haible  <bruno@clisp.org>
34743
34744         * lib/progname.h (set_program_name): Clarify specification.
34745         * lib/progname.c (set_program_name): Likewise.
34746         Reported by Jim Meyering.
34747
34748 2009-12-05  Jim Meyering  <meyering@redhat.com>
34749
34750         maint.mk: backslash-escape parens in default regexp
34751         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
34752         backslash-escape the literal parentheses.
34753
34754         maint.mk: news-date-check: use grep -E
34755         * top/maint.mk (today): Define a Make variable, not a...
34756         (news-date-check): ...shell variable.
34757         (news-date-regexp): Use the Make variable.
34758         Use grep's -E option.  Change the failing diagnostic to mention
34759         the variable, $(news-date-regexp).
34760
34761 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
34762
34763         maintainer-makefile: allow customization of NEWS entry format
34764         * top/maint.mk (news-date-regexp): New overridable variable.
34765         (news-date-check): Use it.
34766
34767 2009-12-04  Eric Blake  <ebb9@byu.net>
34768
34769         mgetgroups: add xgetgroups, and avoid ENOSYS failures
34770         * lib/mgetgroups.h (xgetgroups): New prototype.
34771         * lib/mgetgroups.c (xgetgroups): New wrapper.
34772         (mgetgroups): Handle ENOSYS.
34773         * modules/mgetgroups (Depends-on): Add realloc.
34774         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
34775
34776         mgetgroups: avoid argument promotion issues with -1
34777         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
34778         for invalid gid_t.
34779         * tests/test-chown.h (getegid, test_chown): Likewise.
34780         * tests/test-lchown.h (getegid, test_lchown): Likewise.
34781
34782 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
34783
34784         exclude: Fix header file problems.
34785         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
34786
34787 2009-12-01  Jim Meyering  <meyering@redhat.com>
34788
34789         fts: fts_open: do not let an empty string cause immediate failure
34790         This is required in support of GNU rm, for which the command
34791         "rm A '' B" must process and remove both A and B, in spite of
34792         the empty string argument.
34793         * lib/fts.c (fts_open): Do not let the presence of an empty string
34794         cause fts_open to fail immediately.  Most fts-using tools must be
34795         able to process all arguments, in order, and can be expected to
34796         diagnose such arguments themselves.
34797
34798 2009-11-30  Eric Blake  <ebb9@byu.net>
34799
34800         utimens: fix compilation error
34801         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
34802         Declare variable at right scope.
34803
34804 2009-11-29  Jim Meyering  <meyering@redhat.com>
34805
34806         bootstrap: handle perl-5.11's changed --version output
34807         * build-aux/bootstrap (get_version): Handle perl separately,
34808         since perl-5.11's --version output is different.
34809
34810 2009-11-28  Jim Meyering  <meyering@redhat.com>
34811
34812         userspec: depend on the inttostr module, too
34813         * modules/userspec (Depends-on): Add inttostr.
34814
34815         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
34816         * lib/userspec.c (parse_with_separator): Do not accept a user ID
34817         number of MAXUID when it evaluates to (uid_t) -1.
34818         Likewise for group ID.  Reported by Matt McCutchen in
34819         <http://savannah.gnu.org/bugs/?28113>
34820
34821         userspec: reformat to use spaces, not TABs
34822         * lib/userspec.c: Expand TABs to spaces.
34823         Add Emacs' "indent-tabs-mode: nil" hint.
34824
34825 2009-11-27  Eric Blake  <ebb9@byu.net>
34826
34827         getopt-gnu: flush out another BSD bug
34828         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
34829         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
34830         flush out BSD bug.
34831         * tests/test-getopt.h (test_getopt): End lists with NULL.
34832         * tests/test-getopt_long.h (test_getopt_long): Likewise.
34833         (test_getopt_long_posix): Enhance test.
34834         * modules/getopt-posix-tests (Depends-on): Add stdbool.
34835         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
34836         getopt-gnu.
34837         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34838         Likewise.
34839
34840 2009-11-27  Simon Josefsson  <simon@josefsson.org>
34841
34842         * modules/idpriv-droptemp-tests (Notice): Fix text.
34843
34844 2009-11-27  Jim Meyering  <meyering@redhat.com>
34845
34846         test-xalloc-die: avoid spurious failure due to libtool argv difference
34847         In a libtool-enabled project, this test would fail due to a difference
34848         in the emitted program name, e.g.,
34849         -test-xalloc-die: memory exhausted
34850         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
34851         Use program to avoid that.
34852         * modules/xalloc-die-tests (Depends-on): Add progname.
34853         * tests/test-xalloc-die.c: Include progname.h".
34854         (program_name): Remove decl.
34855         (main): Call set_program_name.
34856         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
34857
34858 2009-11-26  Richard Jones  <rjones@redhat.com>
34859
34860         w32sock: leave win32 error in place.
34861         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
34862
34863 2009-11-26  Eric Blake  <ebb9@byu.net>
34864
34865         init.sh: suggest to use skip_ and fail_ functions in comments
34866         * tests/init.sh: Add a sentence.
34867
34868 2009-11-25  Bruno Haible  <bruno@clisp.org>
34869
34870         init.sh: add documentation in comments
34871         * tests/init.sh: Add some developer and user documentation.
34872
34873 2009-11-26  Jim Meyering  <meyering@redhat.com>
34874
34875         init.sh: accommodate even those who specify bogus srcdir manually
34876         * tests/init.sh: Normally, srcdir is guaranteed by automake and
34877         configure-time tests to be sanitized, so that there is no need to
34878         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
34879         (with no double quotes) suffices.  However, since tests may be
34880         invoked manually, and since you may explicitly set srcdir to the
34881         name of a directory containing spaces, do quote its uses here.
34882         * tests/test-pread.sh: Likewise.
34883         Suggested by Bruno Haible.
34884
34885         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
34886         * tests/test-pread.sh: Write no data into the pipe, because
34887         test-pread actually reads none.  This avoids a diagnostic,
34888         "bash: echo: write error: Broken pipe", that arises in the unusual
34889         event something is ignoring SIGPIPE, and might be interpreted
34890         as some sort of failure.  Reported by Bruno Haible.
34891
34892 2009-11-25  Jim Meyering  <meyering@redhat.com>
34893
34894         test-pread: cover failure with ESPIPE and EINVAL
34895         * tests/test-pread.c (main): Test for failure, too.
34896         * tests/test-pread.sh: Invoke with stdin on a pipe.
34897         Suggested by Eric Blake.
34898
34899         pread: improvement and fix
34900         * modules/pread (Depends-on): Depend on lseek, for portability to
34901         e.g., mingw.  Suggested by Eric Blake.
34902         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
34903
34904         unistd.in.h: correct declaration of pread
34905         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
34906         Reported by Richard W.M. Jones.
34907
34908         test-pread.sh: distribute the test script
34909         * modules/pread-tests (Files): Include test-pread.sh.
34910
34911         test-pread.sh: clean up
34912         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
34913         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
34914         That is unnecessary, since it's always ".".
34915         Suggestion from Eric Blake.
34916
34917         test-pread.sh: make executable
34918         * tests/test-pread.sh: Set executable bit.
34919         Reported by Eric Blake.
34920
34921         correct typo in test-pread.sh
34922         * tests/test-pread.sh: Add #! line.
34923
34924         test pread
34925         * tests/test-pread.c: New file.
34926         * tests/test-pread.sh: Likewise.
34927         * modules/pread-tests: Likewise.
34928
34929         pread: new module
34930         * modules/pread: New file.
34931         * lib/unistd.in.h (pread): Define/declare.
34932         * lib/pread.c (pread): New file.
34933         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
34934         * modules/unistd (Makefile.am): Substitute witnesses.
34935         * doc/posix-functions/pread.texi (pread): Update.
34936         * MODULES.html.sh: Add pread.
34937
34938 2009-11-25  Jim Meyering  <meyering@redhat.com>
34939
34940         tests/init.sh: new file to be used via most *.sh tests
34941         * tests/init.sh: New file.
34942
34943 2009-11-25  Eric Blake  <ebb9@byu.net>
34944
34945         utimens: work around older Linux failure with symlinks
34946         * lib/utimens.c (lutimensat_works_really): New variable.
34947         (fdutimens, lutimens): Use it to manage kernels that support
34948         nanosecond times on files, but not on symlinks.
34949         Reported by OndÅ™ej Vašík.
34950
34951         utimes: fix configure grammar
34952         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
34953
34954 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
34955
34956         regex: Fix fastmap for multibyte character ranges.
34957         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
34958         characters when a multibyte character range is included.
34959
34960 2009-11-22  Andy Wingo  <wingo@pobox.com>
34961
34962         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
34963         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
34964
34965 2009-11-24  Bruno Haible  <bruno@clisp.org>
34966
34967         doc: Most *_l functions exist in MacOS X 10.5.
34968         * doc/posix-functions/duplocale.texi: Update platforms list.
34969         * doc/posix-functions/freelocale.texi: Likewise.
34970         * doc/posix-functions/newlocale.texi: Likewise.
34971         * doc/posix-functions/uselocale.texi: Likewise.
34972         * doc/posix-functions/isalnum_l.texi: Likewise.
34973         * doc/posix-functions/isalpha_l.texi: Likewise.
34974         * doc/posix-functions/isblank_l.texi: Likewise.
34975         * doc/posix-functions/iscntrl_l.texi: Likewise.
34976         * doc/posix-functions/isdigit_l.texi: Likewise.
34977         * doc/posix-functions/isgraph_l.texi: Likewise.
34978         * doc/posix-functions/islower_l.texi: Likewise.
34979         * doc/posix-functions/isprint_l.texi: Likewise.
34980         * doc/posix-functions/ispunct_l.texi: Likewise.
34981         * doc/posix-functions/isspace_l.texi: Likewise.
34982         * doc/posix-functions/isupper_l.texi: Likewise.
34983         * doc/posix-functions/iswalnum_l.texi: Likewise.
34984         * doc/posix-functions/iswalpha_l.texi: Likewise.
34985         * doc/posix-functions/iswblank_l.texi: Likewise.
34986         * doc/posix-functions/iswcntrl_l.texi: Likewise.
34987         * doc/posix-functions/iswctype_l.texi: Likewise.
34988         * doc/posix-functions/iswdigit_l.texi: Likewise.
34989         * doc/posix-functions/iswgraph_l.texi: Likewise.
34990         * doc/posix-functions/iswlower_l.texi: Likewise.
34991         * doc/posix-functions/iswprint_l.texi: Likewise.
34992         * doc/posix-functions/iswpunct_l.texi: Likewise.
34993         * doc/posix-functions/iswspace_l.texi: Likewise.
34994         * doc/posix-functions/iswupper_l.texi: Likewise.
34995         * doc/posix-functions/iswxdigit_l.texi: Likewise.
34996         * doc/posix-functions/isxdigit_l.texi: Likewise.
34997         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
34998         * doc/posix-functions/strcasecmp_l.texi: Likewise.
34999         * doc/posix-functions/strcoll_l.texi: Likewise.
35000         * doc/posix-functions/strfmon_l.texi: Likewise.
35001         * doc/posix-functions/strftime_l.texi: Likewise.
35002         * doc/posix-functions/strncasecmp_l.texi: Likewise.
35003         * doc/posix-functions/strxfrm_l.texi: Likewise.
35004         * doc/posix-functions/tolower_l.texi: Likewise.
35005         * doc/posix-functions/toupper_l.texi: Likewise.
35006         * doc/posix-functions/towctrans_l.texi: Likewise.
35007         * doc/posix-functions/towlower_l.texi: Likewise.
35008         * doc/posix-functions/towupper_l.texi: Likewise.
35009         * doc/posix-functions/wcscoll_l.texi: Likewise.
35010         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
35011         * doc/posix-functions/wctrans_l.texi: Likewise.
35012         * doc/posix-functions/wctype_l.texi: Likewise.
35013         * doc/glibc-functions/strptime_l.texi: Likewise.
35014         * doc/glibc-functions/strtod_l.texi: Likewise.
35015         * doc/glibc-functions/strtof_l.texi: Likewise.
35016         * doc/glibc-functions/strtol_l.texi: Likewise.
35017         * doc/glibc-functions/strtold_l.texi: Likewise.
35018         * doc/glibc-functions/strtoll_l.texi: Likewise.
35019         * doc/glibc-functions/strtoul_l.texi: Likewise.
35020         * doc/glibc-functions/strtoull_l.texi: Likewise.
35021         * doc/glibc-functions/wcsftime_l.texi: Likewise.
35022         * doc/glibc-functions/wcstod_l.texi: Likewise.
35023         * doc/glibc-functions/wcstof_l.texi: Likewise.
35024         * doc/glibc-functions/wcstol_l.texi: Likewise.
35025         * doc/glibc-functions/wcstold_l.texi: Likewise.
35026         * doc/glibc-functions/wcstoll_l.texi: Likewise.
35027         * doc/glibc-functions/wcstoul_l.texi: Likewise.
35028         * doc/glibc-functions/wcstoull_l.texi: Likewise.
35029
35030 2009-11-24  Bruno Haible  <bruno@clisp.org>
35031
35032         duplocale: Fix logic bug.
35033         * lib/duplocale.c: Don't include <langinfo.h>.
35034         (_NL_LOCALE_NAME): Remove macro.
35035         (rpl_duplocale): Use setlocale instead of nl_langinfo.
35036         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
35037
35038 2009-11-23  Jim Meyering  <meyering@redhat.com>
35039
35040         test-update-copyright: don't hard-code /usr/bin/perl
35041         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
35042         perl to print the current year.  Gilles Espinasse reported that
35043         the replaced use of perl was hard-coded as /usr/bin/perl.
35044
35045 2009-11-23  Bruno Haible  <bruno@clisp.org>
35046
35047         duplocale: Add support for glibc 2.3.x.
35048         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
35049
35050 2009-11-22  Bruno Haible  <bruno@clisp.org>
35051
35052         vasnprintf: Tiny optimization.
35053         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
35054         MacOS X.
35055
35056 2009-11-22  Bruno Haible  <bruno@clisp.org>
35057
35058         Tests for module 'duplocale'.
35059         * modules/duplocale-tests: New file.
35060         * tests/test-duplocale.c: New file.
35061
35062         New module 'duplocale'.
35063         * m4/duplocale.m4: New file.
35064         * lib/locale.in.h (duplocale): New declaration.
35065         * lib/duplocale.c: New file.
35066         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
35067         gl_LOCALE_H_DEFAULTS): New macros.
35068         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
35069         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
35070         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
35071         REPLACE_DUPLOCALE.
35072         * modules/duplocale: New file.
35073         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
35074
35075 2009-11-22  Bruno Haible  <bruno@clisp.org>
35076
35077         * modules/locale-tests (configure.ac): Test for newlocale function.
35078         * tests/test-locale.c: When the system has extended locale functions,
35079         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
35080
35081         locale: Make locale_t available when possible.
35082         * lib/locale.in.h: Include <xlocale.h> when it exists.
35083         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
35084         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
35085         * modules/locale (Depends-on): Add extensions.
35086         (Makefile.am): Also substitute HAVE_XLOCALE_H.
35087         * doc/posix-headers/locale.texi: Document the problem with locale_t.
35088
35089 2009-11-22  Bruno Haible  <bruno@clisp.org>
35090
35091         Add comments.
35092         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
35093         invocation.
35094         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
35095         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
35096         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
35097
35098 2009-11-22  Bruno Haible  <bruno@clisp.org>
35099
35100         error: account for the possibility of freopen (stdout).
35101         * lib/error.c: Include <unistd.h>.
35102         (flush_stdout): New function, extracted from error and error_at_line.
35103         Determine stdout's fd dynamically.
35104         (error, error_at_line): Invoke flush_stdout.
35105         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
35106         * modules/error (Depends-on): Add unistd.
35107
35108 2009-11-22  Bruno Haible  <bruno@clisp.org>
35109
35110         diffseq: Add comment.
35111         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
35112
35113 2009-11-22  Jim Meyering  <meyering@redhat.com>
35114
35115         c-stack: avoid defining an unused static function
35116         * lib/c-stack.c (find_stack_direction): Do not define this function
35117         when it will not be used.
35118
35119         diffseq: avoid spurious gcc warnings
35120         * lib/diffseq.h (IF_LINT2): Define.
35121         (compareseq): Use it to initialize two members of "part".
35122         This avoids two used-uninitialized warnings.
35123
35124 2009-11-21  Jim Meyering  <meyering@redhat.com>
35125
35126         c-stack: avoid "ignoring return value of `write'" warning
35127         * lib/c-stack.c: Include "ignore-value.h".
35128         (die): Explicitly ignore each write return value.
35129         * modules/c-stack (Depends-on): Add ignore-value.
35130
35131 2009-11-21  Bruno Haible  <bruno@clisp.org>
35132
35133         diffseq: reduce scope of variable 'best'.
35134         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
35135         variable, earlier used for two different purposes.
35136
35137 2009-11-21  Jim Meyering  <meyering@redhat.com>
35138
35139         diffseq: remove useless assignment to "best"
35140         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
35141         assignment.  At that point "best" is already guaranteed to be zero.
35142
35143 2009-11-20  Eric Blake  <ebb9@byu.net>
35144
35145         build: mention ftp redirector in release announcements
35146         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
35147         values that used to come from cfg.mk; mention FTP redirect URL.
35148         * build-aux/announce-gen: Mention the mirror list.
35149         Suggested by Karl Berry.
35150
35151         nanosleep: improve port to mingw
35152         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
35153         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
35154         LIB_NANOSLEEP, but only when needed.
35155         * modules/select (Link): Document LIBSOCKET.
35156         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
35157         enough.
35158
35159         nanosleep: work around cygwin bug
35160         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
35161         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
35162         bug.
35163         (getnow): Delete, not needed.
35164         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
35165         LIB_CLOCK_GETTIME.
35166         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
35167         clock-time, gettime.
35168         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
35169         bug.
35170         * modules/nanosleep-tests: New test.
35171         * tests/test-nanosleep.c: New file.
35172
35173         sleep: work around cygwin bug
35174         * lib/sleep.c (rpl_sleep): Work around the bug.
35175         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
35176         (gl_PREREQ_SLEEP): Delete unused macro.
35177         * modules/sleep (Depends-on): Add verify.
35178         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
35179         * modules/unistd (Makefile.am): Substitute witness.
35180         * lib/unistd.in.h (sleep): Update prototype.
35181         * doc/posix-functions/sleep.texi (sleep): Document the bug.
35182         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
35183         * modules/sleep-tests (Depends-on): Check for alarm.
35184
35185 2009-11-20  Jim Meyering  <meyering@redhat.com>
35186
35187         maint.mk: improve sc_prohibit_magic_number_exit
35188         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
35189         so it does not match uses like System.exit(1).
35190         Add comments showing how to correct all offenders.
35191
35192 2009-11-19  Eric Blake  <ebb9@byu.net>
35193
35194         xalloc-die-tests: add missing library
35195         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
35196
35197         test-xvasprintf: silence compiler warnings
35198         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
35199         empty string from gcc.
35200
35201 2009-11-19  Jim Meyering  <meyering@redhat.com>
35202
35203         xfreopen: new module, from coreutils
35204         * modules/xfreopen: New module.
35205         * lib/xfreopen.c: New file.
35206         * lib/xfreopen.h: New file.
35207         * MODULES.html.sh (File stream based Input/Output"): Add it.
35208
35209 2009-11-19  Eric Blake  <ebb9@byu.net>
35210
35211         manywarnings: depend on warnings
35212         * modules/manywarnings (Depends-on): Add warnings.
35213
35214         build: avoid compiler warnings
35215         * lib/select.c (rpl_select): Delete unused variable.
35216         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
35217
35218 2009-11-18  Eric Blake  <ebb9@byu.net>
35219
35220         tests: avoid false negative with --with-packager
35221         * tests/test-version-etc.sh: Discard packager information.
35222         * tests/test-argp-version-etc-1.sh: Likewise.
35223         Reported by Mike Frysinger.
35224
35225         utimens: fix regression on Solaris
35226         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
35227         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
35228         can only change fd timestamps via futimesat.  Instead, use an
35229         additional witness macro to avoid BSD bug.
35230         Reported by Jim Meyering.
35231
35232 2009-11-17  Eric Blake  <ebb9@byu.net>
35233
35234         usleep: use it to simplify tests
35235         * modules/stat-time-tests (Depends-on): Add usleep.
35236         (configure.ac): Drop usleep check.
35237         * modules/chown-tests (Depends-on, configure.ac): Likewise.
35238         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
35239         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
35240         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
35241         * modules/openat-tests (Depends-on, configure.ac): Likewise.
35242         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
35243         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
35244         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
35245         Likewise.
35246         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
35247         * tests/test-lchown.h (nap): Likewise.
35248         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
35249         * tests/test-stat-time.c (nap): Likewise.
35250         * tests/test-utimens-common.h (nap): Update comments.
35251
35252         usleep: new module
35253         * modules/usleep: New file.
35254         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
35255         * lib/usleep.c (usleep): Likewise.
35256         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
35257         * modules/unistd (Makefile.am): Substitute witnesses.
35258         * lib/unistd.in.h (usleep): Add declaration.
35259         * doc/pastposix-functions/usleep.texi (usleep): Document this.
35260         * MODULES.html.sh (Date and time): Likewise.
35261         * modules/usleep-tests (Depends-on): New test.
35262         * tests/test-usleep.c: New file.
35263
35264         chown: work around OpenBSD bug
35265         * lib/chown.c (rpl_chown): Work around the bug.
35266         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
35267         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
35268         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
35269         * modules/chown (Depends-on): Add stdbool.
35270         * modules/lchown (Depends-on): Likewise.
35271         * doc/posix-functions/chown.texi (chown): Document the bug.
35272         * doc/posix-functions/lchown.texi (lchown): Likewise.
35273         * tests/test-lchown.h (test_chown): Relax test.
35274
35275         mkstemp: avoid conflict with C++ keyword template
35276         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
35277         * lib/mkostemp.c (mkostemp): Likewise.
35278         * lib/mkostemps.c (mkostemps): Likewise.
35279         * lib/mkstemp.c (mkstemp): Likewise.
35280         * lib/mkstemps.c (mkstemps): Likewise.
35281
35282         xalloc-die-tests: optimize
35283         * tests/test-xalloc-die.sh: Reduce number of processes.
35284
35285 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35286
35287         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
35288         patch from ludo@gnu.org (Ludovic Courtès).
35289
35290 2009-11-17  Jim Meyering  <meyering@redhat.com>
35291
35292         version-etc: use proper license string
35293         * modules/version-etc (License): Use LGPL, not LGPLv3+.
35294         * modules/version-etc-fsf: Likewise.
35295
35296 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35297
35298         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
35299         printed to stdout.  Deal with EOL differences.
35300
35301 2009-11-17  Eric Blake  <ebb9@byu.net>
35302
35303         unsetenv: work around Solaris bug
35304         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
35305         * lib/unsetenv.c (rpl_unsetenv): Work around it.
35306         Reported by Jim Meyering.
35307
35308         vasnprintf: avoid compiler warnings
35309         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
35310         variables.
35311         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
35312
35313 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35314
35315         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
35316         settings since xalloc-die is no longer the self test,
35317         xalloc-die.sh is.
35318
35319 2009-11-17  Jim Meyering  <meyering@redhat.com>
35320
35321         test-xalloc-die.sh: make the code agree with the commit log
35322         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
35323         at the end, just in case you happen to have a test-xalloc-die
35324         program in some other PATH directory.
35325
35326         test-xalloc-die.sh: fix a portability bug
35327         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
35328         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
35329         Otherwise, argv[0] (as often seen in diagnostics) would be too
35330         system-dependent, sometimes with, and sometimes without the leading "./".
35331
35332         version-etc-fsf: relax license to LGPLv3+
35333         * modules/version-etc-fsf (License): Relax license.
35334
35335 2009-11-16  Eric Blake  <ebb9@byu.net>
35336
35337         xalloc-die-tests: avoid printing null pointer
35338         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
35339         shell script.
35340         * tests/test-xalloc-die.c (program_name): Declare.
35341         * tests/test-xalloc-die.sh (tmpfiles): New file.
35342
35343         setenv, unsetenv: work around various bugs
35344         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
35345         (setenv) [HAVE_SETENV]: Work around bugs.
35346         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
35347         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
35348         for bugs.
35349         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
35350         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
35351         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
35352         * modules/stdlib (Makefile.am): Update substitutions.
35353         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
35354         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
35355         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
35356         * modules/setenv-tests: New test.
35357         * modules/unsetenv-tests: Likewise.
35358         * tests/test-setenv.c: New file.
35359         * tests/test-unsetenv.c: Likewise.
35360
35361 2009-11-16  Jim Meyering  <meyering@redhat.com>
35362
35363         version-etc: relax license to LGPLv3+
35364         * modules/version-etc (License): Relax license.
35365
35366         better AC_REQUIRE expanded-before-required-warning avoidance
35367         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
35368         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
35369         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
35370         which is no longer needed.
35371
35372 2009-11-16  Eric Blake  <ebb9@byu.net>
35373
35374         test-freading: clean up temporary file
35375         * tests/test-freading.c (main): Remove file on success, and use
35376         ASSERT more liberally.
35377         Reported by Jim Meyering.
35378
35379 2009-11-16  Jim Meyering  <meyering@redhat.com>
35380
35381         avoid new AC_REQUIRE expanded-before-required warnings
35382         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
35383         merely using it.
35384         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
35385         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
35386
35387 2009-11-15  Simon Josefsson  <simon@josefsson.org>
35388
35389         * tests/test-xalloc-die.c: New file.
35390         * modules/xalloc-die-tests: New file.
35391         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
35392         XFAIL_TESTS so it can be appended by modules.
35393
35394 2009-11-15  Simon Josefsson  <simon@josefsson.org>
35395
35396         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
35397         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
35398
35399 2009-11-14  Eric Blake  <ebb9@byu.net>
35400
35401         fnmatch: avoid compiler warning
35402         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
35403         to silence compiler warning about mismatch signedness in ?:.
35404         Reported by Robert Millan.
35405
35406         intprops: add double-inclusion guard
35407         * lib/intprops.h: Allow idempotent includes.
35408         Suggested by Bruce Korb.
35409
35410         openat: detect Solaris fchownat bug
35411         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
35412         penalizing glibc chownat when only lchownat is broken.
35413         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
35414         trailing slash bugs.
35415         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
35416         * modules/openat-tests (Files): Include more files.
35417         (Depends-on): Add mgetgroups, sleep, stat-time.
35418         (configure.ac): Add additional checks.
35419         (Makefile.am): Build new test.
35420         * tests/test-fchownat.c: New file.
35421
35422         lchown: detect Solaris and FreeBSD bug
35423         * lib/lchown.c (rpl_lchown): Work around bug.
35424         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
35425         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35426         * modules/unistd (Makefile.am): Populate it.
35427         * lib/unistd.in.h (lchown): Update declaration.
35428         * doc/posix-functions/lchown.texi (lchown): Document the bug.
35429         * modules/lchown-tests: New file.
35430         * tests/test-lchown.h (test_lchown): Likewise.
35431         * tests/test-lchown.c (main): Likewise.
35432
35433         chown: detect Solaris and FreeBSD bug
35434         * lib/chown.c (rpl_chown): Work around bug.
35435         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
35436         (gl_PREREQ_CHOWN): Delete.
35437         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35438         * modules/unistd (Makefile.am): Populate it.
35439         * lib/unistd.in.h (chown): Update declaration.
35440         * lib/lchown.c (chown): Update client.
35441         * modules/lchown (Depends-on): Add lstat.
35442         * doc/posix-functions/chown.texi (chown): Document the bug.
35443         * doc/posix-functions/getgroups.texi (getgroups): Document
35444         getgroups pitfall.
35445         * modules/chown-tests: New file.
35446         * tests/test-chown.h (test_chown): Likewise.
35447         * tests/test-chown.c (main): Likewise.
35448
35449 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
35450
35451         gnulib-tool: correctly detect absence of m4 directories
35452         * gnulib-tool: Avoid extra newline on data passed to wc -l.
35453
35454 2009-11-14  Jim Meyering  <meyering@redhat.com>
35455
35456         maint.mk: Prohibit inclusion of "xalloc.h" without use.
35457         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
35458
35459 2009-11-14  John W. Eaton  <jwe@gnu.org>
35460
35461         strftime.h: wrap funtion declaration in extern "C" block
35462         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
35463
35464 2009-11-13  Eric Blake  <ebb9@byu.net>
35465
35466         getgroups: avoid compiler warning
35467         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
35468
35469         getgroups: work around FreeBSD bug
35470         * lib/getgroups.c (rpl_getgroups): Work around the bug.
35471         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
35472         * doc/posix-functions/getgroups.texi (getgroups): Document it.
35473         * tests/test-getgroups.c (main): Fix buffer overrun.
35474
35475         getgroups: avoid compilation failure
35476         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
35477         * modules/getgroups (Depends-on): Add stdint.
35478
35479 2009-11-13  Jim Meyering  <meyering@redhat.com>
35480
35481         test-getgroups: avoid compilation failure
35482         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
35483
35484 2009-11-13  Eric Blake  <ebb9@byu.net>
35485
35486         mgetgroups: new module, taken from coreutils
35487         * modules/mgetgroups: New file.
35488         * lib/mgetgroups.h: Likewise.
35489         * lib/mgetgroups.c (mgetgroups): Likewise.
35490         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
35491         * MODULES.html.sh (Users and groups): Mention it.
35492
35493         getgroups: don't expose GETGROUPS_T to user
35494         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
35495         an element at a time if GETGROUPS_T is wrong size.
35496         * lib/getugroups.h (getugroups): Change signature.
35497         * lib/unistd.in.h (getgroups): Likewise.
35498         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
35499         signature needs fixing.
35500         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
35501         AC_TYPE_GETGROUPS.
35502         * modules/group-member (Depends-on): Add getgroups.
35503         * lib/group-member.c (group_info, get_group_info): Use gid_t.
35504         (group_member): Rely on getgroups replacement.
35505         * lib/getugroups.c (getugroups): Use gid_t.
35506         * tests/test-getgroups.c (main): Likewise.
35507         * NEWS: Mention the signature change.
35508         * doc/posix-functions/getgroups.texi (getgroups): Mention the
35509         problem with signature.
35510         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
35511         GETGROUPS_T is still useful for setgroups.
35512
35513         getgroups, getugroups: provide stubs for mingw
35514         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
35515         * lib/getugroups.c (getugroups): Likewise.
35516         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
35517         function.  Modernize replacement scheme.
35518         (gl_PREREQ_GETGROUPS): Delete.
35519         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
35520         * modules/getgroups (configure.ac): Declare witness.
35521         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
35522         * modules/unistd (Depends-on): Substitute witness.
35523         * lib/unistd.in.h (getgroups): Declare replacement.
35524
35525         getgroups: avoid calling exit
35526         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
35527         drop xalloc.
35528         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
35529         dependencies.
35530         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
35531         exiting, in the rare case of malloc failure.
35532
35533         getgroups: fix logic error
35534         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
35535         has more than 20 groups.
35536         * modules/getgroups-tests: New test.
35537         * tests/test-getgroups.c: New file.
35538
35539 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35540
35541         * tests/test-base64.c: Improve.
35542
35543 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35544
35545         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
35546         Blake <ebb9@byu.net>.
35547
35548 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35549
35550         * tests/test-xvasprintf.c: Add %s%s related checks.
35551
35552 2009-11-12  Eric Blake  <ebb9@byu.net>
35553
35554         version-etc: match standards.texi style
35555         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
35556         and use <> only for URLs.
35557
35558 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
35559
35560         fts: do not fail on a submount during traversal
35561         * lib/fts.c (fts_build): Read the stat info again after opening
35562         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
35563         Original report at http://bugzilla.redhat.com/501848.
35564
35565 2009-11-12  Jim Meyering  <meyering@redhat.com>
35566
35567         bootstrap: sync from coreutils
35568         * build-aux/bootstrap (bootstrap_epilogue): New function.
35569         Use git_modules_config in one more place.  This make bootstrap's
35570         --gnulib-srcdir option more useful for testing.
35571
35572         bootstrap: generalize autoheader check
35573         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
35574         AC_CONFIG_HEADERS.
35575
35576 2009-11-11  Eric Blake  <ebb9@byu.net>
35577
35578         mkfifoat: use new modules for Solaris and BSD bugs
35579         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
35580         * lib/mkfifoat.c (mknodat): Split...
35581         * lib/mknodat.c (mknodat): ...into new file.
35582         * modules/mkfifoat (Files): Ship new file.
35583         (Depends-on): Add mkfifo, mknod.
35584         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
35585         (Depends-on): Add symlink.
35586         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
35587         redundant with test_mkfifo.h.
35588         (do_mkfifoat, do_mknodat): New helpers.
35589
35590         mknod: new module
35591         * modules/mknod: New file.
35592         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
35593         * lib/mknod.c (mknod): Likewise.
35594         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
35595         defaults.
35596         * modules/sys_stat (Makefile.am): Substitute them.
35597         * lib/sys_stat.in.h (mknod): Declare replacement.
35598         * MODULES.html.sh (Support for systems lacking POSIX:2008):
35599         Document it.
35600         * doc/posix-functions/mknod.texi (mknod): Likewise.
35601         * modules/mknod-tests: New test.
35602         * tests/test-mknod.c: Likewise.
35603
35604         mkfifo: new module
35605         * modules/mkfifo: New file.
35606         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
35607         * lib/mkfifo.c (mkfifo): Likewise.
35608         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
35609         defaults.
35610         * modules/sys_stat (Makefile.am): Substitute them.
35611         * lib/sys_stat.in.h (mkfifo): Declare replacement.
35612         * MODULES.html.sh (Support for systems lacking POSIX:2008):
35613         Document it.
35614         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
35615         * modules/mkfifo-tests: New test.
35616         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
35617         from test-mkfifoat.c.
35618         * tests/test-mkfifo.c: New file.
35619
35620         readlink: detect FreeBSD bug
35621         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
35622         slash on symlink.
35623         * doc/posix-functions/readlink.texi (readlink): Document the bug.
35624         * tests/test-readlink.h (test_readlink): Enhance test.
35625
35626         symlink: detect FreeBSD bug
35627         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
35628         slash on symlink.
35629         * doc/posix-functions/symlink.texi (symlink): Document the bug.
35630         * tests/test-symlink.h (test_symlink): Enhance test.
35631
35632 2009-11-10  Eric Blake  <ebb9@byu.net>
35633
35634         link: detect FreeBSD bug
35635         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
35636         symlink.
35637         * doc/posix-functions/link.texi (link): Document the bug.
35638         * tests/test-link.h (test_link): Enhance test.
35639         * tests/test-linkat.c (main): Update caller.
35640
35641         unlink, remove: detect FreeBSD bug
35642         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
35643         slash on symlink.
35644         * doc/posix-functions/unlink.texi (unlink): Document the bug.
35645         * doc/posix-functions/remove.texi (remove): Likewise.
35646         * tests/test-unlink.h (test_unlink): Enhance test.
35647         * tests/test-remove.c (main): Likewise.
35648
35649 2009-11-09  Eric Blake  <ebb9@byu.net>
35650
35651         rename: detect FreeBSD bug
35652         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
35653         slash on symlink.
35654         * modules/renameat-tests (Depends-on): Add filenamecat.
35655         * tests/test-rename.h (test_rename): Allow one more errno.
35656         * tests/test-renameat.c (main): Likewise.
35657         * doc/posix-functions/rename.texi (rename): Document the bug.
35658
35659         open: detect FreeBSD bug
35660         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
35661         symlink.
35662         * doc/posix-functions/open.texi (open): Document the bug.
35663         * doc/posix-functions/utimes.texi (utimes): Likewise.
35664         * tests/test-open.h (test_open): Add parameters, and test symlink
35665         handling.
35666         * tests/test-open.c (main): Adjust caller.
35667         * tests/test-fcntl-safer.c (main): Likewise.
35668         * modules/open-tests (Depends-on): Add stdbool, symlink.
35669         * modules/fcntl-safer-tests (Depends-on): Likewise.
35670         * tests/test-openat.c (main): Add test-open tests.
35671
35672         stat: detect FreeBSD bug
35673         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
35674         symlink.
35675         * doc/posix-functions/stat.texi (stat): Document the bug.
35676         * tests/test-stat.h (test_stat_func): Add argument.
35677         * tests/test-stat.c (main): Adjust caller.
35678         * tests/test-fstatat.c (main): Likewise.
35679         * modules/stat-tests (Depends-on): Add stdbool, symlink.
35680         Reported by Jim Meyering.
35681
35682 2009-11-09  James Youngman  <jay@gnu.org>
35683
35684         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
35685         * lib/strftime.c: Correct placement of #include "ignore-value.h".
35686
35687 2009-11-08  Jim Meyering  <meyering@redhat.com>
35688
35689         utimens: remove invalid futimesat call
35690         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
35691         It used the file descriptor of the target file as the DIR_FD
35692         parameter and NULL as the file name.  That caused failure with
35693         errno == EFAULT on FreeBSD-8.0-rc2
35694
35695 2009-11-07  Eric Blake  <ebb9@byu.net>
35696
35697         fflush, freadseek: use fseeko, not fseek
35698         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
35699         (clear_ungetc_buffer): Avoid potential problems on large files.
35700         * lib/freadseek.c (freadseek): Likewise.
35701         * modules/freadseek (Depends-on): Add fseeko.
35702         * modules/fseek (configure.ac): Set a witness.
35703         * tests/test-fflush.c (main): Use fseeko.
35704         * tests/test-fpurge.c (fseek): Disable link warning.
35705         * tests/test-freadable.c (fseek): Likewise.
35706         * tests/test-freading.c (fseek): Likewise.
35707         * tests/test-fseeko.c (fseek): Likewise.
35708         * tests/test-ftell.c (fseek): Likewise.
35709         * tests/test-ftello.c (fseek): Likewise.
35710         * tests/test-fwritable.c (fseek): Likewise.
35711         * tests/test-fwriting.c (fseek): Likewise.
35712
35713 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35714
35715         * modules/memchr (Depends-on): Drop getpagesize dependency.
35716
35717 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35718
35719         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
35720         Reported by Ludovic Courtès.
35721         * build-aux/pmccabe2html: Improve example usage.
35722         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
35723
35724 2009-11-06  Jim Meyering  <meyering@redhat.com>
35725
35726         do-release-commit-and-tag: New module.
35727         Automate the release-commit and tag process.
35728         * build-aux/do-release-commit-and-tag: New script, from coreutils.
35729         * modules/do-release-commit-and-tag: New file.
35730         * MODULES.html.sh (Support for maintaining and releasing): Add it.
35731
35732 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35733
35734         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
35735         because test-select.c uses inet_pton.
35736
35737 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35738
35739         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
35740         GETADDRINFO_LIB.  Bump serial number.
35741         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
35742         Suggested by Eric Blake <ebb9@byu.net>.
35743
35744 2009-11-05  Eric Blake  <ebb9@byu.net>
35745
35746         strtod: detect darwin bug
35747         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
35748         Reported by Leo Davis.
35749
35750         freopen-safer: new module
35751         * modules/freopen-safer: New module.
35752         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
35753         * lib/freopen-safer.c (freopen_safer): New file.
35754         * lib/stdio-safer.h (freopen_safer): New declaration.
35755         * lib/stdio--.h (freopen): New override.
35756         * MODULES.html.sh (File stream based Input/Output): Mention it.
35757         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
35758         freopen-safer module.
35759         * doc/posix-functions/stderr.texi (stderr): Likewise.
35760         * doc/posix-functions/stdin.texi (stdin): Likewise.
35761         * doc/posix-functions/stdout.texi (stdout): Likewise.
35762         * modules/freopen-safer-tests: New test.
35763         * tests/test-reopen-safer.c: New file.
35764
35765 2009-11-05  Jim Meyering  <meyering@redhat.com>
35766
35767         maint.mk: Prohibit inclusion of "close-stream.h" without use.
35768         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
35769
35770 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35771
35772         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
35773
35774 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35775
35776         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
35777
35778 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35779
35780         Fix link error.
35781         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
35782         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
35783
35784 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35785
35786         * tests/test-func.c: Also test value of __func__.
35787
35788 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35789
35790         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
35791         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
35792
35793 2009-11-05  Bruno Haible  <bruno@clisp.org>
35794
35795         Fix link error.
35796         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
35797         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
35798         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
35799
35800 2009-11-05  Bruno Haible  <bruno@clisp.org>
35801
35802         Tests for module 'inet_pton'.
35803         * modules/inet_pton-tests: New file.
35804         * tests/test-inet_pton.c: New file.
35805
35806 2009-11-05  Bruno Haible  <bruno@clisp.org>
35807
35808         Tests for module 'inet_ntop'.
35809         * modules/inet_ntop-tests: New file.
35810         * tests/test-inet_ntop.c: New file.
35811
35812 2009-11-04  Eric Blake  <ebb9@byu.net>
35813
35814         stdlib-safer: wrap all mkstemp variants
35815         * modules/mkostemp (configure.ac): Set witness.
35816         * modules/mkostemps (configure.ac): Likewise.
35817         * modules/mkstemps (configure.ac): Likewise.
35818         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
35819         (mkstemps_safer): Wrap more functions.
35820         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
35821         wrapping.
35822         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
35823         (mkstemps_safer): Implement the wrappers.
35824
35825         mkstemps, mkostemps: new modules
35826         * modules/mkostemps: New module.
35827         * modules/mkstemps: Likewise.
35828         * lib/mkostemps.c (mkostemps): New file.
35829         * lib/mkstemps.c (mkstemps): Likewise.
35830         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
35831         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
35832         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
35833         * modules/stdlib (Makefile.am): Substitute them.
35834         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
35835         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
35836         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
35837         * doc/gnulib.texi (Glibc stdlib.h): Include them.
35838         * MODULES.html.sh (File system functions): Mention them.
35839
35840         tempname: resync from glibc
35841         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
35842         same values for __GT_FILE as glibc.  Abort even when assertions
35843         are disabled.
35844         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
35845         match its value otherwise.  Allow idempotent inclusion.
35846         * lib/mkdtemp.c (mkdtemp): Adjust caller.
35847         * lib/mkostemp.c (mkostemp): Likewise.
35848         * lib/mkstemp.c (mkstemp): Likewise.
35849         * lib/tmpfile.c (tmpfile): Likewise.
35850         * NEWS: Document this.
35851
35852         utimens: fix use of futimens on older Linux
35853         * lib/utimens.c (fdutimens): Use updated, rather than original,
35854         timespec to avoid bug in older Linux kernel.
35855         Reported by Simon Josefsson.
35856
35857 2009-11-04  Bruno Haible  <bruno@clisp.org>
35858
35859         Make num_processors more flexible and consistent.
35860         * lib/nproc.h (enum nproc_query): New type.
35861         (num_processors): Add a 'query' argument.
35862         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
35863         (num_processors): Add a 'query' argument. Test the value of the
35864         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
35865         mingw, count the number of CPUs available for the current process.
35866         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
35867         Check for sched_getaffinity and sched_getaffinity_np.
35868         * modules/nproc (Depends-on): Add c-ctype, extensions.
35869         * NEWS: Mention the change.
35870
35871 2009-11-03  Bruno Haible  <bruno@clisp.org>
35872
35873         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
35874
35875 2009-11-03  Jim Meyering  <meyering@redhat.com>
35876
35877         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
35878         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
35879         if it is defined.
35880
35881 2009-11-02  Eric Blake  <ebb9@byu.net>
35882
35883         mktime, timegm: share common declaration
35884         * lib/mktime-internal.h: New file.
35885         * lib/mktime.c: Use it rather than open-coding a declaration.
35886         * lib/timegm.c: Likewise.
35887         * modules/mktime (Files): Ship it.
35888         * modules/timegm (Files): Likewise.
35889         Suggested by Bruno Haible.
35890
35891         test-update-copyright: update test to match script changes
35892         * tests/test-update-copyright.sh: Avoid hard-coding perl
35893         location.  Don't update *.bak created by earlier runs.
35894
35895 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
35896             Simon Josefsson  <simon@josefsson.org>
35897             Bruno Haible  <bruno@clisp.org>
35898
35899         Fix link error on Solaris 8.
35900         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
35901         also in libnsl. Define also INET_PTON_LIB.
35902         * modules/inet_pton (Link): New section.
35903
35904 2009-11-02  Simon Josefsson  <simon@josefsson.org>
35905             Bruno Haible  <bruno@clisp.org>
35906
35907         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
35908         * modules/inet_ntop (Link): New section.
35909         Reported by Boyan Kasarov <bkasarov@gmail.com>.
35910
35911 2009-11-02  Eric Blake  <ebb9@byu.net>
35912
35913         maint: avoid compiler warnings in m4 macros
35914         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
35915         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
35916
35917 2009-11-02  Simon Josefsson  <simon@josefsson.org>
35918
35919         * m4/pmccabe2html.m4: Remove file.
35920         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
35921         function.  Change maintainer.
35922         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
35923         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
35924         Courtès).
35925
35926 2009-10-31  Eric Blake  <ebb9@byu.net>
35927
35928         fseeko: fix m4 regression
35929         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
35930         regression from 2009-10-27.
35931         Reported by Ralf Wildenhues.
35932
35933 2009-10-31  Jim Meyering  <meyering@redhat.com>
35934
35935         inttostr: aesthetics and improved (compile-time) safety
35936         Define inttype_is_signed rather than inttype_is_unsigned,
35937         since the sole use is via "#if inttype_is_signed".
35938         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
35939         inttype_is_unsigned.
35940         * lib/offtostr.c (inttype_is_signed): Likewise.
35941         * lib/uinttostr.c (inttype_is_signed): Likewise.
35942         * lib/umaxtostr.c (inttype_is_signed): Likewise.
35943         * lib/inttostr.c (inttostr): Use verify to cross-check the
35944         inttype_is_signed value and the signedness of the actual type.
35945         * modules/inttostr (Depends-on): Add verify.
35946
35947 2009-10-30  Eric Blake  <ebb9@byu.net>
35948
35949         build: avoid compiler warnings
35950         * lib/fchmodat.c (lchmod): Mark unused variables.
35951         * lib/getopt.c (_getopt_initialize): Likewise.
35952         * lib/mktime.c (__mktime_internal): Provide prototype.
35953         * lib/inttostr.c (inttostr): Avoid compiler warning even with
35954         older gcc that do not understand #pragma GCC diagnostic.
35955         * lib/uinttostr.c (inttype_is_unsigned): Define.
35956         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
35957
35958 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
35959
35960         stat: fix compilation on AIX
35961         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
35962         only see struct stat64.
35963
35964 2009-10-30  Eric Blake  <ebb9@byu.net>
35965
35966         exclude: make more robust
35967         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
35968         rather than masking a coding bug.
35969         Suggested by Bruno Haible.
35970
35971 2009-10-30  Jim Meyering  <meyering@redhat.com>
35972
35973         perl scripts: remove #!/usr/bin/perl in favor of more portable...
35974         Rather than putting #!/usr/bin/perl on the first line,
35975         start with a variant of what's recommended by "man perlrun" that
35976         invokes the first "perl" program from your shell's search path.
35977         * build-aux/gitlog-to-changelog: Replace #!... as above.
35978         Add a "Local Variables" perl mode setting.
35979         Prompted by a patch from Ludovic Courtès.
35980         Improved by Eric Blake.
35981         * build-aux/useless-if-before-free: Likewise.
35982         * build-aux/announce-gen: Likewise.
35983         * build-aux/update-copyright: Likewise.
35984
35985 2009-10-29  Eric Blake  <ebb9@byu.net>
35986
35987         filenamecat-lgpl: adjust clients
35988         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
35989         filenamecat.
35990         * modules/renameat (Depends-on): Likewise.
35991
35992         filenamecat: split into filenamecat-lgpl
35993         * modules/filenamecat-lgpl: New module.
35994         * modules/filenamecat (Files): Move library-safe files into
35995         filenamecat-lgpl.
35996         (Depends-on): Add filenamecat-lgpl.
35997         (configure.ac): Declare witness.
35998         * lib/filenamecat.h (file_name_concat): Only declare when using
35999         GPL module.
36000         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
36001         Move...
36002         * lib/filenamecat-lgpl.c: ...into new file.
36003         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
36004         (gl_FILE_NAME_CONCAT): Use it.
36005         * MODULES.html.sh (File system functions): Mention new module.
36006
36007         argp: avoid memory leak
36008         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
36009         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
36010         base_name, since the latter malloc()s and can call exit().
36011         Leak introduced 2006-07-03.
36012
36013         dirname-lgpl: adjust clients that don't need full dirname
36014         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
36015         * modules/filenamecat (Depends-on): Likewise.
36016         * modules/linkat (Depends-on): Likewise.
36017         * modules/mkancesdirs (Depends-on): Likewise.
36018         * modules/mkdir (Depends-on): Likewise.
36019         * modules/openat (Depends-on): Likewise.
36020         * modules/savewd (Depends-on): Likewise.
36021         * modules/rename (Depends-on): Likewise.
36022         (License): Relax license.
36023         * modules/mkdir-tests (Depends-on): Drop progname.
36024         (Makefile.am): Delete unneeded LDADD.
36025         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
36026
36027         dirname: split into dirname-lgpl
36028         * modules/dirname-lgpl: New module.
36029         * modules/dirname (Files): Move library-safe files into
36030         dirname-lgpl.
36031         (Depends-on): Add dirname-lgpl.
36032         (configure.ac): Declare witness.
36033         * modules/double-slash-root (License): Relax license.
36034         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
36035         module.
36036         * lib/dirname.c (dir_len, mdir_name): Move...
36037         * lib/dirname-lgpl.c: ...into new file.
36038         * lib/basename.c (last_component, base_len): Move...
36039         * lib/basename-lgpl.c: ...into new file.
36040         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
36041         (gl_DIRNAME): Use it.
36042         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
36043         Mention new module.
36044         * modules/dirname-tests (Depends-on): Add progname.
36045         * tests/test-dirname.c (program_name): Delete.
36046
36047         mkdir: make safe for libraries
36048         * modules/mkdir (Depends-on): Drop xalloc.
36049         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
36050         exit.
36051
36052         tests: avoid some compiler warnings
36053         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
36054         literals.
36055         * tests/test-memchr.c (main): Avoid type mismatch.
36056         * tests/test-arpa_inet.c (main): Avoid unused parameters.
36057         * tests/test-base64.c (main): Likewise.
36058         * tests/test-getdelim.c (main): Likewise.
36059         * tests/test-gethostname.c (main): Likewise.
36060         * tests/test-getline.c (main): Likewise.
36061         * tests/test-netinet_in.c (main): Likewise.
36062         * tests/test-select.c (open_server_socket, main): Likewise.
36063         * tests/test-select-stdin.c (main): Likewise.
36064         * tests/test-sockets.c (main): Likewise.
36065         * tests/test-strsignal.c (main): Likewise.
36066         * tests/test-sys_select.c (main): Likewise.
36067         * tests/test-sys_socket.c (main): Likewise.
36068         * tests/test-u64.c (main): Likewise.
36069         * tests/test-xfprintf-posix.c (main): Likewise.
36070         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
36071
36072         sockets: avoid compiler warning
36073         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
36074
36075         maint: detect usage(1) and other suspicious exits
36076         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
36077
36078 2009-10-29  Jim Meyering  <meyering@redhat.com>
36079
36080         timespec: long-to-int truncation could make timespec_cmp malfunction
36081         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
36082         a multiple of 2^32 nanoseconds as no difference.
36083
36084 2009-10-28  Jim Meyering  <meyering@redhat.com>
36085
36086         fprintftime: wrap macro code argument in "do {...} while(0)"
36087         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
36088         cpy macro must be a statement that can be followed by a semicolon.
36089         Now that the else clause contains a comment and is hence longer
36090         than one line, I require curly braces.  That in turn requires
36091         that we wrap this code block in the standard do...while(0).
36092
36093         fprintftime: remove stray semicolon from previous change
36094         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
36095
36096         fprintftime: avoid a warning about ignored fwrite return value
36097         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
36098         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
36099         that is unsafe.
36100         * modules/fprintftime (Depends-on): Add ignore-value.
36101
36102         exclude: avoid an unwarranted warning
36103         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
36104
36105 2009-10-27  Eric Blake  <ebb9@byu.net>
36106
36107         fseek: avoid compilation failure when fflush is replaced
36108         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
36109         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
36110         module is in use.
36111         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
36112         module is not in use; since REPLACE_FSEEK worked otherwise.
36113         (GNULIB_FTELLO): Likewise for ftell.
36114         Reported by Ian Beckwith and others.
36115
36116 2009-10-27  Bruno Haible  <bruno@clisp.org>
36117
36118         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
36119         Reported by Jim Meyering.
36120
36121 2009-10-27  Jim Meyering  <jim@meyering.net>
36122             Bruno Haible  <bruno@clisp.org>
36123
36124         Avoid warning despite dropping the return value of fwrite.
36125         * lib/unicodeio.c: Include ignore-value.h.
36126         (fwrite_success_callback): Explicitly ignore fwrite's return value.
36127         * modules/unicodeio (Depends-on): Add ignore-value.
36128
36129 2009-10-26  Eric Blake  <ebb9@byu.net>
36130
36131         areadlinkat: fix fallback path
36132         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
36133         pointer and zero.
36134
36135 2009-10-22  Pádraig Brady  <P@draigBrady.com>
36136
36137         Use a better IO block size for modern systems
36138         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
36139         * lib/md2.c: Likewise.
36140         * lib/md4.c: Likewise.
36141         * lib/md5.c: Likewise.
36142         * lib/sha1.c: Likewise.
36143         * lib/sha256.c: Likewise.
36144         * lib/sha512.c: Likewise.
36145
36146 2009-10-22  Eric Blake  <ebb9@byu.net>
36147
36148         tests: avoid several compiler warnings
36149         * tests/test-getcwd.c (main): Avoid buffer underflow.
36150         * tests/test-getdate.c (main): String literals are not safe with
36151         putenv, so use setenv.  Declare unused argument.
36152         * modules/getdate-tests (Depends-on): Add setenv.
36153         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
36154         problems with string literals in char *.
36155         * tests/test-hash.c (main): Avoid shadowing declaration.
36156         (insert_new): Treat string literals as char const *.
36157         * tests/test-getopt.h (test_getopt): Likewise.
36158         (getopt_loop): Alter types to minimize casting elsewhere.
36159         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
36160         (test_getopt_long_posix): Likewise.
36161         (do_getopt_long): Add wrapper to minimize casting.
36162         * tests/test-atexit.c (clear_temp_file): Use void.
36163         * tests/test-areadlink-with-size.c (main): Declare unused
36164         arguments.
36165         * tests/test-areadlink.c (main): Likewise.
36166         * tests/test-areadlinkat-with-size.c (main): Likewise.
36167         * tests/test-areadlinkat.c (main): Likewise.
36168         * tests/test-canonicalize-lgpl.c (main): Likewise.
36169         * tests/test-canonicalize.c (main): Likewise.
36170         * tests/test-dirent-safer.c (main): Likewise.
36171         * tests/test-dirname.c (main): Likewise.
36172         * tests/test-dup2.c (main): Likewise.
36173         * tests/test-fchdir.c (main): Likewise.
36174         * tests/test-fcntl-h.c (main): Likewise.
36175         * tests/test-fcntl-safer.c (main): Likewise.
36176         * tests/test-fdopendir.c (main): Likewise.
36177         * tests/test-fdutimensat.c (main): Likewise.
36178         * tests/test-fflush.c (main): Likewise.
36179         * tests/test-filenamecat.c (main): Likewise.
36180         * tests/test-filevercmp.c (main): Likewise.
36181         * tests/test-fopen-safer.c (main): Likewise.
36182         * tests/test-fopen.c (main): Likewise.
36183         * tests/test-fpending.c (main): Likewise.
36184         * tests/test-fpurge.c (main): Likewise.
36185         * tests/test-freading.c (main): Likewise.
36186         * tests/test-fstatat.c (main): Likewise.
36187         * tests/test-fsync.c (main): Likewise.
36188         * tests/test-futimens.c (main): Likewise.
36189         * tests/test-getndelim2.c (main): Likewise.
36190         * tests/test-gettimeofday.c (main): Likewise.
36191         * tests/test-getopt.c (main): Likewise.
36192         * tests/test-i-ring.c (main): Likewise.
36193         * tests/test-inttypes.c (main): Likewise.
36194         * tests/test-link.c (main): Likewise.
36195         * tests/test-lstat.c (main): Likewise.
36196         * tests/test-math.c (main): Likewise.
36197         * tests/test-md5.c (main): Likewise.
36198         * tests/test-memchr2.c (main): Likewise.
36199         * tests/test-memrchr.c (main): Likewise.
36200         * tests/test-mkdir.c (main): Likewise.
36201         * tests/test-mkdirat.c (main): Likewise.
36202         * tests/test-mkfifoat.c (main): Likewise.
36203         * tests/test-open.c (main): Likewise.
36204         * tests/test-openat-safer.c (main): Likewise.
36205         * tests/test-openat.c (main): Likewise.
36206         * tests/test-quotearg.c (main): Likewise.
36207         * tests/test-rawmemchr.c (main): Likewise.
36208         * tests/test-readlink.c (main): Likewise.
36209         * tests/test-remove.c (main): Likewise.
36210         * tests/test-rename.c (main): Likewise.
36211         * tests/test-renameat.c (main): Likewise.
36212         * tests/test-rmdir.c (main): Likewise.
36213         * tests/test-sha1.c (main): Likewise.
36214         * tests/test-signal.c (main): Likewise.
36215         * tests/test-sigaction.c (main): Likewise.
36216         * tests/test-stat.c (main): Likewise.
36217         * tests/test-stat-time.c (main): Likewise.
36218         * tests/test-stddef.c (main): Likewise.
36219         * tests/test-stdint.c (main): Likewise.
36220         * tests/test-stdio.c (main): Likewise.
36221         * tests/test-stdlib.c (main): Likewise.
36222         * tests/test-strchrnul.c (main): Likewise.
36223         * tests/test-strerror.c (main): Likewise.
36224         * tests/test-string.c (main): Likewise.
36225         * tests/test-strtod.c (main): Likewise.
36226         * tests/test-strverscmp.c (main): Likewise.
36227         * tests/test-symlink.c (main): Likewise.
36228         * tests/test-symlinkat.c (main): Likewise.
36229         * tests/test-sys_stat.c (main): Likewise.
36230         * tests/test-sys_time.c (main): Likewise.
36231         * tests/test-time.c (main): Likewise.
36232         * tests/test-unistd.c (main): Likewise.
36233         * tests/test-unlink.c (main): Likewise.
36234         * tests/test-unlinkat.c (main): Likewise.
36235         * tests/test-utimens.c (main): Likewise.
36236         * tests/test-utimensat.c (main): Likewise.
36237         * tests/test-version-etc.c (main): Likewise.
36238         * tests/test-wchar.c (main): Likewise.
36239         * tests/test-wctype.c (main): Likewise.
36240         * tests/test-xprintf-posix.c (main): Likewise.
36241         * tests/test-posixtm.c (main): Likewise.
36242         (STREQ): Delete unused macro.
36243         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
36244         shadowed variables.
36245         * tests/test-memchr.c (main): Likewise.
36246
36247 2009-10-21  Eric Blake  <ebb9@byu.net>
36248
36249         areadlinkat: avoid failure on older glibc
36250         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
36251         rather than mis-comparing 0 against FUNC_RESULT of char*.
36252
36253 2009-10-21  Bruno Haible  <bruno@clisp.org>
36254
36255         * modules/stpncpy (License): Relicense under LGPLv2+.
36256         Reported by David Lutterkort <lutter@redhat.com>.
36257
36258 2009-10-20  Eric Blake  <ebb9@byu.net>
36259
36260         utimensat: work around Solaris 9 bug
36261         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
36262         has trailing slash bugs.
36263         * tests/test-lutimens.h (test_lutimens): Enhance test.
36264         * tests/test-utimens.h (test_utimens): Likewise.
36265         * doc/posix-functions/utime.texi (utime): Enhance documentation.
36266         * doc/posix-functions/utimes.texi (utimes): Likewise.
36267         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36268         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
36269         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
36270         * doc/posix-functions/futimens.texi (futimens): Likewise.
36271
36272         fdutimensat: new module
36273         * modules/fdutimensat: New file.
36274         * lib/fdutimensat.c (fdutimensat): Likewise.
36275         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
36276         * MODULES.html.sh (File system functions): Mention module.
36277         * modules/fdutimensat-tests: New test.
36278         * tests/test-fdutimensat.c: Likewise.
36279
36280         doc: regenerate INSTALL
36281         * doc/INSTALL: Reflect recent autoconf update.
36282         * doc/INSTALL.ISO: Likewise.
36283         * doc/INSTALL.UTF-8: Likewise.
36284
36285 2009-10-20  Pádraig Brady  <P@draigBrady.com>
36286
36287         acl: warn if ACL support is not detected
36288         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
36289
36290 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
36291
36292         * lib/nproc.h: Add extern "C" block for C++.
36293
36294 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
36295             Bruno Haible  <bruno@clisp.org>
36296
36297         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
36298         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
36299         * doc/posix-functions/isalpha.texi: Likewise.
36300         * doc/posix-functions/isblank.texi: Likewise.
36301         * doc/posix-functions/iscntrl.texi: Likewise.
36302         * doc/posix-functions/isdigit.texi: Likewise.
36303         * doc/posix-functions/isgraph.texi: Likewise.
36304         * doc/posix-functions/islower.texi: Likewise.
36305         * doc/posix-functions/isprint.texi: Likewise.
36306         * doc/posix-functions/ispunct.texi: Likewise.
36307         * doc/posix-functions/isspace.texi: Likewise.
36308         * doc/posix-functions/isupper.texi: Likewise.
36309         * doc/posix-functions/isxdigit.texi: Likewise.
36310
36311 2009-10-18  Bruno Haible  <bruno@clisp.org>
36312
36313         Tests for module 'isblank'.
36314         * modules/isblank-tests: New file.
36315         * tests/test-isblank.c: New file.
36316
36317         New module 'isblank'.
36318         * lib/isblank.c: New file.
36319         * m4/isblank.m4: New file.
36320         * modules/isblank: New file.
36321         * doc/posix-functions/isblank.texi: Mention the new module.
36322
36323 2009-10-18  Bruno Haible  <bruno@clisp.org>
36324
36325         New module 'ctype'.
36326         * lib/ctype.in.h: New file.
36327         * m4/ctype.m4: New file.
36328         * modules/ctype: New file.
36329         * doc/posix-headers/ctype.texi: Mention the new module.
36330
36331 2009-10-18  Jim Meyering  <meyering@redhat.com>
36332
36333         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
36334         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
36335         right after its initialization, rather than farther down.
36336         Keeping these in close proximity makes it easier to ensure
36337         that each such variable is initialized.  E.g.,
36338
36339             LIB_CLOCK_GETTIME=
36340             AC_SUBST([LIB_CLOCK_GETTIME])
36341
36342         This change also increments these serial numbers.
36343         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
36344         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
36345         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
36346
36347 2009-10-18  Bruno Haible  <bruno@clisp.org>
36348
36349         Don't let environment variables perturb build.
36350         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
36351         (gl_PREREQ_GETHRXTIME): ... not here.
36352
36353 2009-10-18  Bruno Haible  <bruno@clisp.org>
36354
36355         Avoid symlink attack in localcharset module.
36356         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
36357         (O_NOFOLLOW): Define fallback.
36358         (get_charset_aliases): Don't open the file if it is a symbolic link.
36359         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
36360         gl_FCNTL_H.
36361         (gl_FCNTL_H): Require it.
36362         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
36363         * modules/localcharset (Files): Add m4/fcntl_h.m4.
36364         Reported by Fergal Glynn <fglynn@veracode.com>.
36365
36366 2009-10-18  Bruno Haible  <bruno@clisp.org>
36367
36368         Implement nproc for mingw.
36369         * lib/nproc.c: Include <windows.h>
36370         (num_processors): On native Windows platforms, try GetSystemInfo.
36371
36372 2009-10-18  Bruno Haible  <bruno@clisp.org>
36373
36374         Implement nproc for IRIX.
36375         * lib/nproc.c: Include <sys/sysmp.h>.
36376         (num_processors): On IRIX systems, try sysmp.
36377         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
36378
36379 2009-10-18  Bruno Haible  <bruno@clisp.org>
36380
36381         Implement nproc for HP-UX.
36382         * lib/nproc.c: Include <sys/pstat.h>
36383         (num_processors): On HP-UX systems, try pstat_getdynamic.
36384         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
36385         pstat_getdynamic.
36386
36387 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
36388             Bruno Haible  <bruno@clisp.org>
36389
36390         Implement nproc for NetBSD, OpenBSD.
36391         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
36392         (ARRAY_SIZE): New macro.
36393         (num_processors): On BSD systems, try sysctl of HW_NCPU.
36394         * m4/nproc.m4: New file.
36395         * modules/nproc (Files): Add m4/nproc.m4.
36396         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
36397         (Makefile.am): Instead, augment lib_SOURCES.
36398
36399 2009-10-18  Bruno Haible  <bruno@clisp.org>
36400
36401         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
36402         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
36403         sys/param.h.
36404
36405 2009-10-16  Eric Blake  <ebb9@byu.net>
36406
36407         utimensat: new module
36408         * modules/utimensat: New file.
36409         * lib/utimensat.c (utimensat): Likewise.
36410         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
36411         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
36412         so we can work around Linux bugs.
36413         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
36414         * modules/sys_stat (Makefile.am): Substitute them.
36415         * lib/sys_stat.in.h (utimensat): Declare it.
36416         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36417         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36418         * modules/utimensat-tests: New test.
36419         * tests/test-utimensat.c: Likewise.
36420
36421         utimens: let lutimens work on non-symlinks
36422         * lib/utimens.c (lutimens): Fall back to utimens rather than
36423         failing with ENOSYS, when file is not a symlink.
36424         (utimens): Reduce redirection.
36425         * tests/test-lutimens.h (test_lutimens): Update test to cover
36426         non-symlinks.
36427         * tests/test-utimens.h (test_utimens): Update test to cover
36428         symlinks.
36429         * tests/test-utimens.c (main): Update caller.
36430
36431         utimens: cache whether utimensat syscall works
36432         * lib/utimens.c (utimensat_works_really): New cache variable.
36433         (fdutimens, lutimens): Use it to avoid failing syscall.
36434
36435         test-stat-time, test-utimens: improve portability
36436         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
36437         ext4 on alpha, and for cygwin.
36438         * tests/test-utimens-common.h: New file.
36439         (nap): Factor delays into single function.
36440         * tests/test-lutimens.h (test_lutimens): Use new header.
36441         * tests/test-futimens.h (test_futimens): Likewise.
36442         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
36443         timestamps to occur from same machine, as was done previously for
36444         test_utimens.
36445         * modules/utimens-tests (Files): Ship new file.
36446         * modules/futimens-tests (Files): Likewise.
36447         Reported in part by Jim Meyering.
36448
36449         sys_stat: sort replacement declarations
36450         * lib/sys_stat.in.h: Sort declarations.
36451         * lib/futimens.c (futimens): Fix typo.
36452
36453 2009-10-15  Jim Meyering  <meyering@redhat.com>
36454
36455         don't let environment settings perturb build
36456         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
36457         could cause a configure-time and/or build-time malfunction.
36458         Typically, a configure-time function-in-library test is performed
36459         via code like this:
36460
36461           LIB_VAR=
36462           AC_SUBST([LIB_VAR])
36463           prefix_saved_LIBS=$LIBS
36464             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
36465                        [test "$ac_cv_search_FUNC" = "none required" ||
36466                         LIB_VAR=$ac_cv_search_FUNC])
36467           LIBS=$prefix_saved_LIBS
36468
36469         However, in each of the files affected by this change, the LIB_VAR=
36470         initialization was omitted.  Thus, when set in the environment, its
36471         value would propagate into generated Makefiles when FUNC is not found
36472         in LIB_NAME.
36473         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
36474         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
36475         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
36476
36477 2009-10-14  Eric Blake  <ebb9@byu.net>
36478
36479         fchdir: avoid infinite recursion in mingw
36480         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
36481         recursing.
36482
36483         test-stat-time: port to mingw
36484         * tests/test-stat-time.c (force_unlink): Return a value.
36485         (test_ctime) [W32]: Fix compilation error.
36486         (nap): Don't call usleep with too large an argument.  Use
36487         force_unlink.
36488         * doc/pastposix-functions/usleep.texi (usleep): Document the
36489         portability issue.
36490
36491 2009-10-13  Jim Meyering  <meyering@redhat.com>
36492
36493         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
36494         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
36495         * modules/pipe-filter-ii: Likewise.
36496         * modules/sys_socket-tests: Likewise.
36497         * modules/tsearch-tests: Likewise.
36498         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
36499         (check): Depend on it.
36500
36501 2009-10-12  Eric Blake  <ebb9@byu.net>
36502
36503         utimens-tests: port to NFS file systems
36504         * tests/test-utimens.h (test_utimens): Refactor utimecmp
36505         comparisons to avoid spurious failures from timestamp drift
36506         between NFS machines.
36507
36508 2009-10-12  Eric Blake  <ebb9@byu.net>
36509
36510         stat-time-tests: minor cleanups
36511         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
36512         * tests/test-stat-time.c (nap): Separate assignment from call.
36513         Suggested by Paolo Bonzini and Bruno Haible.
36514
36515         sys_stat: guarantee struct timespec
36516         * lib/sys_stat.in.h (includes): Always include <time.h>
36517         * modules/sys_stat (Depends-on): Add time.
36518         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
36519         mode_t permission values.
36520         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
36521         get at subsecond timestamps.
36522
36523 2009-10-10  Eric Blake  <ebb9@byu.net>
36524
36525         futimens: new module
36526         * modules/futimens: New file.
36527         * lib/futimens.c (futimens): Likewise.
36528         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
36529         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
36530         we can work around Linux bugs.
36531         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
36532         * modules/sys_stat (Makefile.am): Substitute them.
36533         * lib/sys_stat.in.h (futimens): Declare it.
36534         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36535         * doc/posix-functions/futimens.texi (futimens): Likewise.
36536         * modules/futimens-tests: New test.
36537         * tests/test-futimens.c: Likewise.
36538
36539         utimens: introduce fdutimens
36540         * lib/utimens.h (fdutimens): New prototype.
36541         * lib/utimens.c (gl_futimens): Move guts...
36542         (fdutimens): ...to new interface.
36543         * tests/test-utimens.c (do_fdutimens): Use it.
36544
36545         utimens: add UTIME_NOW and UTIME_OMIT support
36546         * lib/utimens.c (validate_timespec, update_timespec): New helper
36547         functions.
36548         (gl_futimens, lutimens): Use them.
36549         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
36550         stdbool, sys_stat.
36551         (Link): Mention resulting library dependency.
36552         * modules/utimecmp (Link): Likewise.
36553         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
36554         (Makefile.am): Pick up library dependency.
36555         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
36556         definition.
36557         * tests/test-sys_stat.c: Test the definitions.
36558         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
36559         * NEWS: Document library dependency.
36560
36561         utimecmp: support symlink timestamps
36562         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
36563         hashing when possible.  Use pathconf when available.
36564         (SYSCALL_RESOLUTION): Recognize tighter resolution.
36565         * modules/utimecmp (Depends-on): Add lstat.
36566
36567         utimens: add lutimens interface
36568         * lib/utimens.c (lutimens): New function.
36569         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
36570         * lib/utimens.h (lutimens): Declare new interface.
36571         * tests/test-utimens.c (main): Enhance test.
36572         * tests/test-lutimens.h (test_lutimens): New file.
36573         * modules/utimens-tests (Files): Distribute it.
36574         (Depends-on): Add symlink.
36575         (configure.ac): Check for usleep.
36576
36577         utimens: validate futimens usage
36578         * lib/utimens.c (gl_futimens): Require valid fd up front, using
36579         fewer syscalls on failure later on.  Avoid compiler warning on
36580         mingw.
36581         * modules/utimens (Depends-on): Add dup2.
36582
36583         utimens: add test
36584         * modules/utimens-tests: New test.
36585         * tests/test-utimens.h: New file.
36586         * tests/test-futimens.h: Likewise.
36587         * tests/test-utimens.c: Likewise.
36588
36589         doc: mention timestamp portability issues
36590         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
36591         instead.
36592         * doc/posix-functions/utime.texi (utime): Likewise.
36593         * doc/posix-functions/utimes.texi (utimes): Likewise.
36594         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
36595         instead.
36596         * doc/posix-functions/futimens.texi (futimens): Mention utimens
36597         module.
36598         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36599         Mention weakness with symlink timestamps.
36600         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
36601         to utimensat/futimens instead.
36602         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
36603
36604         test-dup2: enhance test
36605         * tests/test-dup2.c (main): Also check AT_FDCWD.
36606
36607         test-stat-time: avoid more spurious failures
36608         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
36609         xfs; and avoid race if the two timestamps cross quantization edge.
36610
36611         relocatable: prefer 'file system' over 'filesystem'
36612         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
36613         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
36614         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
36615         * doc/relocatable.texi (Enabling Relocatability): Likewise.
36616         * lib/relocatable.c (compute_curr_prefix): Likewise.
36617
36618 2009-10-10  Jim Meyering  <meyering@redhat.com>
36619
36620         stat-time-tests: check for the usleep function
36621         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
36622
36623 2009-10-10  Bruno Haible  <bruno@clisp.org>
36624
36625         * modules/xnanosleep: Put the Link section after the Include section.
36626
36627 2009-10-09  Eric Blake  <ebb9@byu.net>
36628
36629         dup2: work around FreeBSD 6.1 bug
36630         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
36631         * doc/posix-functions/dup2.texi (dup2): Document it.
36632         Reported by Nelson H. F. Beebe and Jim Meyering.
36633
36634         test-stat-time: port to buggy NFS clients
36635         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
36636         (test_ctime): Also skip test if mtime and ctime are skewed.
36637
36638         maint: prefer 'file system' over 'filesystem'
36639         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
36640         * doc/posix-functions/lstat.texi (lstat): Likewise.
36641         * lib/file-has-acl.c (file_has_acl): Likewise.
36642         * lib/fwriteerror.c [TEST]: Likewise.
36643         * tests/test-areadlink.h (test_areadlink): Likewise.
36644         * tests/test-areadlinkat-with-size.c (main): Likewise.
36645         * tests/test-areadlinkat.c (main): Likewise.
36646         * tests/test-canonicalize-lgpl.c (main): Likewise.
36647         * tests/test-canonicalize.c (main): Likewise.
36648         * tests/test-fstatat.c (main): Likewise.
36649         * tests/test-linkat.c (main): Likewise.
36650         * tests/test-lstat.h (test_lstat_func): Likewise.
36651         * tests/test-mkdir.h (test_mkdir): Likewise.
36652         * tests/test-readlink.h (test_readlink): Likewise.
36653         * tests/test-remove.c (main): Likewise.
36654         * tests/test-rename.h (test_rename): Likewise.
36655         * tests/test-renameat.c (main): Likewise.
36656         * tests/test-rmdir.h (test_rmdir_func): Likewise.
36657         * tests/test-symlink.h (test_symlink): Likewise.
36658         * tests/test-symlinkat.c (main): Likewise.
36659         * tests/test-unlink.h (test_unlink_func): Likewise.
36660         * tests/test-unlinkat.c (main): Likewise.
36661
36662         maint: make realtime library usage explicit
36663         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
36664         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
36665         * modules/settime (Link): Likewise.
36666         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
36667
36668         test-stat-time: speed up execution
36669         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
36670         warning on mingw.
36671         (nap): New helper function.
36672         (prepare_test): Use it to reduce sleep time.
36673         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
36674         execution.
36675         * modules/stat-time-tests (configure.ac): Check for usleep.
36676
36677 2009-10-09  Jim Meyering  <meyering@redhat.com>
36678
36679         selinux-h: always use getfilecon wrappers
36680         * lib/getfilecon.c: New file.
36681         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
36682         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
36683         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
36684         (fgetfilecon): Provide a stub.
36685         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
36686         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
36687         file unconditionally.
36688         When <selinux/selinux.h> is found, arrange to use wrappers.
36689         * modules/selinux-h (Files): Add getfilecon.c.
36690         (Makefile.am): Substitute include-next-related bits
36691         into the now-always-generated selinux/selinux.h file.
36692         * doc/glibc-functions/lgetfilecon.texi: New file.
36693         * doc/glibc-functions/fgetfilecon.texi: New file.
36694         * doc/glibc-functions/getfilecon.texi: New file.
36695         * doc/glibc-functions/getfilecon-desc.texi: New file.
36696         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
36697         which to pull in the new files.
36698         * MODULES.html.sh (Misc): Add selinux-h.
36699
36700 2009-10-08  Jim Meyering  <meyering@redhat.com>
36701
36702         unistd: fix comment typo
36703         * lib/unistd.in.h (euidaccess): Fix a comment typo.
36704
36705 2009-10-08  Eric Blake  <ebb9@byu.net>
36706
36707         areadlink: use SIZE_MAX consistently
36708         * modules/areadlink (Depends-on): Add stdint.
36709         * modules/areadlink-with-size (Depends-on): Likewise.
36710         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
36711         gives NULL; drop sys/types, since unistd gives size_t; and add
36712         stdint for SIZE_MAX.
36713         (SIZE_MAX): Rely on headers.
36714         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
36715         and add stdint.
36716         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
36717         (SIZE_MAX): Likewise.
36718         (INITIAL_BUF_SIZE): Turn into enum.
36719         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
36720
36721 2009-10-08  Jim Meyering  <meyering@redhat.com>
36722
36723         areadlinkat: avoid compilation failure
36724         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
36725         Fix typo in comment.
36726
36727 2009-10-07  Eric Blake  <ebb9@byu.net>
36728
36729         areadlinkat-with-size: new module
36730         * modules/areadlinkat-with-size: New module.
36731         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
36732         * lib/areadlink.h (areadlinkat): Declare it.
36733         * MODULES.html.sh (File system functions): Mention it.
36734         * modules/areadlinkat-with-size-tests: New test.
36735         * tests/test-areadlinkat-with-size.c: New file.
36736
36737         xreadlinkat: new module
36738         * modules/xreadlinkat: New module.
36739         * lib/xreadlinkat.c (xreadlinkat): New file.
36740         * lib/xreadlink.h (xreadlinkat): Declare it.
36741         * MODULES.html.sh (File system functions): Mention it.
36742
36743         areadlinkat: new module
36744         * lib/at-func.c (FUNC_FAIL): New define.
36745         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
36746         * modules/areadlinkat: New module.
36747         * lib/linkat.c (areadlinkat): Move...
36748         * lib/areadlinkat.c (areadlinkat): ...to new file.
36749         * lib/areadlink.h (areadlinkat): Declare it.
36750         * modules/linkat (Depends-on): Add areadlinkat.
36751         * MODULES.html.sh (File system functions): Mention it.
36752         * modules/areadlinkat-tests: New test.
36753         * tests/test-areadlinkat.c: New file.
36754
36755         areadlink, areadlink-with-size: add tests
36756         * modules/areadlink-tests: New test.
36757         * modules/areadlink-with-size-tests: Likewise.
36758         * tests/test-areadlink.h: New file.
36759         * tests/test-areadlink.c: Likewise.
36760         * tests/test-areadlink-with-size.c: Likewise.
36761
36762         maint: minor cleanups
36763         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
36764         _UNUSED_PARAMETER_ instead.
36765         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
36766         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
36767         * modules/linkat-tests (Files): Distribute test-link.h.
36768
36769         openat, utimens: whitespace cleanup
36770         * lib/openat.c: Prefer space throughout, rather than mix of 8
36771         spaces vs. tabs.
36772         * lib/at-func.c: Likewise.
36773         * lib/utimens.c: Likewise.
36774
36775         openat: avoid using wrong fd
36776         * lib/openat.c (openat_permissive): Reject user's fd if saving the
36777         working directory chooses same fd.
36778         * lib/at-func.c (AT_FUNC_NAME): Likewise.
36779
36780         mkdir, mkdirat: fix cygwin 1.5.x bug
36781         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
36782         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
36783         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
36784         bug.
36785         (gl_PREREQ_MKDIR): Delete unused macro.
36786         * modules/mkdir (Files): Track file rename.
36787         (configure.ac): Update macro name.
36788         * modules/openat (Depends-on): Add mkdir.
36789         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
36790
36791         mkdir, mkdirat: add tests
36792         * modules/mkdir-tests: New test.
36793         * tests/test-mkdir.h: New file.
36794         * tests/test-mkdir.c: Likewise.
36795         * tests/test-mkdirat.c: Likewise.
36796         * modules/openat-tests (Files): Add new files.
36797         (Makefile.am): Run new test.
36798
36799 2009-10-06  Eric Blake  <ebb9@byu.net>
36800
36801         doc: tweak *at function documentation
36802         * doc/posix-functions/faccessat.texi (faccessat): Mention
36803         known issue with replacement.
36804         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
36805         * doc/posix-functions/linkat.texi (linkat): Likewise.
36806         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
36807         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
36808         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
36809         * doc/posix-functions/renameat.texi (renameat): Likewise.
36810         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
36811
36812         openat: fix GNU/Hurd bug in unlinkat
36813         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
36814         broken.
36815         * doc/posix-functions/unlink.texi (unlink): Document this.
36816         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
36817
36818         fdopendir: fix GNU/Hurd bug
36819         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
36820         allowing non-directory fds.
36821         * lib/fdopendir.c (rpl_fdopendir): Work around it.
36822         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
36823         * modules/dirent (Makefile.am): Substitute it.
36824         * lib/dirent.in.h (fdopendir): Declare replacement.
36825         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
36826         * tests/test-fdopendir.c (main): Test something other than
36827         /dev/null, since on Hurd that behaves like a directory.
36828
36829         test-symlink: port to GNU/Hurd
36830         * tests/test-symlink.h (test_symlink): Relax expected errno.
36831
36832         doc: tweak more cygwin information
36833         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
36834         now compatible with glibc.
36835         * doc/posix-functions/getopt.texi (getopt): Likewise.
36836
36837         getopt-gnu: add another test
36838         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
36839         guarantee behavior relied on by m4.
36840         * tests/test-getopt.c (main): Use it.
36841         * modules/getopt-posix-tests (Depends-on): Add setenv.
36842         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
36843
36844         getopt: fix compilation on darwin
36845         * lib/getopt.in.h (includes): Leave breadcrumbs during system
36846         include.
36847         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
36848         Reported by Ludovic Courtès.
36849
36850 2009-10-06  Bruno Haible  <bruno@clisp.org>
36851
36852         * modules/size_max (Description): Discourage its use.
36853         Reported by Simon Josefsson.
36854
36855 2009-10-06  Jim Meyering  <meyering@redhat.com>
36856
36857         linkat: avoid compilation failure
36858         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
36859
36860 2009-10-05  Eric Blake  <ebb9@byu.net>
36861
36862         linkat: support Linux 2.6.17
36863         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
36864         linkat on Linux, but allow cache variable override.
36865         * lib/linkat.c (rpl_linkat): Define override.
36866         * modules/linkat (Depends-on): Add symlinkat.
36867         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
36868         * modules/unistd (Makefile.am): Substitute it.
36869         * lib/unistd.in.h (linkat): Declare replacement.
36870         Reported by Pádraig Brady.
36871
36872         quotearg: port test to systems with C.UTF-8 locale
36873         * tests/test-quotearg.c (struct result_strings): Add another
36874         member, differentiating between C.ASCII and C.UTF-8 handling.
36875         (compare_strings): Add parameter.
36876         (main): Adjust all callers.
36877
36878         getopt: avoid clash with FreeBSD _getopt_internal
36879         * lib/getopt.in.h (_getopt_internal): Override the name.
36880         * lib/getopt_int.h (includes): Pick up any overrides.
36881         Reported by Reuben Thomas.
36882
36883         hash: allow C89 compilation
36884         * lib/hash.c (check_tuning): Move declaration before statement.
36885         Reported by Reuben Thomas.
36886
36887 2009-10-05  Karl Berry  <karl@gnu.org>
36888
36889         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
36890
36891 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
36892             Bruno Haible  <bruno@clisp.org>
36893
36894         * lib/uname.c (uname): Use a table-driven algorithm to compute
36895         Windows NT versions.
36896
36897 2009-10-04  Bruno Haible  <bruno@clisp.org>
36898
36899         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
36900         program_invocation_short_name.
36901         * modules/progname (configure.ac): Test for presence of
36902         program_invocation_short_name.
36903         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
36904
36905 2009-10-04  Bruno Haible  <bruno@clisp.org>
36906
36907         * lib/progname.c (set_program_name): Fix comment.
36908         Reported by Jim Meyering.
36909
36910 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
36911             Bruno Haible  <bruno@clisp.org>
36912
36913         * lib/uname.c: Include <string.h>.
36914         (uname): Do only one call to GetVersionEx in the common case.
36915
36916 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
36917             Bruno Haible  <bruno@clisp.org>
36918
36919         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
36920         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
36921         (uname): Add support for Windows CE and various non-x86 CPU types.
36922
36923 2009-10-03  Bruno Haible  <bruno@clisp.org>
36924
36925         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
36926         invocation to tests/configure.ac.
36927         Reported by Ian Beckwith <ianb@erislabs.net>.
36928
36929 2009-10-02  Eric Blake  <ebb9@byu.net>
36930
36931         fchdir: avoid compiler warning
36932         * lib/fchdir.c (canonicalize_file_name)
36933         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
36934
36935         test-open: support mingw errno values
36936         * tests/test-open.h (test_open): Relax test.
36937         * tests/test-fopen.h (test_fopen): Likewise.
36938         * tests/test-openat-safer.c (main): Likewise.
36939
36940         open: fix opening directory on mingw
36941         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
36942
36943         test-open: on GNU/Hurd, /dev/null is a directory
36944         * tests/test-fopen.h (main): Rename...
36945         (test_fopen): ...to this.  Use a guaranteed non-directory when
36946         confirming open behavior on trailing slash.
36947         * tests/test-openat-safer.c (main): Likewise.
36948         * tests/test-open.h (main): Likewise....
36949         (test_open): ...to this.
36950         * tests/test-fopen.c (main): Adjust caller.
36951         * tests/test-fopen-safer.c (main): Likewise.
36952         * tests/test-open.c (main): Likewise.
36953         * tests/test-fcntl-safer.c (main): Likewise.
36954         Reported by Samuel Thibault.
36955
36956         rename, fchdir: don't ignore chdir failure
36957         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
36958         * lib/rename.c (rpl_rename) [W32]: Likewise.
36959         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
36960         an empty destination directory if source cannot be renamed,
36961         although there is still possibility for failure.
36962         * doc/posix-functions/rename.texi (rename): Document the race.
36963         Reported by Jim Meyering.
36964
36965         maint: cleanup whitespace in recent commits
36966         * lib/rename.c (rpl_rename): Remove tabs.
36967         * tests/test-link.h (test_link): Likewise.
36968         * lib/fchdir.c (get_name): Likewise.
36969         Reported by Jim Meyering.
36970
36971 2009-10-02  Ben Pfaff  <blp@gnu.org>
36972
36973         relocatable-prog-wrapper: Add missing dependency on
36974         double-slash-root.
36975         * modules/relocatable-prog-wrapper: Add dependency.
36976         Reported by Ian Beckwith <ianb@erislabs.net>.
36977
36978 2009-10-02  Eric Blake  <ebb9@byu.net>
36979
36980         renameat: fix Solaris bugs
36981         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
36982         needed fixing.
36983         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
36984         * modules/stdio (Makefile.am): Substitute it.
36985         * lib/stdio.in.h (renameat): Declare replacement.
36986         * lib/renameat.c (rpl_renameat): Implement fix.
36987
36988         renameat: new module
36989         * modules/renameat: New file.
36990         * lib/renameat.c (renameat): Likewise.
36991         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
36992         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
36993         * modules/stdio (Makefile.am): Substitute them.
36994         * lib/stdio.in.h (renameat): Declare it.
36995         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36996         * doc/posix-functions/renameat.texi (renameat): Likewise.
36997         * modules/renameat-tests: New test.
36998         * tests/test-renameat.c: Likewise.
36999
37000         rename: fix mingw bugs
37001         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
37002         directory overwrite bugs.
37003
37004         rename: fix another cygwin 1.5 bug
37005         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
37006         checks.
37007         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
37008         unnecessary cygwin workarounds.  Also work around bug with moving
37009         full directory onto an empty one.
37010         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
37011
37012         rename-dest-slash: merge into rename module
37013         * modules/rename-dest-slash (Status): Mark obsolete.
37014         (Depends-on): Add rename.
37015         (Files): Let rename do it all.
37016         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
37017         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
37018         * m4/rename-dest-slash.m4: ...so this file can be deleted.
37019         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
37020         * lib/rename.c (rpl_rename): Update comments.
37021
37022         rename: fix cygwin 1.5.x bugs
37023         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
37024         * lib/rename.c (rpl_rename): Work around them.
37025         * modules/rename (Depends-on): Add same-inode.
37026
37027         rename: fix Solaris 10 bug
37028         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
37029         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
37030         was the only bug.
37031
37032         rename: fix Solaris 9 bug
37033         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
37034         on non-directory.  Avoid calling exit.
37035         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
37036         strdup.
37037         * modules/rename-tests (Depends-on): Drop lstat.
37038         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
37039         (gl_PREREQ_RENAME): Delete unused macro.
37040
37041         rename-dest-slash: fix NetBSD bug
37042         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
37043         links.
37044         * modules/rename-dest-slash (Depends-on): Add same-inode.
37045
37046         rename-tests: new test, exposes several platform bugs
37047         * modules/rename-tests: New file.
37048         * tests/test-rename.h: Likewise.
37049         * tests/test-rename.c: Likewise.
37050         * doc/posix-functions/rename.texi (rename): Improve documentation,
37051         including bugs that will eventually be fixed in gnulib.
37052
37053 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
37054
37055         * lib/uname.c: Include <stdlib.h>
37056         (uname): Assume version info is available.
37057
37058 2009-10-02  Jim Meyering  <meyering@redhat.com>
37059
37060         gnu-web-doc-update: correct --help output
37061         * build-aux/gnu-web-doc-update: Make --help output relevant.
37062
37063         gnu-web-doc-update: add standard options
37064         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
37065
37066         gnu-web-doc-update: New module.
37067         Use this script to automatically update the on-line web documentation
37068         for your GNU project at http://www.gnu.org/software/$pkg/manual/
37069         * modules/gnu-web-doc-update: New file, from coreutils.
37070         * build-aux/gnu-web-doc-update: New script.
37071
37072 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
37073
37074         link: LoadLibrary is not needed.
37075         * lib/link.c: Use GetModuleHandle.
37076
37077 2009-10-01  Eric Blake  <ebb9@byu.net>
37078
37079         getopt: bump serial number
37080         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
37081         change.
37082
37083         tests: tighten link, rmdir, and remove tests
37084         * tests/test-link.h (includes): No need to use <config.h> here.
37085         Clean up if directory hard link was created, otherwise test for
37086         trailing '.'.
37087         * tests/test-linkat.c (main): Simplify.
37088         * tests/test-remove.c (main): Enhance test for trailing '.'.
37089         * tests/test-rmdir.h (test_rmdir_func): Likewise.
37090
37091 2009-10-01  Jim Meyering  <meyering@redhat.com>
37092
37093         maint.mk: requiring "make major" was annoying, for a "minor" release.
37094         What is intended is "stable", to contrast with alpha and beta,
37095         so require "make stable", not "make major".
37096         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
37097         (get_tool_versions): Likewise.
37098         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
37099
37100 2009-09-30  Ben Pfaff  <blp@gnu.org>
37101
37102         Fix broken build of replacement for Windows tmpfile().
37103         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
37104         flags argument added along with the 'mkostemp' module.
37105
37106 2009-09-28  Bruno Haible  <bruno@clisp.org>
37107
37108         Avoid identifier clash with POSIX function 'remove' defined as a macro.
37109         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
37110         to 'remove_elt'.
37111         (gl_list_remove): Update.
37112         * lib/gl_list.c (gl_list_remove): Update.
37113         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
37114         to 'remove_elt'.
37115         (gl_oset_remove): Update.
37116         * lib/gl_list.c (gl_oset_remove): Update.
37117         Reported by Eric Blake.
37118
37119 2009-09-28  Eric Blake  <ebb9@byu.net>
37120
37121         doc: mention yet more cygwin 1.7 status
37122         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
37123         cygwin.
37124         * doc/glibc-functions/execvpe.texi (execvpe): New file.
37125         * doc/gnulib.texi (Glibc unistd.h): Mention it.
37126
37127         argp: fix test failure
37128         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
37129         that are not upper-case.  Pass correct range to tolower.
37130
37131 2009-09-27  Jim Meyering  <meyering@redhat.com>
37132
37133         test-yesno: work around sparc-dash here-document infelicity
37134         Without this change, the literal \177 byte in a here document
37135         would make dash 0.5.5.1-3 access uninitialized memory.
37136         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
37137         Instead, use a marker, "@", and filter through tr to create the desired
37138         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
37139
37140 2009-09-27  Bruno Haible  <bruno@clisp.org>
37141
37142         Disable untested support for new flavours of ACLs on AIX.
37143         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
37144         progress.
37145         * lib/set-mode-acl.c (qset_acl): Likewise.
37146
37147 2008-12-07  Bruno Haible  <bruno@clisp.org>
37148
37149         Add support for new flavours of ACLs on AIX. (Untested.)
37150         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
37151         (file_has_acl): Add support for newer AIX.
37152         * lib/set-mode-acl.c (qset_acl): Likewise.
37153         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
37154         Rainer Tammer <tammer@tammer.net>.
37155
37156 2009-09-26  Eric Blake  <ebb9@byu.net>
37157
37158         argp: fix compilation of getopt
37159         * lib/getopt.in.h (includes): Use different guard than glibc.
37160         Reported by Sergey Poznyakoff.
37161
37162         doc: mention more cygwin 1.7 status
37163         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
37164         bug.
37165         * doc/posix-functions/execl.texi (execl): Likewise.
37166         * doc/posix-functions/execle.texi (execle): Likewise.
37167         * doc/posix-functions/execlp.texi (execlp): Likewise.
37168         * doc/posix-functions/execv.texi (execv): Likewise.
37169         * doc/posix-functions/execve.texi (execve): Likewise.
37170         * doc/posix-functions/execvp.texi (execvp): Likewise.
37171         * doc/glibc-functions/canonicalize_file_name.texi
37172         (canonicalize_file_name): Cygwin 1.7 now provides this.
37173         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
37174         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
37175         on AT_SYMLINK_NOFOLLOW.
37176
37177 2009-09-24  Eric Blake  <ebb9@byu.net>
37178
37179         test-linkat: make test more robust
37180         * tests/test-linkat.c (main): Avoid collision with EEXIST.
37181
37182         getopt: fix inclusion guards for cygwin
37183         * modules/getopt-posix (Depends-on): Add include-next.
37184         (Makefile.am): Substitute more items in replacement header.
37185         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
37186         <getopt.h>.
37187         * lib/getopt.in.h (includes): Use split inclusion guard, and
37188         prefer <getopt.h> over include <unistd.h> when one is present.
37189         (option): Also override name of 'struct option'.
37190
37191         same-inode: revert prior change; it is not yet ready
37192         * NEWS: Undo mention of this change.
37193         * lib/same-inode.h (same-inode.h): Undo tri-state change.
37194         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
37195         * lib/cycle-check.c (cycle_check): Likewise.
37196         * lib/same.c (same_name): Likewise.
37197         * lib/at-func2.c (at_func2): Likewise.
37198
37199 2009-09-23  Eric Blake  <ebb9@byu.net>
37200
37201         linkat: new module
37202         * modules/linkat: New file.
37203         * lib/at-func2.c (at_func2): Likewise.
37204         * lib/linkat.c (linkat): Likewise.
37205         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
37206         * lib/openat-priv.h (at_func2): Add declaration.
37207         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
37208         * modules/unistd (Makefile.am): Substitute them.
37209         * lib/unistd.in.h (linkat): Declare it.
37210         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37211         * doc/posix-functions/linkat.texi (linkat): Likewise.
37212         * doc/posix-functions/link.texi (link): Tweak wording.
37213         * tests/test-link.c (main): Move guts...
37214         * tests/test-link.h (test_link): ...into new file.
37215         * modules/linkat-tests: New test.
37216         * tests/test-linkat.c: Likewise.
37217         * modules/link-tests (Files): Ship new file.
37218         (Depends-on): Add stdbool.
37219
37220         dirname: add library-safe mdir_name
37221         * lib/dirname.h (mdir_name): New prototype.
37222         * lib/dirname.c (dir_name): Move guts...
37223         (mdir_name): ...to new function that avoids xalloc_die.
37224
37225         fchdir: another mingw fix
37226         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
37227         * lib/fchdir.c (get_name): New helper method; skips canonicalize
37228         on mingw (where it has not yet been ported), and make it optional
37229         elsewhere.
37230         (_gl_register_fd): Use it.
37231
37232         same-inode: make SAME_INODE tri-state, to port to mingw
37233         * NEWS: Mention this change.
37234         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
37235         st_ino always being 0.
37236         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
37237         * lib/cycle-check.c (cycle_check): Likewise.
37238         * lib/same.c (same_name): Likewise.
37239
37240         lstat: avoid mingw compilation error
37241         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
37242         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
37243         lstat ourselves.
37244         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
37245         was adequate.
37246         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
37247         the checks for lstat.
37248         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
37249
37250         link: fix test failure on Solaris 9
37251         * lib/link.c (rpl_link): Don't assume link will catch bogus
37252         trailing slash on source.
37253
37254         test-symlinkat: enhance test
37255         * tests/test-readlink.c (main): Move guts...
37256         * tests/test-readlink.h (test_readlink): ...into new file.
37257         * tests/test-symlink.c (main): Move guts...
37258         * tests/test-symlink.h (test_symlink): ...into new file.
37259         * tests/test-symlinkat.c (main): Use new files for further
37260         coverage.
37261         (do_symlink, do_readlink): New helper functions.
37262         * modules/symlink-tests (Files): Ship new file.
37263         (Depends-on): Add stdbool.
37264         * modules/readlink-tests (Files): Ship new file.
37265         (Depends-on): Add stdbool.
37266         * modules/symlinkat-tests (Files): Use new files.
37267
37268 2009-09-23  Eric Blake  <ebb9@byu.net>
37269
37270         readlink: document portability issue with symlink length
37271         * doc/posix-functions/lstat.texi (lstat): Mention that some file
37272         systems have bogus st_size on symlinks, and mention the
37273         areadlink-with-size module.
37274         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
37275         * doc/posix-functions/readlink.texi (readlink): Mention the
37276         areadlink module, and ERANGE failure.
37277         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
37278         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
37279
37280         readlink: fix Solaris 9 bug with trailing slash
37281         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
37282         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
37283         * doc/posix-functions/readlink.texi (readlink): Document this.
37284         * modules/readlink-tests: New test.
37285         * tests/test-readlink.c: Likewise.
37286
37287         readlink: fix cygwin 1.5.x bug with return type
37288         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
37289         * lib/unistd.in.h (readlink): Use ssize_t.
37290         * lib/readlink.c (readlink): Likewise.
37291         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37292         * modules/unistd (Makefile.am): Substitute it.
37293         * lib/unistd.in.h (readlink): Declare replacement.
37294         * doc/posix-functions/readlink.texi (readlink): Document this.
37295
37296         symlink: use throughout gnulib
37297         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
37298         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
37299         symlink is not used.
37300         * modules/symlinkat (Depends-on): Add symlink.
37301         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37302         * modules/canonicalize-tests (Depends-on): Likewise.
37303         * modules/lstat-tests (Depends-on): Likewise.
37304         * modules/openat-tests (Depends-on): Likewise.
37305         * modules/remove-tests (Depends-on): Likewise.
37306         * modules/rmdir-tests (Depends-on): Likewise.
37307         * modules/unlink-tests (Depends-on): Likewise.
37308         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
37309         * tests/test-canonicalize.c (symlink): Likewise.
37310         * tests/test-fstatat.c (symlink): Likewise.
37311         * tests/test-lstat.c (symlink): Likewise.
37312         * tests/test-remove.c (symlink): Likewise.
37313         * tests/test-rmdir.c (symlink): Likewise.
37314         * tests/test-unlink.c (symlink): Likewise.
37315         * tests/test-unlinkat.c (symlink): Likewise.
37316
37317         symlink: new module, for Solaris 9 bug
37318         * modules/symlink: New file.
37319         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
37320         * lib/symlink.c: Likewise.
37321         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
37322         * modules/unistd (Makefile.am): Substitute them.
37323         * lib/unistd.in.h (symlink): Declare replacement.
37324         * MODULES.html.sh (File system functions): Mention it.
37325         * doc/posix-functions/symlink.texi (symlink): Likewise.
37326         * modules/symlink-tests: New test.
37327         * tests/test-symlink.c: Likewise.
37328
37329 2009-09-23  Bruno Haible  <bruno@clisp.org>
37330
37331         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
37332         when needed.
37333         Test case: gnulib-tool --import --with-tests atexit inttypes.
37334         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
37335
37336 2009-09-23  Bruno Haible  <bruno@clisp.org>
37337
37338         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
37339         subcommand, not in a subshell.
37340
37341 2009-09-22  Eric Blake  <ebb9@byu.net>
37342
37343         unistd: sort replacement declarations
37344         * lib/unistd.in.h: Sort declarations.
37345
37346         open, openat: minor optimization
37347         * lib/open.c (open): If open succeeded, len is non-zero.
37348         * lib/openat.c (rpl_openat): Likewise.
37349
37350         link-follow: ensure correct result
37351         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
37352         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
37353         distinguish between possible failures.
37354
37355 2009-09-21  Eric Blake  <ebb9@byu.net>
37356
37357         fts: avoid compiler warning
37358         * lib/fts.c (dirent_inode_sort_may_be_useful)
37359         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
37360
37361 2009-09-19  Bruno Haible  <bruno@clisp.org>
37362
37363         * lib/progreloc.c (canonicalize_file_name): New declaration.
37364
37365 2009-09-19  Eric Blake  <ebb9@byu.net>
37366
37367         link: fix quoting
37368         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
37369
37370         openat: fix openat bugs on Solaris 9
37371         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
37372         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
37373         * modules/openat (Depends-on): Add open.
37374         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
37375         * modules/fcntl-h (Makefile.am): Substitute it.
37376         * lib/fcntl.in.h (openat): Declare replacement.
37377         * doc/posix-functions/openat.texi (openat): Document this.
37378
37379         openat: move fstatat and unlinkat into correct files
37380         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
37381         compiled.
37382         * lib/openat.c (fstatat, unlinkat): Move...
37383         * lib/fstatat.c (fstatat): ...into correct files.
37384         * lib/unlinkat.c (unlinkat): Likewise.
37385
37386         openat: fix unlinkat bugs on Solaris 9
37387         * lib/unlinkat.c (unlinkat): New file.
37388         * modules/openat (Depends-on): Add unlink.
37389         (Files): Distribute it.
37390         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
37391         trailing slash behavior is broken.
37392         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37393         * modules/unistd (Makefile.am): Substitute it.
37394         * lib/unistd.in.h (unlinkat): Declare replacement.
37395         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
37396
37397         openat: fix fstatat bugs on Solaris 9
37398         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
37399         stat.
37400         * doc/posix-functions/fstatat.texi (fstatat): Document this.
37401
37402         test-unlinkat: enhance test, to expose Solaris 9 bug
37403         * tests/test-unlink.c (main): Factor guts...
37404         * tests/test-unlink.h (test_rmdir_func): ...into new file.
37405         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
37406         * tests/test-rmdir.c (main): Adjust caller.
37407         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
37408         (unlinker): New helper function.
37409         (rmdirat): Enhance check.
37410         * modules/rmdir-tests (Depends-on): Add stdbool.
37411         * modules/unlink-tests (Depends-on): Likewise.
37412         (Files): Add test-unlink.h.
37413         * modules/openat-tests (Files): Likewise.
37414         (Depends-on): Add unlinkdir.
37415
37416         test-fstatat: new test, to expose Solaris 9 bugs
37417         * tests/test-stat.c (main): Factor guts...
37418         * tests/test-stat.h (test_stat_func): ...into new file.
37419         * tests/test-lstat.c (main): Factor guts...
37420         * tests/test-lstat.h (test_lstat_func): ...into new file.
37421         * tests/test-fstatat.c: New file.
37422         * modules/stat-tests (Files): Add test-stat.h.
37423         * modules/lstat-tests (Files): Add test-lstat.h.
37424         (Depends-on): Add stdbool.
37425         * modules/openat-tests (Depends-on): Add pathmax.
37426         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
37427         (Makefile.am): Run new test.
37428
37429         remove: new module, for mingw and Solaris 9 bugs
37430         * modules/remove: New file.
37431         * lib/remove.c: Likewise.
37432         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
37433         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
37434         * modules/stdio (Makefile.am): Use them.
37435         * lib/stdio.in.h (remove): Declare replacement.
37436         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37437         * doc/posix-functions/remove.texi (remove): Likewise.
37438         * modules/remove-tests: New test.
37439         * tests/test-remove.c: Likewise.
37440
37441         unlink: new module, for Solaris 9 bug
37442         * modules/unlink: New file.
37443         * lib/unlink.c: Likewise.
37444         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
37445         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
37446         * modules/unistd (Makefile.am): Use them.
37447         * lib/unistd.in.h (stat): Declare replacement.
37448         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37449         * doc/posix-functions/unlink.texi (unlink): Likewise.
37450         * modules/unlink-tests: New test.
37451         * tests/test-unlink.c: Likewise.
37452
37453         lstat: fix Solaris 9 bug
37454         * lib/lstat.c (lstat): Also check for trailing slash on
37455         non-symlink, non-directories.  Use stat module to simplify logic.
37456         * doc/posix-functions/lstat.texi (lstat): Document it.
37457         * modules/lstat-tests (Depends-on): Add errno, same-inode.
37458         (configure.ac): Check for symlink.
37459         * tests/test-lstat.c (main): Add more tests.
37460
37461         stat: add as dependency to other modules
37462         * modules/chown (Depends-on): Add stat.
37463         * modules/euidaccess (Depends-on): Likewise.
37464         * modules/fchdir (Depends-on): Likewise.
37465         * modules/isdir (Depends-on): Likewise.
37466         * modules/link (Depends-on): Likewise.
37467         * modules/lstat (Depends-on): Likewise.
37468         * modules/mkdir-p (Depends-on): Likewise.
37469         * modules/modechange (Depends-on): Likewise.
37470         * modules/open (Depends-on): Likewise.
37471         * modules/readlink (Depends-on): Likewise.
37472         * modules/same (Depends-on): Likewise.
37473
37474         stat: fix Solaris 9 bug
37475         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
37476         slash.
37477         * lib/stat.c (rpl_stat): Work around it.
37478         * doc/posix-functions/stat.texi (stat): Update documentation.
37479
37480         stat: new module, for mingw bug
37481         * modules/stat: New file.
37482         * lib/stat.c: Likewise.
37483         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
37484         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37485         * modules/sys_stat (Makefile.am): Use them.
37486         * lib/sys_stat.in.h (stat): Declare replacement.
37487         * lib/openat.c (fstatat): Deal with lstat and stat being function
37488         macros.
37489         * modules/openat (Depends-on): Add inline.
37490         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37491         * doc/posix-functions/stat.texi (stat): Likewise.
37492         * modules/stat-tests: New test.
37493         * tests/test-stat.c: Likewise.
37494
37495 2009-09-19  Jim Meyering  <meyering@redhat.com>
37496
37497         syntax-check: detect unnecessary inclusion of canonicalize.h
37498         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
37499
37500 2009-09-19  Eric Blake  <ebb9@byu.net>
37501
37502         canonicalize-lgpl: adjust clients to use correct header
37503         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
37504         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
37505         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
37506         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
37507         * lib/progreloc.c (includes): Likewise.
37508
37509 2009-09-19  Jim Meyering  <meyering@redhat.com>
37510
37511         test-posixtm.c: correct a comment
37512         * tests/test-posixtm.c: Correct first-line comment.
37513         Spotted by Eric Blake.
37514
37515 2009-09-16  Jim Meyering  <meyering@redhat.com>
37516
37517         posixtm-tests: make T const-correct; add a test case
37518         * tests/test-posixtm.c (T): Declare const.
37519         Add a test for -(2^31+1).
37520         Remove useless can-succeed-only-in-2002 test.
37521
37522         posixtm-tests: adjust the sole failing test
37523         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
37524         expected output matches what mktime now produces.  Cross-checked via
37525         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
37526
37527         posixtm: move #ifdef'd tests into a new module
37528         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
37529         * tests/test-posixtm.c: ... this new file.
37530         * modules/posixtm-tests: New module.
37531
37532 2009-09-19  Eric Blake  <ebb9@byu.net>
37533
37534         openat: simplify use of at-func.c
37535         * lib/at-func.c (includes): Include prerequisites here, to
37536         simplify requirements on client files.
37537         * lib/openat-priv.h: Add double-inclusion guard.
37538         * lib/faccessat.c (includes): Simplify.
37539         * lib/fchmodat.c (includes): Likewise.
37540         * lib/fchownat.c (includes): Likewise.
37541         * lib/mkdirat.c (includes): Likewise.
37542         * lib/mkfifoat.c (includes): Likewise.
37543         * lib/symlinkat.c (includes): Likewise.
37544
37545         openat: allow return of fd 0
37546         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
37547         * modules/save-cwd (Depends-on): Replace fcntl-safer with
37548         unistd-safer.
37549         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
37550         <fcntl.h>; this module does not leak fds.
37551         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
37552         must be allowed to return 0, leaving openat_safer to add the
37553         safety.
37554         (openat_permissive): Avoid writing to just-opened fd 2 if
37555         restoring the current directory fails.
37556         * lib/openat-die.c (openat_restore_fail): Add comment.
37557         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
37558         (save_cwd): Guarantee safe fd, but without use of open_safer.
37559         * tests/test-openat.c: New test.
37560         * modules/openat-tests (Files, Makefile.am): Distribute and build
37561         new file.
37562
37563         relocatable-prog-wrapper: fix build
37564         * modules/relocatable-prog-wrapper (Files): Update name of
37565         canonicalize m4 file, broken on 2009-09-17.
37566         Reported by emad hajjar <aleppos@hotmail.com>.
37567
37568 2009-09-19  Bruno Haible  <bruno@clisp.org>
37569
37570         * lib/safe-alloc.h: Use the standard header with GPL copyright.
37571         * lib/safe-alloc.c: Likewise.
37572         Reported by Ian Beckwith <ianb@erislabs.net>.
37573
37574 2009-09-18  Bruno Haible  <bruno@clisp.org>
37575
37576         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
37577         Reported by <erobles@sensacd.com.mx>.
37578
37579 2009-09-17  Eric Blake  <ebb9@byu.net>
37580
37581         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
37582         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
37583         slashes when checking if last component is missing.
37584         * tests/test-canonicalize.c (main): Test this.
37585
37586         canonicalize, canonicalize-lgpl: honor // if distinct from /
37587         * modules/canonicalize (Files): Add double-slash-root.m4.
37588         * modules/canonicalize-lgpl (Files): Likewise.
37589         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
37590         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
37591         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
37592         fallback definition.
37593         (canonicalize_filename_mode): Use it to protect //.
37594         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
37595         (__realpath): Likewise.
37596         * tests/test-canonicalize.c (main): Test this.
37597         * tests/test-canonicalize-lgpl.c (main): Likewise.
37598         * modules/canonicalize-tests (Depends-on): Add same-inode.
37599         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37600
37601         canonicalize-lgpl: fix glibc bug with trailing slash
37602         * m4/canonicalize-lgpl.m4: Move contents...
37603         * m4/canonicalize.m4: ...here.
37604         (gl_CANONICALIZE_LGPL): Factor realpath check...
37605         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
37606         glibc 2.3.5 bug, fixed 2005-04-27.
37607         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
37608         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
37609         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
37610         * modules/canonicalize-lgpl (Files): Manage file rename.
37611         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
37612         * modules/stdlib (Makefile.am): Substitute witness.
37613         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
37614         is needed.
37615         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
37616         replacement is required.
37617         * lib/canonicalize.c (canonicalize_file_name): Likewise.
37618         * doc/glibc-functions/canonicalize_file_name.texi
37619         (canonicalize_file_name): Document this.
37620         * doc/posix-functions/realpath.texi (realpath): Likewise.
37621
37622         canonicalize-lgpl: reject non-directory with trailing slash
37623         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
37624         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
37625         catches failures in glibc 2.3.5.
37626         * tests/test-canonicalize.c (main): Likewise.
37627
37628         canonicalize-lgpl: use native realpath if it works
37629         * lib/canonicalize-lgpl.c (realpath): Guard with
37630         FUNC_REALPATH_WORKS.
37631         * lib/stdlib.in.h (realpath): Make declaration optional based on
37632         HAVE_REALPATH.
37633         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
37634         native realpath works.
37635         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
37636         * modules/stdlib (Makefile.am): Substitute witness.
37637
37638         canonicalize, canonicalize-lgpl: use <stdlib.h>
37639         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
37640         (Include): Mention <stdlib.h>.
37641         (configure.ac): Mention functions we provide.
37642         * modules/canonicalize (configure.ac): Likewise.
37643         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
37644         realpath if canonicalize_file_name is missing.
37645         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
37646         * modules/stdlib (Makefile.am): Substitute witnesses.
37647         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
37648         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
37649         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
37650         * NEWS: Document this.
37651         * doc/glibc-functions/canonicalize_file_name.texi
37652         (canonicalize_file_name): Likewise.
37653         * doc/posix-functions/realpath.texi (realpath): Likewise.
37654         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
37655
37656         test-canonicalize: consolidate into single C program
37657         * tests/test-canonicalize.sh: Delete; move setup into...
37658         * tests/test-canonicalize.c (main): ...the program, making it
37659         easier to run in debugger.  Add some tests.
37660         * modules/canonicalize-tests (Files): Remove unused file.
37661         (Depends-on): Add progname.
37662         (configure.ac, Makefile.am): Simplify.
37663
37664         test-canonicalize-lgpl: consolidate into single C program
37665         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
37666         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
37667         easier to run in debugger.  Add some tests.
37668         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
37669         (configure.ac, Makefile.am): Simplify.
37670
37671         canonicalize: avoid resolvepath
37672         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
37673         unnecessary checks.
37674         * lib/canonicalize.c (includes): Simplify.
37675         (canonicalize_file_name): Drop resolvepath implementation.
37676         * modules/canonicalize (Depends-on): Drop filenamecat.
37677
37678         canonicalize: don't lose errno
37679         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
37680         over calls to free.
37681
37682         canonicalize: simplify errno handling
37683         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
37684         assignment.
37685
37686         canonicalize, canonicalize-lgpl: update module dependencies
37687         * modules/canonicalize (Depends-on): Add extensions, lstat,
37688         pathmax, stdlib.
37689         (Files): Drop pathmax.h.
37690         (configure.ac): Adjust macro name.
37691         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
37692         lstat, stdlib, sys_stat.
37693         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
37694         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
37695         extensions.
37696         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
37697         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
37698         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
37699         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
37700         declaration, if available.
37701         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
37702         we can rely on the readlink module.
37703         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
37704         (includes): Use <unistd.h> unconditionally.
37705
37706 2009-09-17  Eric Blake  <ebb9@byu.net>
37707
37708         maint: make Include sections of modules consistent
37709         * modules/alloca: Use only header name; no need to list #include.
37710         * modules/alloca-opt: Likewise.
37711         * modules/arpa_inet: Likewise.
37712         * modules/canon-host: Likewise.
37713         * modules/configmake: Likewise.
37714         * modules/dirent: Likewise.
37715         * modules/eealloc: Likewise.
37716         * modules/environ: Likewise.
37717         * modules/fchdir: Likewise.
37718         * modules/fcntl: Likewise.
37719         * modules/fcntl-h: Likewise.
37720         * modules/gethrxtime: Likewise.
37721         * modules/gettime: Likewise.
37722         * modules/ignore-value: Likewise.
37723         * modules/inet_ntop: Likewise.
37724         * modules/inet_pton: Likewise.
37725         * modules/inttypes: Likewise.
37726         * modules/isnand-nolibm: Likewise.
37727         * modules/isnanf-nolibm: Likewise.
37728         * modules/mbchar: Likewise.
37729         * modules/mbfile: Likewise.
37730         * modules/mbiter: Likewise.
37731         * modules/mbuiter: Likewise.
37732         * modules/netdb: Likewise.
37733         * modules/netinet_in: Likewise.
37734         * modules/nproc: Likewise.
37735         * modules/pagealign_alloc: Likewise.
37736         * modules/poll: Likewise.
37737         * modules/printf-frexp: Likewise.
37738         * modules/pthread: Likewise.
37739         * modules/putenv: Likewise.
37740         * modules/random_r: Likewise.
37741         * modules/relocatable-prog: Likewise.
37742         * modules/search: Likewise.
37743         * modules/select: Likewise.
37744         * modules/selinux-h: Likewise.
37745         * modules/settime: Likewise.
37746         * modules/signal: Likewise.
37747         * modules/size_max: Likewise.
37748         * modules/socklen: Likewise.
37749         * modules/ssize_t: Likewise.
37750         * modules/stdarg: Likewise.
37751         * modules/stdbool: Likewise.
37752         * modules/stddef: Likewise.
37753         * modules/stdint: Likewise.
37754         * modules/stdio: Likewise.
37755         * modules/stdlib: Likewise.
37756         * modules/string: Likewise.
37757         * modules/strings: Likewise.
37758         * modules/sys_file: Likewise.
37759         * modules/sys_ioctl: Likewise.
37760         * modules/sys_select: Likewise.
37761         * modules/sys_socket: Likewise.
37762         * modules/sys_stat: Likewise.
37763         * modules/sys_time: Likewise.
37764         * modules/sys_times: Likewise.
37765         * modules/sys_utsname: Likewise.
37766         * modules/sys_wait: Likewise.
37767         * modules/sysexits: Likewise.
37768         * modules/time: Likewise.
37769         * modules/times: Likewise.
37770         * modules/tmpfile: Likewise.
37771         * modules/trim: Likewise.
37772         * modules/unistd: Likewise.
37773         * modules/wchar: Likewise.
37774         * modules/wctype: Likewise.
37775
37776 2009-09-17  Bruno Haible  <bruno@clisp.org>
37777
37778         Make getdate.y compile on QNX and NetBSD 5 / i386.
37779         * m4/getdate.m4 (gl_GETDATE): Conditionally define
37780         TIME_T_FITS_IN_LONG_INT.
37781         * lib/getdate.y (long_time_t): New type.
37782         (relative_time): Change type of 'seconds' field to long_time_t.
37783         (get_date): Update types of local variables. Check against overflow
37784         during conversion from long_time_t to time_t.
37785         Reported by Matt Kraai <kraai@ftbfs.org>
37786         and Hasso Tepper <hasso@netbsd.org>.
37787
37788 2009-09-17  Bruno Haible  <bruno@clisp.org>
37789
37790         * modules/COPYING: Update copyright years.
37791         * modules/README: Likeiwse.
37792         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
37793         Reported by Ian Beckwith <ianb@erislabs.net>.
37794
37795 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
37796
37797         * users.txt: Update references for gnuit package.
37798
37799 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
37800
37801         * m4/getdelim.m4: Fix typo in copyright line.
37802
37803 2009-09-17  Bruno Haible  <bruno@clisp.org>
37804
37805         * lib/atoll.c: Use the standard header with GPL copyright.
37806         * lib/argz.in.h: Likewise.
37807         * lib/glob.c: Likewise.
37808         * lib/glob-libc.h: Likewise.
37809         * lib/random_r.c: Likewise.
37810         * lib/siglist.h: Likewise.
37811         * lib/strsignal.c: Likewise.
37812         Reported by Ian Beckwith <ianb@erislabs.net>.
37813
37814 2009-09-17  Eric Blake  <ebb9@byu.net>
37815
37816         rmdir: ensure correct dependency order
37817         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
37818
37819 2009-09-17  Bruno Haible  <bruno@clisp.org>
37820
37821         Disable assertion that fails on NetBSD 5 / i386.
37822         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
37823         Reported by Sam Steingold <sds@gnu.org>
37824         and Hasso Tepper <hasso@netbsd.org>.
37825
37826 2009-09-16  Eric Blake  <ebb9@byu.net>
37827
37828         unlinkdir: port to mingw
37829         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
37830         on which no one can unlink a directory.
37831
37832         stdlib: sort witness names
37833         * modules/stdlib (Makefile.am): Sort replacements.
37834         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
37835         * lib/stdlib.in.h: Likewise.
37836
37837         parse-duration-tests: avoid link failure
37838         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
37839         LIBINTL.
37840         Reported by Tom G. Christensen.
37841
37842         openat-tests: ensure unlinkat behaves like rmdir
37843         * tests/test-rmdir.c (main): Factor guts...
37844         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
37845         * modules/rmdir-tests (Files): Ship new file.
37846         * modules/openat-tests: New test.
37847         * tests/test-unlinkat.c: Likewise.
37848
37849         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
37850         * modules/rmdir-errno (Status, Notice): Now obsolete.
37851
37852         rmdir: work around cygwin 1.5.x and mingw bugs
37853         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
37854         * lib/rmdir.c (rmdir): Work around it.
37855         * modules/rmdir (Status, Notice): No longer obsolete.
37856         (Files): Add dos.m4.
37857         (Depends-on): Add unistd.
37858         (configure.ac): Set witnesses.
37859         (License): Relax to LGPLv2+.
37860         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
37861         * modules/unistd (Makefile.am): Substitute witnesses.
37862         * lib/unistd.in.h (rmdir): Declare replacement.
37863         * doc/posix-functions/rmdir.texi (rmdir): Document this.
37864         * modules/rmdir-tests: New tests.
37865         * tests/test-rmdir.c: Likewise.
37866
37867 2009-09-15  Eric Blake  <ebb9@byu.net>
37868
37869         fchdir: improve use of replacement functions
37870         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
37871         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
37872         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
37873         REPLACE_CLOSEDIR.
37874         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
37875         * modules/sys_stat (Makefile.am): Substitute correct witness.
37876         * modules/dirent (Makefile.am): Likewise.
37877         * modules/unistd (Makefile.am): Likewise.
37878         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
37879         * lib/unistd.in.h (dup): Likewise.
37880         * lib/sys_stat.in.h (fstat): Likewise.
37881
37882         maint: ignore gnulib-tool temp files
37883         * .gitignore: Ignore files created during gnulib-tool --test.
37884
37885 2009-09-13  Jim Meyering  <meyering@redhat.com>
37886
37887         posixtm: don't reject a time that specify "60" as the number of seconds
37888         * lib/posixtm.c (posixtime): The code to reject invalid dates
37889         would also reject a time specified with the .60 suffix.
37890         But POSIX allows that, in order to accommodate leap seconds.
37891         So don't reject it.
37892         (main): Adjust tests accordingly.
37893         * modules/posixtm (Depends-on): Add stpcpy.
37894
37895 2009-09-11  Jim Meyering  <meyering@redhat.com>
37896
37897         announce-gen: include [$release_type] in emitted Subject:
37898         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
37899         e.g., [stable] in the emitted Subject: line.
37900
37901 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37902
37903         Remove obsolete macros from several modules.
37904         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
37905         obsolete Autoconf macros with their modern counterparts.
37906         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
37907         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
37908         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
37909         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
37910         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
37911         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
37912         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
37913         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
37914         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
37915         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
37916         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
37917         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
37918         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
37919         * m4/sockets.m4 (gl_SOCKETS): Likewise.
37920         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
37921         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
37922         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
37923         * m4/time_r.m4 (gl_TIME_R): Likewise.
37924         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
37925         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
37926         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
37927
37928         Fix copyright header in build-aux scripts.
37929         * build-aux/git-version-gen: Fix copyright header to match GPLv3
37930         recommendation.
37931         * build-aux/ncftpput-ftp: Likewise.
37932         * build-aux/update-copyright: Likewise.
37933
37934 2009-09-09  Eric Blake  <ebb9@byu.net>
37935
37936         test-link: allow Linux choice of errno
37937         * tests/test-link.c (main): Relax test for alternate error.
37938
37939         strndup: fix improper m4 caching
37940         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
37941         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
37942         (gl_PREREQ_STRNDUP): Delete.
37943         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
37944         * modules/string (Makefile.am): Substitute it.
37945         * lib/string.in.h (strndup): Modernize prototype.
37946
37947         getcwd: port to mingw
37948         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
37949         different from the POSIX assumptions made throughout the getcwd
37950         module; fortunately, the mingw getcwd does not need replacement.
37951         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
37952         * modules/getcwd-tests: New test.
37953         * tests/test-getcwd.c: Likewise.
37954
37955         link: fix platform bugs
37956         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
37957         * lib/link.c (link): Work around them.  Fix related mingw bug.
37958         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
37959         * modules/unistd (Makefile.am): Substitute it.
37960         * lib/unistd.in.h (link): Declare replacement.
37961         * doc/posix-functions/link.texi (link): Document this.
37962         * modules/link (Depends-on): Add strdup-posix, sys_stat.
37963
37964         test-link: consolidate into single C program, test more cases
37965         * tests/test-link.sh: Delete.
37966         * tests/test-link.c: Test more error conditions.  Exposes bugs on
37967         at least Cygwin and Solaris.
37968         * modules/link-tests (Files): Remove unused file.
37969         (Depends-on): Add errno, sys_stat.
37970         (Makefile.am): Simplify.
37971
37972 2009-09-08  Bruno Haible  <bruno@clisp.org>
37973
37974         Work around towlower, towupper bug on mingw.
37975         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
37976         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
37977         * doc/posix-functions/towlower.texi: Mention the mingw bug.
37978         * doc/posix-functions/towupper.texi: Likewise.
37979         Reported by Eric Blake.
37980
37981 2009-09-08  Jim Meyering  <meyering@redhat.com>
37982
37983         build: don't try to run autoheader if we don't use it
37984         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
37985         is not used in configure.ac.
37986
37987 2009-09-08  Eric Blake  <ebb9@byu.net>
37988
37989         euidaccess: fix compilation error
37990         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
37991
37992         rawmemchr: relax license
37993         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
37994         okay.
37995         Reported by Jim Meyering.
37996
37997         mkfifoat: new module
37998         * modules/mkfifoat: New file.
37999         * lib/mkfifoat.c: Likewise.
38000         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
38001         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38002         * modules/sys_stat (Makefile.am): Use them.
38003         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
38004         * MODULES.html.sh (File system functions): Mention module.
38005         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
38006         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
38007         * modules/mkfifoat-tests: New test.
38008         * tests/test-mkfifoat.c: Likewise.
38009
38010         strchrnul: relax license
38011         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
38012         okay.
38013         Reported by Jim Meyering.
38014
38015 2009-09-08  Eric Blake  <ebb9@byu.net>
38016
38017         fstatat: fix compilation on Solaris
38018         * lib/fstatat.c (includes): Add fcntl.h.
38019         Reported by Pádraig Brady.
38020
38021 2009-09-07  Eric Blake  <ebb9@byu.net>
38022
38023         rename: modernize replacement
38024         * modules/rename (Depends-on): Add stdio.
38025         (configure.ac): Declare witness.
38026         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
38027         stdio take care of replacement.
38028         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
38029         * modules/stdio (Makefile.am): Substitute them.
38030         * lib/stdio.in.h (rename): Declare replacement.
38031         * lib/rename.c (includes): Allow cross-compilation to non-windows
38032         machines.
38033         * doc/posix-functions/rename.texi (rename): Improve
38034         documentation.
38035
38036         stdio: sort witness names
38037         * modules/stdio (Makefile.am): Sort replacements.
38038         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
38039         * lib/stdio.in.h: Likewise.
38040
38041         getcwd: minor cleanups
38042         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
38043         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
38044
38045         openat: provide more convenience names
38046         * modules/faccessat (configure.ac): Add C witness.
38047         * lib/unistd.in.h (readlinkat): Fix typo.
38048         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
38049         convenience wrappers.
38050         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
38051         wrappers in syntax checks.
38052
38053 2009-09-06  Eric Blake  <ebb9@byu.net>
38054
38055         doc: fix comments in recent patches
38056         * lib/faccessat.c: Mention correct function.
38057         * lib/fchmodat.c: Likewise.
38058         * lib/fchownat.c: Likewise.
38059         * lib/symlinkat.c: Likewise.
38060         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
38061         constants.
38062
38063         faccessat, symlinkat: continue cleanup of previous patch
38064         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
38065         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
38066         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
38067         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
38068         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
38069         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
38070         set.
38071
38072 2009-09-06  Bruno Haible  <bruno@clisp.org>
38073
38074         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
38075         (fstatat): Declare if GNULIB_FSTATAT is set.
38076         (mkdirat): Declare if GNULIB_MKDIRAT is set.
38077         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
38078         (unlinkat): Declare if GNULIB_UNLINKAT is set.
38079         * modules/fcntl-h (Files): Remove m4/openat.m4.
38080         * modules/sys_stat (Files): Remove m4/openat.m4.
38081         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
38082         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
38083         * modules/unistd (Files): Remove m4/openat.m4.
38084         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
38085         GNULIB_OPENAT.
38086         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
38087         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
38088         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
38089         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
38090         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
38091         gl_OPENAT_DEFAULTS.
38092         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
38093         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
38094         Don't require gl_OPENAT_DEFAULTS.
38095         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
38096         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
38097         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
38098         (gl_OPENAT_DEFAULTS): Remove macro.
38099
38100 2009-09-06  Bruno Haible  <bruno@clisp.org>
38101
38102         * modules/openat (configure.ac): Remove unneeded witness.
38103
38104 2009-09-06  Bruno Haible  <bruno@clisp.org>
38105
38106         Set errno to ENOSYS when a function is entirely unsupported.
38107         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
38108         EOPNOTSUPP.
38109         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
38110         * modules/chown (Depends-on): Remove errno.
38111
38112 2009-09-06  Bruno Haible  <bruno@clisp.org>
38113
38114         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
38115
38116 2009-09-06  Bruno Haible  <bruno@clisp.org>
38117
38118         * lib/sys_stat.in.h: Fix preprocessor command indentation.
38119
38120 2009-09-06  Ben Pfaff  <blp@gnu.org>
38121             Bruno Haible  <bruno@clisp.org>
38122
38123         Work around a glibc bug in strtok_r.
38124         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
38125         Undefine if UNDEFINE_STRTOK_R is set.
38126         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
38127         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
38128         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
38129         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
38130         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
38131         UNDEFINE_STRTOK_R.
38132         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
38133
38134 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
38135
38136         exclude: minor fix
38137         * lib/exclude.c: Include wctype.h
38138
38139 2009-09-06  Akim Demaille  <demaille@gostai.com>
38140
38141         bootstrap: improve error message
38142         * build-aux/bootstrap (find_tool): Upon failure, report the list
38143         of candidates.
38144         Honor the initial value of the envvar.
38145
38146 2009-09-05  Eric Blake  <ebb9@byu.net>
38147
38148         symlinkat: new module
38149         * modules/symlinkat: New file.
38150         * lib/symlinkat.c: Likewise.
38151         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
38152         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
38153         * modules/unistd (Makefile.am): Use them.
38154         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
38155         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
38156         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
38157         * MODULES.html.sh (File system functions): Mention module.
38158         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38159         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38160         * modules/symlinkat-tests: New test.
38161         * tests/test-symlinkat.c: Likewise.
38162
38163         test-openat-safer: add more checks
38164         * tests/test-openat-safer.c (main): Check more code paths.
38165
38166 2009-09-05  Jim Meyering  <meyering@redhat.com>
38167
38168         syntax-check: detect unnecessary inclusion of openat.h
38169         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
38170
38171 2009-09-05  Bruno Haible  <bruno@clisp.org>
38172
38173         Support towlower, towupper.
38174         * doc/posix-functions/towlower.texi: Mention module wctype.
38175         * doc/posix-functions/towupper.texi: Likewise.
38176         * lib/wctype.in.h (towlower, towupper): New functions.
38177         * tests/test-wctype.c: Include stdio.h, stdlib.h.
38178         (ASSERT): New macro.
38179         (e): New variable.
38180         (main): Test also towlower, towupper. Test WEOF argument.
38181         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
38182
38183 2009-09-05  Bruno Haible  <bruno@clisp.org>
38184
38185         Fix conversion behaviour when the input is invalid.
38186         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
38187         mark occurring in first pass of indirect conversion.
38188         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
38189         input.
38190         Found by clang's static analyzer.
38191
38192 2009-09-05  Bruno Haible  <bruno@clisp.org>
38193
38194         * tests/test-striconveh.c (main): Test indirect conversion on platforms
38195         where direct conversion is possible.
38196
38197 2009-09-04  Eric Blake  <ebb9@byu.net>
38198
38199         openat: fail with ENOENT on empty name
38200         * lib/openat-proc.c (openat_proc_name): Special-case the empty
38201         buffer.
38202
38203         link-follow: fix logic bug in prior patch
38204         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
38205         reversed sense of yes and no in prior patch.  Avoid confusing
38206         compilation failure with desired semantics.
38207
38208         link-follow: accomodate mingw and cross-compilation
38209         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
38210         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
38211         cross-compilation results to -1, to make linkat easier to
38212         implement when cross-compiling.  Trivially support mingw.
38213         * modules/link-follow (configure.ac): Call new name.
38214         * NEWS: Mention this.
38215
38216 2009-09-03  Eric Blake  <ebb9@byu.net>
38217
38218         faccessat: compile replacement
38219         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
38220         needed.
38221
38222         fts: fix compilation error
38223         * lib/fts.c (includes): Re-add "openat.h", for
38224         openat_needs_fchdir.
38225
38226         faccessat: new module
38227         * modules/faccessat: New file.
38228         * lib/faccessat.c: Likewise.
38229         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
38230         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38231         * modules/unistd (Makefile.am): Use it.
38232         * lib/unistd.in.h (faccessat): Declare it.
38233         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
38234         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
38235         * MODULES.html.sh (File system functions): Mention it.
38236         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
38237         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
38238
38239         euidaccess: prefer POSIX over non-standard implementation
38240         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
38241         * lib/euidaccess.c (euidaccess): Use it if available.
38242
38243         openat: make template easier to use
38244         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
38245         AT_FUNC_F2 to be undefined.
38246         (VALIDATE_FLAG): New macro; use it to reject bad flags.
38247         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
38248         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
38249         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
38250         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
38251         Likewise.
38252         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
38253         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
38254         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
38255         Likewise.
38256
38257         openat: declare in POSIX headers
38258         * NEWS: Mention this.
38259         * modules/openat (configure.ac): Declare witnesses.
38260         (Depends-on): Add fcntl-h, sys_stat, unistd.
38261         (Include): Mention correct headers.
38262         * modules/fcntl-h (Depends-on): Add link-warning.
38263         (Files): Add openat.m4.
38264         (Makefile.am): Substitute witnesses.
38265         * modules/sys_stat (Files, Makefile.am): Likewise.
38266         * modules/unistd (Files, Makefile.am): Likewise.
38267         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
38268         (gl_OPENAT_DEFAULTS): New macro.
38269         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
38270         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
38271         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
38272         (SYS_STAT_H): Remove unused variable.
38273         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
38274         * lib/fcntl--.h (includes): Remove unneeded header.
38275         * lib/openat-safer.c (includes): Likewise.
38276         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
38277         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
38278         appropriate headers.
38279         (__OPENAT_PREFIX): Delete.
38280         * lib/fcntl.in.h (openat): Provide declaration.
38281         (AT_FDCWD): Fix Solaris bug.
38282         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
38283         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
38284         * lib/fchmodat.c (includes):  Adjust to find declaration.
38285         * lib/fchownat.c (includes): Likewise.
38286         * lib/mkdirat.c (includes): Likewise.
38287         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
38288         still visible.
38289
38290 2009-09-02  Eric Blake  <ebb9@byu.net>
38291
38292         errno: use consistently
38293         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
38294         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
38295         * lib/canonicalize.c (ELOOP): Likewise.
38296         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
38297         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
38298         * lib/lchown.c (EOPNOTSUPP): Likewise.
38299         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
38300         * lib/savewd.c (ESTALE): Likewise.
38301         * lib/settime.c (ENOSYS): Likewise.
38302         * lib/utimens.c (ENOSYS): Likewise.
38303         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
38304         * lib/chdir-safer.c (ELOOP): Likewise.
38305         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
38306         * modules/c-stack (Depends-on): Add errno.
38307         * modules/canonicalize (Depends-on): Likewise.
38308         * modules/chdir-safer (Depends-on): Likewise.
38309         * modules/fdopendir (Depends-on): Likewise.
38310         * modules/inet_ntop (Depends-on): Likewise.
38311         * modules/inet_pton (Depends-on): Likewise.
38312         * modules/lchown (Depends-on): Likewise.
38313         * modules/openat (Depends-on): Likewise.
38314         * modules/savewd (Depends-on): Likewise.
38315         * modules/settime (Depends-on): Likewise.
38316         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
38317
38318         fts: avoid leaking fds
38319         * modules/fts (Depends-on): Add cloexec.
38320         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
38321         flag.
38322
38323         fts: make directory fds more robust
38324         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
38325         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
38326
38327         backupfile, chdir-long, fts, savedir: make safer
38328         * lib/backupfile.c (includes): Use "dirent--.h", since
38329         numbered_backup can write to stderr during readdir.
38330         * lib/savedir.c (includes): Likewise.
38331         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
38332         emulation can write to stderr on failure.
38333         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
38334         * lib/getcwd.c: Document why opendir_safer is unused.
38335         * lib/glob.c: Likewise.
38336         * lib/scandir.c: Likewise.
38337         * lib/openat-proc.c: Likewise, for open_safer.
38338         * modules/backupfile (Depends-on): Add dirent-safer.
38339         * modules/savedir (Depends-on): Likewise.
38340         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
38341         * modules/chdir-long (Depends-on): Add openat-safer.
38342
38343         openat-safer: new module
38344         * modules/openat-safer: New file.
38345         * lib/openat-safer.c: Likewise.
38346         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
38347         * lib/fcntl-safer.h (openat_safer): Declare.
38348         * lib/fcntl--.h (openat): Override.
38349         * MODULES.html.sh (File descriptor based I/O): Mention it.
38350         * lib/openat.h: Add double-inclusion guards.
38351         * lib/openat.c (includes): Only include "fcntl-safer.h", not
38352         "fcntl--.h", so we can implement openat.
38353         * modules/openat-safer-tests: New test.
38354         * tests/test-openat-safer.c: New file.
38355
38356         dirent-safer: new module
38357         * modules/dirent-safer: New file.
38358         * lib/dirent--.h: Likewise.
38359         * lib/dirent-safer.h: Likewise.
38360         * lib/opendir-safer.c: Likewise.
38361         * m4/dirent-safer.m4: Likewise.
38362         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
38363         * modules/dirent-safer-tests: New test.
38364         * tests/test-dirent-safer.c: New file.
38365         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
38366
38367         fdopendir: optimize on mingw
38368         * lib/unistd.in.h (_gl_directory_name): New prototype.
38369         * lib/fchdir.c (_gl_directory_name): Implement it.
38370         (fchdir): Use it to simplify implementation.
38371         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
38372         fchdir, when available, to avoid calling [f]chdir().
38373
38374         fdopendir: split into its own module
38375         * lib/openat.c (fdopendir): Move...
38376         * lib/fdopendir.c: ...into new file.
38377         * modules/fdopendir: New module.
38378         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
38379         * modules/openat (Depends-on): Add fdopendir.
38380         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
38381         fdopendir here.
38382         * modules/savedir (Depends-on): Only need fdopendir, not full
38383         openat.
38384         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
38385         * lib/openat.h (fdopendir): Drop prototype.
38386         * lib/dirent.in.h (fdopendir): Provide prototype.
38387         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
38388         * modules/dirent (Makefile.am): Substitute them.
38389         * MODULES.html.sh (File system functions): Mention it.
38390         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
38391         * modules/fdopendir-tests: New file.
38392         * tests/test-fdopendir.c: Likewise.
38393
38394         fchdir: use more consistent macro convention
38395         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
38396         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
38397         REPLACE_FCHDIR, rather than relying on config.h macros.
38398         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
38399         inside a single make-time REPLACE_FCHDIR block, rather than using
38400         the config.h FCHDIR_REPLACEMENT.
38401         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
38402         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
38403         Manage fstat replacement.
38404         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
38405         REPLACE_FCHDIR.
38406         * modules/sys_stat (Files): Add m4/unistd_h.m4.
38407         (Makefile.am): Substitute REPLACE_FCHDIR.
38408         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
38409         FCHDIR_REPLACEMENT.
38410         * lib/dup-safer.c (dup_safer): Likewise.
38411         * lib/dup2.c (rpl_dup2): Likewise.
38412         * lib/dup3.c (rpl_dup3): Likewise.
38413         * lib/open.c (rpl_open): Likewise.
38414
38415         fchdir: simplify error handling, and support dup3
38416         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
38417         stdbool, malloc-posix, realloc-posix.
38418         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
38419         (ensure_dirs_slot): Return false on allocation failure.
38420         (rpl_dup2): Delete.
38421         (_gl_register_dup): New function.
38422         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
38423         (_gl_register_fd): Close fd on allocation failure.
38424         * lib/fcntl.in.h (_gl_register_fd): Update signature.
38425         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
38426         prototype.
38427         (rpl_dup2_fchdir): Delete prototype.
38428         * lib/open.c (open): Update caller.
38429         * lib/dup2.c (dup2): Track fchdir metadata.
38430         * lib/dup3.c (dup3): Likewise.
38431         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
38432         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
38433
38434 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38435
38436         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
38437         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
38438         don't pass arguments to AC_OUTPUT.
38439
38440 2009-09-02  Bruno Haible  <bruno@clisp.org>
38441
38442         * modules/mkdtemp (License): Relicense under LGPLv2+.
38443         Reported by Paolo Bonzini.
38444
38445 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38446
38447         Replace uses of obsolete autoconf macros in Jim's modules.
38448         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
38449         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
38450         can evoke a warning from autoconf when run with -Wobsolete
38451         enabled.  They were declared obsolete for good reasons (see
38452         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
38453         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
38454         should not continue using the deprecated macros.
38455         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
38456         obsolete Autoconf macros with modern counterparts.
38457         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
38458         * m4/dos.m4 (gl_AC_DOS): Likewise.
38459         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
38460         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
38461         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
38462         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
38463         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
38464         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
38465         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
38466         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
38467         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
38468         Likewise.
38469         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
38470         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
38471         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
38472         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
38473         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
38474         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
38475
38476 2009-09-01  Eric Blake  <ebb9@byu.net>
38477
38478         fchdir: fix off-by-one bug in previous patch
38479         * lib/fchdir.c (rpl_fstat): Use correct bounds.
38480         (_gl_unregister_fd): Delete useless if.
38481
38482 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
38483
38484         maint.mk: sort the list of syntax-check rules
38485         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
38486         easier to get a sense of progress when the rules are run sequentially
38487         and take a long time.
38488
38489 2009-09-01  Simon Josefsson  <simon@josefsson.org>
38490
38491         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
38492         * modules/netinet_in: Likewise.
38493         * modules/sys_file: Likewise.
38494         * modules/sys_ioctl: Likewise.
38495         * modules/sys_select: Likewise.
38496         * modules/sys_socket: Likewise.
38497         * modules/sys_stat: Likewise.
38498         * modules/sys_time: Likewise.
38499         * modules/sys_times: Likewise.
38500         * modules/sys_utsname: Likewise.
38501         * modules/sys_wait: Likewise.
38502
38503 2009-09-01  Jim Meyering  <meyering@redhat.com>
38504
38505         fts: help ensure that return values are not ignored
38506         * lib/fts_.h (__GNUC_PREREQ): Define.
38507         (__attribute_warn_unused_result__): Define.
38508         (fts_children, fts_close, fts_open, fts_read): Declare with
38509         __attribute_warn_unused_result__.
38510
38511         fts: fts_close now fails also when closing a dir file descriptor fails
38512         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
38513         and propagate to caller, along with errno.
38514
38515         announce-gen: correct formatting in --help output
38516         * build-aux/announce-gen (usage): Move the one-line description in
38517         --help output "up", to where it belongs, just after Usage:.
38518
38519 2009-08-31  Eric Blake  <ebb9@byu.net>
38520
38521         fchdir: port to mingw
38522         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
38523         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
38524         opened, then use a substitute.
38525         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
38526         replacement.
38527         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
38528         (_gl_register_fd): No need to check stat if open already filters
38529         all directories.
38530         (fchdir): Fix error condition to match POSIX.
38531         * modules/fchdir (Depends-on): Add sys_stat.
38532         * doc/posix-functions/open.texi (open): Document the limitation.
38533         * modules/fchdir-tests: New file.
38534         * tests/test-fchdir.c: Likewise.
38535
38536         canonicalize: allow cross-testing from cygwin to mingw
38537         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
38538         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
38539         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
38540         Likewise.
38541         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
38542         target does not support symlinks.
38543         * tests/test-canonicalize-lgpl.sh: Likewise.
38544
38545         chown: avoid compilation warning on mingw
38546         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
38547         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
38548         mingw.
38549         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
38550         * modules/chown (Depends-on): Add errno.
38551
38552 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
38553
38554         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
38555         command.
38556
38557 2009-08-31  Jim Meyering  <meyering@redhat.com>
38558
38559         canonicalize: remove useless initialization
38560         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
38561         initialization of local, "end".
38562
38563 2009-08-30  Bruno Haible  <bruno@clisp.org>
38564
38565         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
38566         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
38567         ENOSYS.
38568
38569 2009-08-30  Bruno Haible  <bruno@clisp.org>
38570
38571         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
38572         /usr/xpg4/bin/tr when it exists.
38573         * tests/test-pipe-filter-gi1.sh: Likewise.
38574
38575 2009-08-30  Bruno Haible  <bruno@clisp.org>
38576
38577         Work around deficient /usr/bin/id program on Solaris.
38578         * tests/test-file-has-acl.sh (ID): New variable.
38579         * tests/test-set-mode-acl.sh (ID): Likewise.
38580         * tests/test-copy-acl.sh (ID): Likewise.
38581         * tests/test-copy-file.sh (ID): Likewise.
38582
38583 2009-08-30  Bruno Haible  <bruno@clisp.org>
38584
38585         New module 'xstriconveh'.
38586         * lib/xstriconveh.h: New file.
38587         * lib/xstriconveh.c: New file.
38588         * modules/xstriconveh: New file.
38589
38590 2009-08-30  Bruno Haible  <bruno@clisp.org>
38591
38592         Make it easier to use mem_cd_iconveh.
38593         * lib/striconveh.h (iconveh_t): New type.
38594         (iconveh_open, iconveh_close): New declarations.
38595         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
38596         with a single 'const iconveh_t *' argument.
38597         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
38598         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
38599         with a single 'const iconveh_t *' argument.
38600         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
38601         * tests/test-striconveh.c (main): Update.
38602         * NEWS: Mention the change.
38603
38604 2009-08-30  Bruno Haible  <bruno@clisp.org>
38605
38606         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
38607         problem.
38608
38609 2009-08-30  Bruno Haible  <bruno@clisp.org>
38610
38611         Work around iconv_open problem on Solaris.
38612         * lib/iconv_open-solaris.gperf: New file.
38613         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
38614         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
38615         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
38616         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
38617         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
38618         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
38619
38620 2009-08-29  Jim Meyering  <meyering@redhat.com>
38621
38622         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
38623         * top/maint.mk (cvs-check): Remove target; it was just an alias
38624         to the better-named vc-diff-check.
38625         (maintainer-distcheck): Remove rule.  It was used only from
38626         the (alpha/beta/major) target, and all of its commands but one
38627         were coreutils-specific.
38628         (vc-dist): Remove rule.
38629         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
38630         Run vc-diff-check, not vc-dist.
38631         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
38632
38633 2009-08-27  Bruno Haible  <bruno@clisp.org>
38634
38635         * tests/test-bitrotate.c (main): Remove test that uses a shift count
38636         of 0.
38637
38638 2009-08-27  Bruno Haible  <bruno@clisp.org>
38639
38640         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
38641         compilers.
38642         * doc/func.texi: Document the SunPRO C bug.
38643
38644 2009-08-27  Bruno Haible  <bruno@clisp.org>
38645
38646         Fix link error on Solaris.
38647         * tests/test-parse-duration.c (xstrdup): Remove function.
38648
38649 2009-08-26  Pádraig Brady  <P@draigbrady.com>
38650
38651         ignore-value: handle pointer types, too
38652         * lib/ignore-value.h (__attribute__): Remove definition.
38653         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
38654         of a more concise and more-often effective "(void) i" statement.
38655         (ignore_ptr): New function to suppress warnings from functions that
38656         return pointers, and to make it explicit that one function doesn't
38657         handle all cases.
38658
38659 2009-08-25  Bruno Haible  <bruno@clisp.org>
38660
38661         dup2: work around a Linux bug.
38662         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
38663         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
38664         * doc/posix-functions/dup2.texi: Mention the Linux bug.
38665         Reported by Simon Josefsson.
38666
38667 2009-08-25  Jim Meyering  <meyering@redhat.com>
38668
38669         libguestfs uses gnulib
38670         * users.txt: Add libguestfs.
38671
38672 2009-08-24  Eric Blake  <ebb9@byu.net>
38673
38674         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
38675         * lib/pipe2.c (includes): Add binary-io.h.
38676         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
38677
38678 2009-08-24  Bruno Haible  <bruno@clisp.org>
38679
38680         Tolerate declared but missing accept4 syscall.
38681         * lib/accept4.c (accept4): Invoke original accept4 function first, if
38682         available.
38683         * lib/sys_socket.in.h (accept4): If the function is already present,
38684         override it.
38685         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
38686         * modules/accept4 (Makefile.am): Compile accept4.c always.
38687         Reported by Paolo Bonzini and Eric Blake.
38688
38689 2009-08-23  Bruno Haible  <bruno@clisp.org>
38690
38691         New module 'accept4'.
38692         * lib/sys_socket.in.h (accept4): New declaration.
38693         * lib/accept4.c: New file.
38694         * m4/accept4.m4: New file.
38695         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
38696         GNULIB_ACCEPT4, HAVE_ACCEPT4.
38697         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
38698         HAVE_ACCEPT4.
38699         * modules/accept4: New file.
38700         * doc/glibc-functions/accept4.texi: Mention the new module.
38701
38702 2009-08-24  Jim Meyering  <meyering@redhat.com>
38703
38704         progname: also set global program_invocation_name, when possible
38705         Before this change, a libtool-enabled program that calls glibc's
38706         error function would report the program name as
38707         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
38708         * modules/progname (configure.ac): Check for a declaration of
38709         program_invocation_name.
38710         * lib/progname.c:  Include <errno.h>.
38711         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
38712         Set program_invocation_name.
38713
38714 2009-08-23  Bruno Haible  <bruno@clisp.org>
38715
38716         * lib/dup3.c: Include <string.h>.
38717
38718 2009-08-23  Bruno Haible  <bruno@clisp.org>
38719
38720         * lib/dup3.c (dup3): Test only once whether the system actually exists.
38721         * lib/pipe2.c (pipe2): Likewise.
38722         Suggested by Eric Blake.
38723
38724 2009-08-23  Bruno Haible  <bruno@clisp.org>
38725
38726         Tolerate declared but missing dup3 syscall.
38727         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
38728         * lib/unistd.in.h (dup3): If the function is already present,
38729         override it.
38730         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
38731         * modules/dup3 (Makefile.am): Compile dup3.c always.
38732         Reported by Paolo Bonzini.
38733
38734 2009-08-23  Bruno Haible  <bruno@clisp.org>
38735
38736         Tolerate declared but missing pipe2 syscall.
38737         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
38738         available.
38739         * lib/unistd.in.h (pipe2): If the function is already present,
38740         override it.
38741         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
38742         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
38743         Reported by Paolo Bonzini.
38744
38745 2009-08-23  Bruno Haible  <bruno@clisp.org>
38746
38747         * lib/pipe2.c (pipe2): Move #ifs inside function.
38748
38749 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
38750
38751         quotearg: document limitations of quote_these_too
38752         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
38753         those limitations are created.
38754         * lib/quotearg.h (set_char_quoting): Document that digits and
38755         letters that are special after backslash are not permitted.
38756         (quotearg_char): Cross-reference set_char_quoting documentation.
38757
38758 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
38759
38760         quotearg: implement custom_quoting_style
38761         * lib/quotearg.c: (struct quoting_options): Add left_quote and
38762         right_quote fields.
38763         (set_custom_quoting): New public function.
38764         (quotearg_buffer_restyled): Add left_quote and right_quote
38765         arguments, handle them very much like locale quoting, and update
38766         all uses.
38767         (quotearg_n_custom): New public function.
38768         (quotearg_n_custom_mem): New public function.
38769         (quotearg_custom): New public function.
38770         (quotearg_custom_mem): New public function.
38771         * lib/quotearg.h: Prototype and document new public functions.
38772         (enum quoting_style): For escape_quoting_style and
38773         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
38774         ignored even though they're otherwise like c_quoting_style.
38775         Add custom_quoting_style member and document with comparison to
38776         clocale_quoting_style.
38777         * tests/test-quotearg.c (custom_quotes): New array.
38778         (custom_results): New array.
38779         (main): Extend to test custom quoting.
38780
38781 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
38782
38783         quotearg: fix right quote escaping when it's in quote_these_too
38784         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
38785         quote, be sure to prepend only one backslash.
38786         * tests/test-quotearg.c (use_quote_double_quotes): New function.
38787         (main): Test it.
38788
38789 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
38790
38791         quotearg-tests: test escaping of embedded locale quotes
38792         * tests/test-quotearg.c (struct result_strings): Add member for
38793         new input.
38794         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
38795         (inputs): Add new input.
38796         (results_g): Add expected results.
38797         (flag_results): Likewise.
38798         (locale_results): Likewise.
38799         (compare_strings): Check those.
38800
38801 2009-08-23  Bruno Haible  <bruno@clisp.org>
38802
38803         Tests for module 'dup3'.
38804         * modules/dup3-tests: New file.
38805         * tests/test-dup3.c: New file.
38806
38807         New module 'dup3'.
38808         * lib/unistd.in.h (dup3): New declaration.
38809         * lib/dup3.c: New file.
38810         * m4/dup3.m4: New file.
38811         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
38812         HAVE_DUP3.
38813         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
38814         * modules/dup3: New file.
38815         * doc/glibc-functions/dup3.texi: Mention the new module.
38816
38817 2009-08-23  Bruno Haible  <bruno@clisp.org>
38818
38819         Tweak the dup2 test.
38820         * tests/test-dup2.c (main): Create the test file empty. Verify that an
38821         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
38822         the test file is still empty. Fix argument order of lseek.
38823
38824 2009-08-23  Bruno Haible  <bruno@clisp.org>
38825
38826         Avoid test link errors when the modules getopt-gnu, gettext are used.
38827         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
38828         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38829
38830 2009-08-23  Bruno Haible  <bruno@clisp.org>
38831
38832         Fix getdtablesize() on mingw.
38833         * lib/getdtablesize.c (getdtablesize): Implement differently.
38834         * lib/unistd.in.h (getdtablesize): Improve comment.
38835
38836 2009-08-23  Bruno Haible  <bruno@clisp.org>
38837
38838         New module 'mkostemp'.
38839         Based on Ulrich Drepper's 2007-08-10 change in glibc.
38840         * lib/stdlib.in.h (mksotemp): New declaration.
38841         * lib/mkostemp.c: New file, from glibc with modifications.
38842         * lib/tempname.h (GT_FILE): Remove outdated comment.
38843         (gen_tempname): Add flags argument.
38844         * lib/tempname.c (__GT_BIGFILE): Remove macro.
38845         (__GT_FILE): Map to 1.
38846         (small_open, large_open): Remove macros.
38847         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
38848         * lib/mkstemp.c (mkstemp): Update.
38849         * lib/mkdtemp.c (mkdtemp): Likewise.
38850         * m4/mkostemp.m4: New file.
38851         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
38852         HAVE_MKOSTEMP.
38853         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
38854         HAVE_MKOSTEMP.
38855         * modules/mkostemp: New file, based on modules/mkstemp.
38856         * doc/glibc-functions/mkostemp.texi: Mention the new module.
38857         * NEWS: Mention the change.
38858
38859 2009-08-23  Bruno Haible  <bruno@clisp.org>
38860
38861         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
38862         Reported by Eric Blake.
38863
38864 2009-08-23  Bruno Haible  <bruno@clisp.org>
38865
38866         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
38867         Reported by Eric Blake.
38868
38869 2009-08-23  Bruno Haible  <bruno@clisp.org>
38870
38871         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
38872         * modules/pipe2 (Depends-on): Likewise.
38873
38874 2009-08-23  Eric Blake  <ebb9@byu.net>
38875
38876         fcntl-h: add O_TTY_INIT support
38877         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
38878         * tests/test-fcntl-h.c (o): Test it.
38879         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
38880
38881         fcntl-h: rename from fcntl, in preparation for fcntl(2)
38882         * modules/fcntl: Move <fcntl.h> header replacement...
38883         * modules/fcntl-h: ...to new name, so as not to collide with
38884         like-named function.
38885         * tests/test-fcntl.c: Rename...
38886         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
38887         * modules/fcntl-tests: Rename...
38888         * modules/fcntl-h-tests: ...to this.  Update test file name.
38889         * modules/chdir-long (Depends-on): Update clients.
38890         * modules/chdir-safer (Depends-on): Likewise.
38891         * modules/fcntl-safer (Depends-on): Likewise.
38892         * modules/fts (Depends-on): Likewise.
38893         * modules/mkancesdirs (Depends-on): Likewise.
38894         * modules/mkdir-p (Depends-on): Likewise.
38895         * modules/open (Depends-on): Likewise.
38896         * modules/savewd (Depends-on): Likewise.
38897         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
38898         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
38899
38900 2009-08-22  Bruno Haible  <bruno@clisp.org>
38901
38902         * modules/binary-io (License): Relicense under LGPL.
38903         * modules/pipe2 (License): Likewise.
38904
38905 2009-08-22  Bruno Haible  <bruno@clisp.org>
38906
38907         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
38908         return value.
38909         * lib/pipe-filter-gi.c (filter_init): Likewise.
38910         Reported by Eric Blake.
38911
38912 2009-08-22  Bruno Haible  <bruno@clisp.org>
38913
38914         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
38915         * modules/pipe (Depends-on): Add pipe2.
38916
38917 2009-08-22  Bruno Haible  <bruno@clisp.org>
38918
38919         Tests for module 'pipe2'.
38920         * modules/pipe2-tests: New file.
38921         * tests/test-pipe2.c: New file.
38922
38923         New module 'pipe2'.
38924         * lib/unistd.in.h (pipe2): New declaration.
38925         * lib/pipe2.c: New file.
38926         * m4/pipe2.m4: New file.
38927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
38928         HAVE_PIPE2.
38929         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
38930         * modules/pipe2: New file.
38931         * doc/glibc-functions/pipe2.texi: Mention the new module.
38932
38933 2009-08-22  Bruno Haible  <bruno@clisp.org>
38934
38935         Reference some new glibc functions.
38936         * doc/glibc-functions/accept4.texi: New file.
38937         * doc/glibc-functions/dup3.texi: New file.
38938         * doc/glibc-functions/mkostemp.texi: New file.
38939         * doc/glibc-functions/pipe2.texi: New file.
38940         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
38941         (Glibc sys/socket.h): Refer to accept4.
38942         (Glibc unistd.h): Refer to dup3, pipe2.
38943         Reported by Eric Blake.
38944
38945 2009-08-22  Jim Meyering  <meyering@redhat.com>
38946             Bruno Haible  <bruno@clisp.org>
38947
38948         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
38949         This makes it so packages using automake-1.11's silent-rules option
38950         can print e.g., a single "GEN    configmake.h" line, rather than
38951         the 30+ statements that perform the job.  If you want to see the
38952         actual commands, you can still run "make V=1".
38953         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
38954         so that make output is abbreviated when those variables are defined
38955         appropriately.
38956         * modules/argz: Likewise.
38957         * modules/arpa_inet: Likewise.
38958         * modules/byteswap: Likewise.
38959         * modules/configmake: Likewise.
38960         * modules/dirent: Likewise.
38961         * modules/errno: Likewise.
38962         * modules/fcntl: Likewise.
38963         * modules/float: Likewise.
38964         * modules/fnmatch: Likewise.
38965         * modules/getopt-posix: Likewise.
38966         * modules/glob: Likewise.
38967         * modules/iconv_open: Likewise.
38968         * modules/inttypes: Likewise.
38969         * modules/localcharset: Likewise.
38970         * modules/locale: Likewise.
38971         * modules/math: Likewise.
38972         * modules/netdb: Likewise.
38973         * modules/netinet_in: Likewise.
38974         * modules/poll: Likewise.
38975         * modules/posix_spawnp-tests: Likewise.
38976         * modules/sched: Likewise.
38977         * modules/search: Likewise.
38978         * modules/selinux-h: Likewise.
38979         * modules/signal: Likewise.
38980         * modules/spawn: Likewise.
38981         * modules/stdarg: Likewise.
38982         * modules/stdbool: Likewise.
38983         * modules/stddef: Likewise.
38984         * modules/stdint: Likewise.
38985         * modules/stdio: Likewise.
38986         * modules/stdlib: Likewise.
38987         * modules/string: Likewise.
38988         * modules/strings: Likewise.
38989         * modules/sys_file: Likewise.
38990         * modules/sys_ioctl: Likewise.
38991         * modules/sys_select: Likewise.
38992         * modules/sys_socket: Likewise.
38993         * modules/sys_stat: Likewise.
38994         * modules/sys_time: Likewise.
38995         * modules/sys_times: Likewise.
38996         * modules/sys_utsname: Likewise.
38997         * modules/sys_wait: Likewise.
38998         * modules/sysexits: Likewise.
38999         * modules/time: Likewise.
39000         * modules/unistd: Likewise.
39001         * modules/wchar: Likewise.
39002         * modules/wctype: Likewise.
39003
39004 2009-08-22  Jim Meyering  <meyering@redhat.com>
39005
39006         announce-gen: detect write failure
39007         * build-aux/announce-gen: Add Coda at end.
39008         Remove equivalent-but-more-verbose block at top.
39009
39010 2009-08-19  Akim Demaille  <demaille@gostai.com>
39011
39012         bootstrap: --help to stdout.
39013         * bootstrap (usage): Don't send --help to stderr.
39014         Use a here doc instead of a long string.
39015
39016 2009-08-21  Eric Blake  <ebb9@byu.net>
39017
39018         test-popen-safer: split from test-popen
39019         * tests/test-popen.c (main): Move...
39020         * tests/test-popen.h: ...into new file.
39021         * tests/test-popen-safer2.c: New file.
39022         * modules/popen-tests (Files): Add test-popen.h.
39023         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
39024         Suggested by Bruno Haible.
39025
39026         test-fcntl-safer: split from test-open
39027         * tests/test-open.c (main): Move...
39028         * tests/test-open.h: ...into new file.
39029         * tests/test-fcntl-safer.c: New file.
39030         * modules/open-tests (Files): Add test-open.h.
39031         * modules/fcntl-safer-tests: New file.
39032         Suggested by Bruno Haible.
39033
39034         test-fopen-safer: split from test-fopen
39035         * tests/test-fopen.c (main): Move...
39036         * tests/test-fopen.h: ...into new file.
39037         * tests/test-fopen-safer.c: New file.
39038         * modules/fopen-tests (Files): Add test-fopen.h.
39039         * modules/fopen-safer-tests: New file.
39040         Suggested by Bruno Haible.
39041
39042 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
39043
39044         popen-safer: test O_CLOEXEC at run-time.
39045         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
39046
39047 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
39048
39049         fcntl: move more flags to the header
39050         * lib/cloexec.c: Do not define FD_CLOEXEC here.
39051         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
39052         * lib/fcntl.in.h: Do both things here.
39053
39054 2009-08-21  Jim Meyering  <meyering@redhat.com>
39055
39056         consistently remove $@-t before redirecting to it
39057         * modules/argz: Remove $@-t and $@ before redirecting to the former.
39058         * modules/alloca-opt: Likewise.
39059         * modules/byteswap: Likewise.
39060         * modules/fnmatch: Likewise.
39061         * modules/getopt-posix: Likewise.
39062         * modules/glob: Likewise.
39063         * modules/poll: Likewise.
39064         * modules/posix_spawnp-tests: Likewise.
39065         * modules/sys_socket: Likewise.
39066         * modules/sysexits: Likewise.
39067
39068 2009-08-21  Eric Blake  <ebb9@byu.net>
39069
39070         popen: simplify access to original popen
39071         * lib/popen.c (rpl_popen): No need to worry about popen being a
39072         macro.
39073         Reported by Bruno Haible.
39074
39075 2009-08-20  Eric Blake  <ebb9@byu.net>
39076
39077         build: avoid some compiler warnings
39078         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
39079         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
39080         type.
39081         (new_exclude_segment, excluded_file_pattern_p)
39082         (excluded_file_name_p): Reduce scope.
39083         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
39084         old-style declaration.
39085
39086 2009-08-20  Simon Josefsson  <simon@josefsson.org>
39087
39088         * tests/test-exclude1.sh: Handle Windows EOL.
39089         * tests/test-exclude2.sh: Likewise.
39090         * tests/test-exclude3.sh: Likewise.
39091         * tests/test-exclude4.sh: Likewise.
39092         * tests/test-exclude5.sh: Likewise.
39093         * tests/test-exclude6.sh: Likewise.
39094         * tests/test-exclude7.sh: Likewise.
39095
39096 2009-08-19  Akim Demaille  <demaille@gostai.com>
39097
39098         bootstrap: find sha1sum when named gsha1sum.
39099         * bootstrap (find_tool): New.
39100         ($SHA1SUM): New.
39101         Use it.
39102
39103 2009-08-20  Jim Meyering  <meyering@redhat.com>
39104
39105         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
39106         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
39107         expression that converts "." in a file name to "\." in the resulting
39108         regexp.  Start with a dummy statement, so that prior shell variable
39109         definitions are expanded portably.  Reported by Simon Josefsson.
39110
39111 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
39112
39113         Fix polling for writeability of a screen buffer.
39114         * lib/poll.c: Distinguish input and screen buffers for the
39115         Win32 implementation.
39116         * lib/select.c: Likewise.
39117
39118 2009-08-19  Eric Blake  <ebb9@byu.net>
39119
39120         popen-safer: prevent popen from clobbering std descriptors
39121         * modules/popen-safer: New file.
39122         * lib/popen-safer.c: Likewise.
39123         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
39124         * lib/stdio--.h (popen): Provide override.
39125         * lib/stdio-safer.h (popen_safer): Provide declaration.
39126         * tests/test-popen.c (includes): Partially test this.
39127         * modules/popen-safer-tests: New file, for more tests.
39128         * tests/test-popen-safer.c: Likewise.
39129         * MODULES.html.sh (file stream based Input/Output): Mention it.
39130
39131         tests: test some of the *-safer modules
39132         * modules/fopen-safer (Depends-on): Add fopen.
39133         * modules/fcntl-safer (Depends-on): Add fcntl.
39134         * modules/stdlib-safer (Depends-on): Add stdlib.
39135         (configure.ac): Set indicator.
39136         * modules/unistd-safer (configure.ac): Likewise.
39137         * modules/tmpfile-safer (configure.ac): Likewise.
39138         (Depends-on): Add tmpfile.
39139         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
39140         active.
39141         * tests/test-fopen.c (includes): Test safer versions when they are
39142         in use.
39143         * tests/test-open.c (includes): Likewise.
39144
39145         popen: fix cygwin 1.5 bug when stdin closed
39146         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
39147         * modules/popen: New file.
39148         * modules/popen-tests: Likewise.
39149         * tests/test-popen.c: Likewise.
39150         * m4/popen.m4: Likewise.
39151         * lib/popen.c: Likewise.
39152         * lib/stdio.in.h (popen): New declaration.
39153         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
39154         * modules/stdio (Makefile.am): Likewise.
39155         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
39156
39157 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
39158
39159         maint.mk: give full control over update-copyright exclusions
39160         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
39161         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
39162         (update-copyright): Don't force inclusion of top-level
39163         ChangeLog.  Don't force exclusion of all COPYING files, but make
39164         them the default exclusion instead.
39165
39166 2009-08-16  Bruno Haible  <bruno@clisp.org>
39167
39168         Fix test failures on Solaris 10.
39169         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
39170         tests when Solaris iconv() is used.
39171         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
39172         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
39173         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
39174         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
39175         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
39176
39177 2009-08-16  Bruno Haible  <bruno@clisp.org>
39178
39179         Fix test failures on Solaris 10.
39180         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
39181         'tr' program and pass it as first argument.
39182         * tests/test-pipe-filter-gi1.sh: Likewise.
39183         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
39184         program as first argument.
39185         * tests/test-pipe-filter-gi1.c (main): Likewise.
39186
39187 2009-08-16  Eric Blake  <ebb9@byu.net>
39188
39189         fpurge: fix previous commits
39190         * modules/fpurge (Makefile.am): Make replacement conditional,
39191         partially reverting 2007-04-29 change; missed in previous
39192         attempt.
39193         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
39194         is missing.
39195
39196 2009-08-16  Bruno Haible  <bruno@clisp.org>
39197
39198         Clarify fpurge's effect on the file position.
39199         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
39200         * tests/test-fpurge.c (main): Make a second pass for checking the file
39201         position.
39202
39203 2009-08-16  Bruno Haible  <bruno@clisp.org>
39204
39205         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
39206         declaration of fpurge is missing.
39207         * tests/test-fpurge.c (main): Check that the file has not more contents
39208         than expected. Close the file before removing it.
39209
39210 2009-08-15  Eric Blake  <ebb9@byu.net>
39211
39212         fpurge: don't wrap working cygwin implementation
39213         * lib/fpurge.c (fpurge): Fix comment typo.
39214         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
39215         1.7 to avoid replacement.
39216         * tests/test-fpurge.c (main): Enhance test.
39217
39218 2009-08-15  Eric Blake  <ebb9@byu.net>
39219         and Jim Meyering  <meyering@redhat.com>
39220
39221         test-update-copyright: skip if perl is insufficient
39222         * tests/test-update-copyright.sh: Failure to run maintainer tool
39223         should not cause testsuite failure on cygwin 1.5.
39224
39225 2009-08-14  Eric Blake  <ebb9@byu.net>
39226
39227         doc: mention more functions added in cygwin 1.7.0
39228         * doc/posix-headers/limits.texi (limits.h): Update for recent
39229         cygwin additions.
39230         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
39231         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
39232         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
39233         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
39234         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
39235
39236 2009-08-14  Eric Blake  <ebb9@byu.net>
39237
39238         maint.mk: simplify update-copyright rule
39239         * top/maint.mk (update-copyright-local): Delete, and document how
39240         to do it in cfg.mk instead.
39241         (update-copyright-exclude-regexp): Delete, and document how to do
39242         it in .x-update-copyright instead.
39243         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
39244         exclude ChangeLog.
39245
39246 2009-08-14  Bruno Haible  <bruno@clisp.org>
39247
39248         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
39249
39250 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39251
39252         maint.mk: support update-copyright-env
39253         * top/maint.mk (update-copyright-env): Define place-holder.
39254         (update-copyright): Expand $(update-copyright-env) before
39255         invoking update-copyright.
39256
39257 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39258
39259         update-copyright: implement forced reformatting
39260         * build-aux/update-copyright: Implement and document
39261         UPDATE_COPYRIGHT_FORCE.
39262         * tests/test-update-copyright.sh: Test it.
39263
39264 2009-08-14  Eric Blake  <ebb9@byu.net>
39265         and Bruno Haible  <bruno@clisp.org>
39266
39267         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
39268         * tests/test-locale.c: Revert previous patch related to NULL.
39269         * tests/test-stdio.c: Likewise.
39270         * tests/test-stdlib.c: Likewise.
39271         * tests/test-string.c: Likewise.
39272         * tests/test-unistd.c: Likewise.
39273         * modules/time-tests (Depends-on): Add verify.
39274         * modules/wchar-tests (Depends-on): Likewise.
39275         * tests/test-time.c: Test for NULL compliance.
39276         * tests/test-wchar.c: Likewise.
39277         * modules/locale (Depends-on): Add stddef.
39278         * modules/stdio (Depends-on): Likewise.
39279         * modules/stdlib (Depends-on): Likewise.
39280         * modules/string (Depends-on): Likewise.
39281         * modules/time (Depends-on): Likewise.
39282         * modules/unistd (Depends-on): Likewise.
39283         * modules/wchar (Depends-on): Likewise.
39284         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
39285         * lib/stdlib.in.h (includes): Likewise.
39286         * lib/string.in.h (includes): Likewise.
39287         * lib/time.in.h (includes): Likewise.
39288         * lib/unistd.in.h (includes): Likewise.
39289         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
39290         replaced.
39291         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
39292         * m4/stddef_h.m4: New file.
39293         * modules/stddef: Likewise.
39294         * lib/stddef.in.h: Likewise.
39295         * modules/stddef-tests: Likewise.
39296         * tests/test-stddef.c: Likewise.
39297         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
39298         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
39299         * doc/posix-headers/locale.texi (locale.h): Likewise.
39300         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
39301         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
39302         * doc/posix-headers/string.texi (string.h): Likewise.
39303         * doc/posix-headers/time.texi (time.h): Likewise.
39304         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
39305         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
39306
39307 2009-08-14  Eric Blake  <ebb9@byu.net>
39308
39309         doc: improve git diff of texinfo files
39310         * .gitattributes: Add rule for *.texi files, with hint on how to
39311         use it.
39312         Copied from m4, and based on a report by Bruno Haible.
39313
39314 2009-08-14  Bruno Haible  <bruno@clisp.org>
39315
39316         Disable multithread support by default on Cygwin 1.5.x for real.
39317         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
39318
39319 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39320
39321         update-copyright: much ado about intervals
39322         * build-aux/update-copyright: Implement and document
39323         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
39324         of copyright year intervals.
39325         Also, document UPDATE_COPYRIGHT_YEAR.
39326         * tests/test-update-copyright.sh: Test it.
39327
39328         update-copyright: convert 2-digit to 4-digit years
39329         * build-aux/update-copyright: Implement and document.
39330         * tests/test-update-copyright.sh: Update.
39331
39332 2009-08-14  Jim Meyering  <meyering@redhat.com>
39333
39334         test-exclude: avoid coreutils "make check" failure
39335         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
39336         just as in test-argmatch.c.
39337
39338 2009-08-13  Eric Blake  <ebb9@byu.net>
39339
39340         test-dup2: fix bad assumption
39341         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
39342         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
39343
39344         test-version-etc: fix CRLF portability issue
39345         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
39346         recognize \r.
39347         * tests/test-argp-version-etc-1.sh: Likewise.
39348
39349         getopt: update client modules
39350         * modules/argp (Depends-on): Use getopt-gnu.
39351         * modules/git-merge-changelog (Depends-on): Likewise.
39352         * modules/long-options (Depends-on): Likewise.
39353         * modules/xstrtol (Depends-on): Likewise.
39354
39355 2009-08-13  Simon Josefsson  <simon@josefsson.org>
39356
39357         * tests/test-version-etc.sh: Don't fail on different
39358         project/version.  Don't fail on CRLF differences.  Rewrite to use
39359         multiple -e instead of multiple sed forks, suggested by Eric Blake
39360         <ebb9@byu.net>.
39361         * tests/test-argp-version-etc-1.sh: Likewise.
39362
39363 2009-08-13  Simon Josefsson  <simon@josefsson.org>
39364
39365         * tests/test-version-etc.sh: Don't fail on different
39366         project/version.
39367
39368 2009-08-12  Bruno Haible  <bruno@clisp.org>
39369
39370         Tests for modules 'getopt-posix', 'getopt-gnu'.
39371         * modules/getopt-posix-tests: New file.
39372         * tests/test-getopt.c: New file.
39373         * tests/test-getopt.h: New file.
39374         * tests/test-getopt_long.h: New file.
39375
39376         New modules 'getopt-posix', 'getopt-gnu'.
39377         * modules/getopt-gnu: New file, renamed from modules/getopt.
39378         * modules/getopt-posix: New file.
39379         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
39380         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
39381         (gl_GETOPT): Remove macro.
39382         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
39383         Disable the test against BSD systems that declare optreset. Test
39384         against mingw bug. Test against lack of support of optional arguments
39385         on many platforms.
39386         * doc/glibc-headers/getopt.texi: Update module name and list of
39387         relevant platforms.
39388         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
39389         'getopt-gnu' and more portability problems.
39390         * NEWS: Mention the changes.
39391
39392 2009-08-12  Bruno Haible  <bruno@clisp.org>
39393
39394         Ensure that optarg etc. get declared by <unistd.h>.
39395         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
39396         AC_USE_SYSTEM_EXTENSIONS.
39397         * modules/getopt (Depends-on): Add 'extensions'.
39398
39399 2009-08-12  Bruno Haible  <bruno@clisp.org>
39400
39401         Avoid test link errors.
39402         * modules/pipe-filter-ii-tests (Makefile.am): Define
39403         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
39404         * modules/pipe-filter-gi-tests (Makefile.am): Define
39405         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
39406         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39407
39408 2009-08-12  Bruno Haible  <bruno@clisp.org>
39409
39410         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
39411         gl_GETOPT_SUBSTITUTE before.
39412         (gl_GETOPT): Use it.
39413         * m4/argp.m4 (gl_ARGP): Update.
39414         Reported by Sergey Poznyakoff.
39415
39416         * m4/getopt.m4: Reorder macros.
39417         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
39418         (gl_GETOPT_SUBSTITUTE): Remove macro.
39419
39420 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39421
39422         Minor improvement in gitlog-to-changelog
39423
39424         * build-aux/gitlog-to-changelog: New option `--format' makes
39425         output format string configurable.
39426
39427 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39428
39429         Optimize exclude: use hash tables for non-wildcard patterns.
39430
39431         * lib/exclude.c: Include hash.h and mbuiter.h
39432         (struct exclude_pattern, exclude_segment): New data types.
39433         (struct exclude): Rewrite.
39434         (fnmatch_pattern_has_wildcards): New function.
39435         (new_exclude_segment, free_exclude_segment): New functions.
39436         (excluded_file_pattern_p, excluded_file_name_p): New functions.
39437         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
39438         * lib/exclude.h (is_fnmatch_pattern): New prototype.
39439         * modules/exclude: Depend on hash and mbuiter.
39440
39441         * modules/exclude-tests: New file.
39442         * tests/test-exclude.c: New file.
39443         * tests/test-exclude1.sh: New file.
39444         * tests/test-exclude2.sh: New file.
39445         * tests/test-exclude3.sh: New file.
39446         * tests/test-exclude4.sh: New file.
39447         * tests/test-exclude5.sh: New file.
39448         * tests/test-exclude6.sh: New file.
39449         * tests/test-exclude7.sh: New file.
39450
39451 2009-08-12  Bruno Haible  <bruno@clisp.org>
39452
39453         Ensure that getopt() gets declared by <unistd.h>.
39454         * lib/unistd.in.h: Conditionally include getopt.h.
39455         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
39456         Set GNULIB_UNISTD_H_GETOPT.
39457         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39458         GNULIB_UNISTD_H_GETOPT.
39459         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
39460
39461 2009-08-12  Bruno Haible  <bruno@clisp.org>
39462
39463         Clarify logic.
39464         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
39465         gl_replace_getopt instead of GETOPT_H.
39466
39467 2009-08-12  Bruno Haible  <bruno@clisp.org>
39468
39469         * m4/getopt.m4: Add comments.
39470
39471 2009-08-12  Bruno Haible  <bruno@clisp.org>
39472
39473         Disable multithread support by default on Cygwin 1.5.x.
39474         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
39475         set gl_use_threads=no if not specified otherwise.
39476
39477 2009-08-11  Bruno Haible  <bruno@clisp.org>
39478
39479         Avoid compilation error on NetBSD 5.0.
39480         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
39481         * tests/test-stdio.c: Likewise.
39482         * tests/test-stdlib.c: Likewise.
39483         * tests/test-string.c: Likewise.
39484         * tests/test-unistd.c: Likewise.
39485         Reported by Greg Troxel <gdt@ir.bbn.com>
39486         at <https://savannah.gnu.org/support/?106973>.
39487
39488 2009-08-11  Bruno Haible  <bruno@clisp.org>
39489
39490         * modules/dup2-tests (Depends-on): Remove close.
39491
39492         Undo 2009-07-19 commit.
39493         * modules/acl-tests (Depends-on): Remove close.
39494         * modules/binary-io-tests (Depends-on): Likewise.
39495         * modules/closein-tests (Depends-on): Likewise.
39496         * modules/flock-tests (Depends-on): Likewise.
39497         * modules/fsync-tests (Depends-on): Likewise.
39498         * modules/lseek-tests (Depends-on): Likewise.
39499         * modules/pipe-tests (Depends-on): Likewise.
39500         * modules/posix_spawn-tests (Depends-on): Likewise.
39501         * modules/posix_spawnp-tests (Depends-on): Likewise.
39502         * modules/stat-time-tests (Depends-on): Likewise.
39503         * modules/yesno-tests (Depends-on): Likewise.
39504
39505 2009-08-10  Bruno Haible  <bruno@clisp.org>
39506
39507         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
39508
39509 2009-08-10  Bruno Haible  <bruno@clisp.org>
39510
39511         Fix a gcc warning.
39512         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
39513
39514 2009-08-10  Bruno Haible  <bruno@clisp.org>
39515
39516         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
39517         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
39518         not only the first time.
39519         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
39520         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
39521         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
39522         is 1, not only the the first time.
39523
39524 2009-08-10  Bruno Haible  <bruno@clisp.org>
39525
39526         Make it possible to use module 'gethostname' without module 'close'.
39527         * lib/unistd.in.h (close): Evoke a link error only if
39528         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
39529         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39530         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39531         * modules/unistd (Makefile.am): Substitute
39532         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39533         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
39534         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
39535         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
39536         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39537         * modules/sys_ioctl (Makefile.am): Substitute
39538         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39539         * modules/socket (configure.ac): On native Windows, set
39540         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
39541         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39542         Reported by Sam Steingold <sds@gnu.org>.
39543
39544 2009-08-10  Bruno Haible  <bruno@clisp.org>
39545
39546         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
39547         * modules/ioctl (configure.ac): Likewise.
39548
39549 2009-08-10  Bruno Haible  <bruno@clisp.org>
39550
39551         Avoid collision between gnulib wrapper and libintl wrapper.
39552         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
39553         already defined in intl/printf.c.
39554         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
39555         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
39556
39557 2009-08-09  Bruno Haible  <bruno@clisp.org>
39558
39559         Make <sys/select.h> really self-contained, also on Solaris 10.
39560         * lib/sys_select.in.h: Include <string.h>.
39561         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
39562         Solaris 10 problem.
39563         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
39564         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
39565         Reported by Jim Meyering.
39566
39567 2009-08-09  Bruno Haible  <bruno@clisp.org>
39568
39569         Avoid warnings from 'aclocal' that are due to a use of macro name
39570         AM_XGETTEXT_OPTION that is not defined in automake.
39571         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
39572         automake.
39573         * modules/error (configure.ac): Likewise.
39574         * modules/propername (configure.ac): Likewise.
39575         * modules/vasprintf (configure.ac): Likewise.
39576         * modules/verror (configure.ac): Likewise.
39577         * modules/xprintf (configure.ac): Likewise.
39578         * modules/xvasprintf (configure.ac): Likewise.
39579
39580 2009-08-08  Bruno Haible  <bruno@clisp.org>
39581
39582         Avoid compilation error in C++ mode.
39583         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
39584         Reported by Sam Steingold <sds@gnu.org>.
39585
39586 2009-08-08  Bruno Haible  <bruno@clisp.org>
39587
39588         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
39589         for the various Unix platforms.
39590         * doc/posix-headers/limits.texi: Update platforms list regarding
39591         HOST_NAME_MAX.
39592         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39593
39594 2009-08-07  Jim Meyering  <meyering@redhat.com>
39595
39596         selinux-at: fix typo in a comment
39597         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
39598         Spotted by Paolo Bonzini.
39599
39600         selinux-at: remove redundant m4 code, add documentation
39601         * modules/selinux-at (configure.ac): Remove redundant code.
39602         LIB_SELINUX is already set via the dependent module, selinux-h.
39603         (Include): Add quotes around selinux-at.h.
39604         * lib/selinux-at.h: Add documentation.
39605         Reported by Bruno Haible in
39606         http://marc.info/?l=gnulib-bug&m=124958988300749
39607
39608 2009-08-07  Bruno Haible  <bruno@clisp.org>
39609
39610         Avoid link error on MacOS X 10.3 and 10.4.
39611         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
39612         on non-ELF systems.
39613         * lib/argp-pv.c (argp_program_version): Likewise.
39614         Reported by Simon Josefsson.
39615
39616 2009-08-07  Simon Josefsson  <simon@josefsson.org>
39617
39618         * tests/test-version-etc.sh: Use $EXEEXT.
39619
39620 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
39621
39622         update-copyright: update documentation to point to maint.mk
39623         * build-aux/update-copyright: Here.
39624
39625 2009-08-06  Jim Meyering  <meyering@redhat.com>
39626
39627         maint.mk: support update-copyright-local
39628         * top/maint.mk (update-copyright-local): Define place-holder.
39629         (update-copyright): Depend on $(update-copyright-local).
39630
39631 2009-08-06  Jim Meyering  <meyering@redhat.com>
39632
39633         selinux-at: new module
39634         Initially written for coreutils, this module will soon be
39635         used by findutils, too.
39636         * MODULES.html.sh [Misc]: Add selinux-at.
39637         * lib/selinux-at.h: New file, from coreutils.
39638         * lib/selinux-at.c: Likewise.
39639         * modules/selinux-at: Likewise.
39640         (License): Change from LGPL to GPL, since it depends
39641         on the GPL'd openat module.
39642
39643         doc: update README
39644         * README: Remove references to cogito.
39645         Remove cvs-repo-updating instructions from 2007.
39646         Don't imply that CVS is better if you have limited disk space.
39647
39648 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39649
39650         update-copyright: support C-style comments
39651         * build-aux/update-copyright: Implement and document.
39652         * tests/test-update-copyright.sh: Test.
39653
39654 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39655
39656         update-copyright: support omitted "(C)"
39657         * build-aux/update-copyright: Implement and document.  Also,
39658         allow variable whitespace before "(C)".
39659         * tests/test-update-copyright.sh: Test.
39660
39661 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39662
39663         update-copyright: don't trip on non-FSF copyright statements
39664         * build-aux/update-copyright: Fix so that the first correctly
39665         formatted FSF copyright statement is recognized no matter what
39666         appears before it.  Update documentation.
39667         * tests/test-update-copyright.sh: Test that.
39668
39669 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39670
39671         update-copyright: clean up code a little
39672         * build-aux/update-copyright: Append "_re" to the name of any
39673         variable holding a regular expression.
39674         Replace "old" and "new" with "stmt" in variable names.
39675         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
39676         handled correctly.
39677         Format code more consistently.
39678
39679 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39680
39681         update-copyright-tests: improve portability
39682         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
39683         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
39684
39685 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
39686
39687         update-copyright: support @copyright{} and &copy;
39688         * build-aux/update-copyright: Implement and document.
39689         * tests/test-update-copyright.sh: Test.
39690
39691 2009-08-04  Jim Meyering  <meyering@redhat.com>
39692
39693         update-copyright-tests: correctly test EOL=\r\n handling
39694         * tests/test-update-copyright.sh: Put \r at the end of some lines
39695         for the dos-eol tests.  Based on a patch by Joel E. Denny.
39696
39697         maint.mk: make update-copyright exclusion list more configurable
39698         * top/maint.mk (update-copyright): Default to excluding COPYING,
39699         but allow an override, in case someone does want to update that file.
39700
39701         maint.mk: don't update copyright date in COPYING
39702         * top/maint.mk (update-copyright): Exclude COPYING.
39703
39704         maint.mk: add a copyright-updating rule
39705         * top/maint.mk (update-copyright): New rule.
39706         Derived from coreutils/Makefile.am.
39707
39708         update-copyright: rename some variables
39709         * build-aux/update-copyright: Rename a few variables for clarity.
39710         Tweak syntax.  List Joel E. Denny as coauthor.
39711
39712 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
39713
39714         update-copyright: fix bug for 2-digit last year and add tests
39715         * build-aux/update-copyright: Fix bug.
39716         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
39717         specified.
39718         * modules/update-copyright-tests: New
39719         * tests/test-update-copyright.sh: New.
39720
39721 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
39722
39723         update-copyright: handle leading tabs in line prefix
39724         * build-aux/update-copyright: Count leading tabs as 8 spaces
39725         when computing margin.  This helps with the formatting of
39726         ChangeLogs, for example.
39727         Fix documentation a little.
39728
39729 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
39730
39731         update-copyright: support EOL=\r\n
39732         * build-aux/update-copyright: Implement that.
39733
39734 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
39735
39736         update-copyright: automatically format copyright statements
39737         * build-aux/update-copyright: Implement that.
39738         Also, be a little more predictable and safer by always failing
39739         when the full copyright format is not perfectly recognized as an
39740         unbroken whole.  Discussed at
39741         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
39742         Rewrite documentation.
39743
39744 2009-08-03  Bruno Haible  <bruno@clisp.org>
39745
39746         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
39747
39748 2009-08-02  Bruno Haible  <bruno@clisp.org>
39749
39750         Tests for module 'uname'.
39751         * modules/uname-tests: New file.
39752         * tests/test-uname.c: New file.
39753
39754         New module 'uname'.
39755         * lib/uname.c: New file.
39756         * m4/uname.m4: New file.
39757         * modules/uname: New file.
39758         * doc/posix-functions/uname.texi: Mention the new module.
39759
39760 2009-08-02  Bruno Haible  <bruno@clisp.org>
39761
39762         Tests for module 'sys_utsname'.
39763         * modules/sys_utsname-tests: New file.
39764         * tests/test-sys_utsname.c: New file.
39765
39766         New module 'sys_utsname'.
39767         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
39768         * m4/sys_utsname_h.m4: New file.
39769         * modules/sys_utsname: New file.
39770         * doc/posix-headers/sys_utsname.texi: Mention the new module.
39771
39772 2009-08-02  Bruno Haible  <bruno@clisp.org>
39773
39774         Implicitly initialize the sockets library.
39775         * lib/gethostname.c: Include sockets.h.
39776         (rpl_gethostname): Invoke gl_sockets_startup.
39777         * lib/socket.c: Include sockets.h.
39778         (rpl_socket): Invoke gl_sockets_startup.
39779         * modules/gethostname (Depends-on): Add sockets.
39780         * modules/socket (Depends-on): Likewise.
39781         * tests/test-poll.c: Don't include sockets.h.
39782         (main): Don't invoke gl_sockets_startup.
39783         * tests/test-select.c: Don't include sockets.h.
39784         (main): Don't invoke gl_sockets_startup.
39785
39786 2009-08-02  Bruno Haible  <bruno@clisp.org>
39787
39788         Allow multiple calls to gl_sockets_startup.
39789         * lib/sockets.c (initialized_sockets_version): New variable.
39790         (gl_sockets_startup): Do nothing if already called for this or a higher
39791         version.
39792         (gl_sockets_cleanup): Reset initialized_sockets_version.
39793
39794 2009-08-03  Simon Josefsson  <simon@josefsson.org>
39795
39796         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
39797         different project/version.
39798
39799 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
39800             Bruno Haible  <bruno@clisp.org>
39801
39802         Tests for module 'pipe-filter-gi'.
39803         * modules/pipe-filter-gi-tests: New file.
39804         * tests/test-pipe-filter-gi1.sh: New file.
39805         * tests/test-pipe-filter-gi1.c: New file.
39806         * tests/test-pipe-filter-gi2.sh: New file.
39807         * tests/test-pipe-filter-gi2-main.c: New file.
39808         * tests/test-pipe-filter-gi2-child.c: New file.
39809
39810         New module 'pipe-filter-gi'.
39811         * lib/pipe-filter-gi.c: New file.
39812         * modules/pipe-filter-gi: New file.
39813
39814 2009-08-02  Bruno Haible  <bruno@clisp.org>
39815             Paolo Bonzini  <bonzini@gnu.org>
39816
39817         Tests for module 'pipe-filter-ii'.
39818         * modules/pipe-filter-ii-tests: New file.
39819         * tests/test-pipe-filter-ii1.sh: New file.
39820         * tests/test-pipe-filter-ii1.c: New file.
39821         * tests/test-pipe-filter-ii2.sh: New file.
39822         * tests/test-pipe-filter-ii2-main.c: New file.
39823         * tests/test-pipe-filter-ii2-child.c: New file.
39824
39825         New module 'pipe-filter-ii'.
39826         * lib/pipe-filter.h: New file.
39827         * lib/pipe-filter-ii.c: New file.
39828         * lib/pipe-filter-aux.h: New file.
39829         * modules/pipe-filter-ii: New file.
39830
39831 2009-08-02  Simon Josefsson  <simon@josefsson.org>
39832
39833         * lib/gc-libgcrypt.c: Change copyright to FSF.
39834         * lib/gc-gnulib.c: Likewise.
39835
39836 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
39837
39838         * lib/gethostname.c: Include limits.h.
39839
39840 2009-08-02  Simon Josefsson  <simon@josefsson.org>
39841             Bruno Haible  <bruno@clisp.org>
39842
39843         Ensure HOST_NAME_MAX as part of the gethostname module.
39844         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
39845         define also HOST_NAME_MAX.
39846         * tests/test-gethostname.c: Include <limits.h>.
39847         (main): Check also HOST_NAME_MAX.
39848         * doc/posix-headers/limits.texi: Document the mingw problem.
39849
39850 2009-08-02  Bruno Haible  <bruno@clisp.org>
39851
39852         * lib/gethostname.c (gethostname): Fix handling of large len argument.
39853         Add comments.
39854
39855 2009-03-31  Simon Josefsson  <simon@josefsson.org>
39856
39857         * lib/gethostname.c: Add Windows wrapper.
39858         * m4/gethostname.m4: Look for gethostname in -lws2_32.
39859         * modules/gethostname: Depend on sys_socket & errno, for also
39860         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
39861         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
39862
39863 2009-07-31  Jim Meyering  <meyering@redhat.com>
39864
39865         getloadavg: fix symbol name in comment
39866         * lib/getloadavg.c: Correct a typo I introduced when adding
39867         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
39868         Matt Kraai spotted the problem.
39869
39870 2009-07-29  Matt Kraai  <mkraai@beckman.com>
39871
39872         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
39873         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
39874         code also if ! defined N_NAME_POINTER.
39875         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
39876         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
39877         but the n_name member is a 12-byte array.
39878
39879 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
39880
39881         update-copyright: generalize comment handling
39882         * build-aux/update-copyright: Handle copyright statements
39883         within more comment styles.
39884         Document usage.
39885         Report any file with an external copyright holder or parse failure.
39886
39887 2009-07-29  Jim Meyering  <meyering@redhat.com>
39888
39889         mktime: correct setting of REPLACE_MKTIME
39890         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
39891
39892         update-copyright: new module
39893         * modules/update-copyright: New file.
39894         * build-aux/update-copyright: New file.
39895         * MODULES.html.sh (maint+release support): Add update-copyright.
39896
39897 2009-07-27  Bruno Haible  <bruno@clisp.org>
39898
39899         Fix compilation error when <ctime> is used and mktime is replaced.
39900         * lib/time.in.h (mktime): New declaration.
39901         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
39902         REPLACE_MKTIME instead of defining mktime in config.h.
39903         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
39904         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
39905         Reported by Ross McFarland <rwmcfa1@neces.com>.
39906
39907 2009-07-27  Bruno Haible  <bruno@clisp.org>
39908
39909         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
39910         Reported by Matt Kraai <mkraai@beckman.com>.
39911
39912 2009-07-25  Jim Meyering  <meyering@redhat.com>
39913
39914         maint.mk: avoid warnings about missing files
39915         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
39916         diagnostic when .prev-version does not exist.
39917         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
39918         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
39919         nonexistent cfg.mk.
39920         Suggestions from Simon Josefsson.
39921
39922 2009-07-25  Bruno Haible  <bruno@clisp.org>
39923
39924         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
39925         defined as macros. Needed on QNX 6.4.1.
39926         Reported by Matt Kraai <mkraai@beckman.com>.
39927
39928 2009-07-23  Jim Meyering  <meyering@redhat.com>
39929
39930         maint.mk: invoke "make dist" with a working value of XZ_OPT
39931         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
39932
39933 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
39934
39935         Make fseeko.c compile on QNX.
39936         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
39937
39938 2009-07-22  Peter Simons  <simons@cryp.to>
39939
39940         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
39941         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
39942         * lib/md4.h: Likewise.
39943         * lib/md5.h: Likewise.
39944         * lib/sha1.h: Likewise.
39945         * lib/sha256.h: Likewise.
39946         * lib/sha512.h: Likewise.
39947
39948         tests-sha1: don't assign literal string to 'char *' variable
39949         * tests/test-sha1.c (main): Declare locals with "const" to match
39950         attributes of the right hand side.
39951
39952 2009-07-21  Eric Blake  <ebb9@byu.net>
39953
39954         dup2: fix more mingw problems
39955         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
39956         fd to itself.
39957         * doc/posix-functions/dup2.texi (dup2): Document the bug.
39958         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
39959         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
39960         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
39961         care of mingw bugs.
39962
39963 2009-07-21  Jim Meyering  <meyering@redhat.com>
39964
39965         vc-list-files: avoid failure when /bin/sh is dash
39966         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
39967         On some Debian based systems, /bin/sh is a symlink to dash, and running
39968         this command would omit the "/" following each 'tests' prefix:
39969           dash -x build-aux/vc-list-files -C . tests
39970         That is because bash and dash work differently:
39971           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
39972           bash ok
39973           dash odd
39974
39975 2009-07-21  Eric Blake  <ebb9@byu.net>
39976
39977         dup2-tests: test previous patch
39978         * modules/dup2-tests: New file.
39979         * tests/test-dup2.c: Likewise.
39980         * tests/test-open.c (main): Avoid unspecified behavior.
39981         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
39982         test.
39983
39984         dup2: work around mingw and cygwin 1.5 bug
39985         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
39986         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39987         * modules/unistd (Makefile.am): Substitute it.
39988         * lib/unistd.in.h (dup2): Declare the replacement.
39989         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
39990         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
39991         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
39992         * modules/execute (Depends-on): Add dup2.
39993         * modules/fseterr (Depends-on): Likewise.
39994         * modules/pipe (Depends-on): Likewise.
39995         * modules/posix_spawn-internal (Depends-on): Likewise.
39996
39997 2009-07-21  Bruno Haible  <bruno@clisp.org>
39998
39999         * modules/.gitattributes: New file.
40000
40001 2009-07-20  Bruno Haible  <bruno@clisp.org>
40002
40003         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
40004         (main): Use it.
40005
40006 2009-07-20  Eric Blake  <ebb9@byu.net>
40007
40008         test-pipe: make a bit more robust.
40009         * tests/test-pipe.c (myerr): Allow error messages regardless of
40010         what we do to stderr.
40011         (test_pipe): Rearrange to avoid deadlock.
40012         (child_main): Try a larger read, to ensure we avoided deadlock.
40013         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
40014         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
40015         if misused.
40016
40017 2009-07-19  Jim Meyering  <meyering@redhat.com>
40018
40019         fts: avoid false-positive cycle-detection
40020         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
40021         for each new command line argument.
40022
40023 2009-07-19  Bruno Haible  <bruno@clisp.org>
40024
40025         Fix build error on mingw with the modules sys_select and unistd.
40026         * modules/acl-tests (Depends-on): Add close.
40027         * modules/binary-io-tests (Depends-on): Likewise.
40028         * modules/closein-tests (Depends-on): Likewise.
40029         * modules/flock-tests (Depends-on): Likewise.
40030         * modules/fsync-tests (Depends-on): Likewise.
40031         * modules/lseek-tests (Depends-on): Likewise.
40032         * modules/pipe-tests (Depends-on): Likewise.
40033         * modules/posix_spawn-tests (Depends-on): Likewise.
40034         * modules/posix_spawnp-tests (Depends-on): Likewise.
40035         * modules/stat-time-tests (Depends-on): Likewise.
40036         * modules/yesno-tests (Depends-on): Likewise.
40037
40038 2009-07-19  Bruno Haible  <bruno@clisp.org>
40039
40040         Unify conditionals.
40041         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
40042         macros, not at the compiler macros.
40043         * lib/pipe.c: Likewise.
40044         * lib/execute.c: Likewise.
40045         * lib/spawni.c: Likewise.
40046
40047 2009-07-19  Bruno Haible  <bruno@clisp.org>
40048
40049         Fix handling of closed stdin/stdout/stderr on mingw.
40050         * lib/w32spawn.h: Include unistd.h.
40051         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
40052         file descriptor with O_NOINHERIT flag.
40053         (fd_safer_noinherit): New function, based on fd-safer.c.
40054         (dup_safer_noinherit): New function, based on dup-safer.c.
40055         (undup_safer_noinherit): New function.
40056         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
40057         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
40058         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
40059         instead of fd_safer.
40060         * tests/test-pipe.c: Include <windows.h>.
40061         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
40062         result.
40063
40064         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
40065         from main.
40066         (test_pipe): Pass an extra argument for disambiguation.
40067         (main): Invoke parent_main or child_main.
40068
40069         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
40070         consistently.
40071
40072 2009-07-18  Eric Blake  <ebb9@byu.net>
40073
40074         test-pipe: fix mingw build
40075         * tests/test-pipe.c (main): Avoid fcntl on mingw.
40076
40077 2009-07-18  Bruno Haible  <bruno@clisp.org>
40078
40079         * modules/pipe-tests (Makefile.am): Fix typo.
40080
40081 2009-07-18  Eric Blake  <ebb9@byu.net>
40082
40083         error: fix mingw build
40084         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
40085         Reported by Bruno Haible.
40086
40087         error: avoid undefined use of stdout
40088         * lib/error.c (error, error_at_line): Check that fd 1 is open
40089         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
40090         is handling faults and the close_stdout module wants to report the
40091         detection of closed stdout as an error.
40092
40093 2009-07-17  Eric Blake  <ebb9@byu.net>
40094
40095         pipe: be robust in face of closed fds
40096         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
40097         should cause child to misbehave.
40098         * modules/pipe-tests: New module.
40099         * tests/test-pipe.c: New file.
40100         * tests/test-pipe.sh: New file.
40101         Reported by Akim Demaille.
40102
40103 2009-07-14  Bruno Haible  <bruno@clisp.org>
40104
40105         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
40106         Reported by anonymous kc.
40107
40108 2009-07-07  Jim Meyering  <meyering@redhat.com>
40109
40110         maint.mk: don't look for translatable strings in *.m4 or *.mk
40111         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
40112         when searching for translatable strings.
40113
40114 2009-07-05  Jim Meyering  <meyering@redhat.com>
40115
40116         remove superfluous parentheses in STREQ definition
40117         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
40118         * lib/getugroups.c (STREQ): Likewise.
40119         * lib/fnmatch.c (STREQ): Likewise.
40120         Spotted by Bruno Haible.
40121
40122 2009-07-04  Jim Meyering  <meyering@redhat.com>
40123
40124         argv-iter: new module
40125         * MODULES.html.sh: Add argv-iter.
40126         * lib/argv-iter.c, lib/argv-iter.h: New files.
40127         * modules/argv-iter: New file.
40128         * modules/argv-iter-tests: New file.
40129         * tests/test-argv-iter.c: Test it.
40130
40131 2009-07-04  Bruno Haible  <bruno@clisp.org>
40132
40133         Fix assertion.
40134         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
40135         contains more exact copies of a given entry than file2, leave the extra
40136         copies unpaired rather than aborting.
40137         Reported by Eric Blake.
40138
40139 2009-07-02  Bruno Haible  <bruno@clisp.org>
40140
40141         Speedup git-merge-changelog for git cherry-pick.
40142         * lib/git-merge-changelog.c (struct entries_mapping): New type.
40143         (entries_mapping_get): New function, extracted from compute_mapping.
40144         (entries_mapping_reverse_get): New function.
40145         (compute_mapping): Add a 'full' argument. Return the result in a
40146         'struct entries_mapping'.
40147         (main): Update. Access the mappings through entries_mapping_get.
40148         Reported by Eric Blake.
40149
40150 2009-07-02  Bruno Haible  <bruno@clisp.org>
40151
40152         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
40153         best_i.
40154
40155 2009-07-02  Bruno Haible  <bruno@clisp.org>
40156
40157         Speed up approximate search for matching ChangeLog entries.
40158         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
40159         argument. Call fstrcmp_bounded instead of fstrcmp.
40160         (compute_mapping, try_split_merged_entry, main): Update callers.
40161
40162 2009-07-02  Bruno Haible  <bruno@clisp.org>
40163
40164         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
40165
40166 2009-06-30  Bruno Haible  <bruno@clisp.org>
40167
40168         Reduce the number of uc_is_cased calls.
40169         * lib/unicase.h (casing_suffix_context_t): Add
40170         'first_char_except_ignorable' field.
40171         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
40172         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
40173         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
40174         Update initializer.
40175         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
40176         case-ignorable characters.
40177         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
40178         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
40179         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
40180         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
40181         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
40182
40183 2009-06-30  Bruno Haible  <bruno@clisp.org>
40184
40185         Tests for module 'unicase/ignorable'.
40186         * modules/unicase/ignorable-tests: New file.
40187         * tests/unicase/test-ignorable.c: New file, generated by
40188         gen-uni-tables.
40189
40190         Tests for module 'unicase/cased'.
40191         * modules/unicase/cased-tests: New file.
40192         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
40193         * tests/unicase/test-predicate-part1.h: New file, derived from
40194         tests/unictype/test-predicate-part1.h.
40195         * tests/unicase/test-predicate-part2.h: New file, same as
40196         tests/unictype/test-predicate-part2.h.
40197
40198         Fix evaluation of "Before C" condition of FINAL_SIGMA.
40199         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
40200         (output_casing_properties): New function.
40201         (main): Call it.
40202         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
40203         * lib/unicase/cased.c: Include unictype/bitmap.h.
40204         (uc_is_cased): Define through a bitmap lookup.
40205         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
40206         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
40207         (uc_is_case_ignorable): Define through a bitmap lookup.
40208         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
40209         lib/unictype/bitmap.h.
40210         (Depends-on): Add inline. Clean up.
40211         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
40212         lib/unictype/bitmap.h.
40213         (Depends-on): Add inline. Clean up.
40214         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
40215         recognition.
40216         * tests/unicase/test-u16-tolower.c (main): Likewise.
40217         * tests/unicase/test-u32-tolower.c (main): Likewise.
40218
40219 2009-06-30  Bruno Haible  <bruno@clisp.org>
40220
40221         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
40222         * lib/unicase/u16-casemap.c: Likewise.
40223         * lib/unicase/u32-casemap.c: Likewise.
40224
40225 2009-06-29  Bruno Haible  <bruno@clisp.org>
40226
40227         Define u32_casefold as a wrapper around u32_ct_casefold.
40228         * lib/unicase/u32-casefold.c: Update.
40229         * modules/unicase/u32-casefold (Depends-on): Add
40230         unicase/u32-ct-casefold, unicase/empty-prefix-context,
40231         unicase/empty-suffix-context. Clean up.
40232
40233         Define u16_casefold as a wrapper around u16_ct_casefold.
40234         * lib/unicase/u16-casefold.c: Update.
40235         * modules/unicase/u16-casefold (Depends-on): Add
40236         unicase/u16-ct-casefold, unicase/empty-prefix-context,
40237         unicase/empty-suffix-context. Clean up.
40238
40239         Define u8_casefold as a wrapper around u8_ct_casefold.
40240         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
40241         * lib/unicase/u8-casefold.c: Update.
40242         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
40243         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40244
40245         Define u32_totitle as a wrapper around u32_ct_totitle.
40246         * lib/unicase/u32-totitle.c: Update.
40247         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
40248         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40249
40250         Define u16_totitle as a wrapper around u16_ct_totitle.
40251         * lib/unicase/u16-totitle.c: Update.
40252         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
40253         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40254
40255         Define u8_totitle as a wrapper around u8_ct_totitle.
40256         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
40257         functions.
40258         (FUNC): Delegate to U_CT_TOTITLE.
40259         * lib/unicase/u8-totitle.c: Update.
40260         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
40261         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40262
40263         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
40264         invocation.
40265         * modules/unicase/u32-tolower (Depends-on): Add
40266         unicase/empty-prefix-context, unicase/empty-suffix-context.
40267
40268         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
40269         invocation.
40270         * modules/unicase/u16-tolower (Depends-on): Add
40271         unicase/empty-prefix-context, unicase/empty-suffix-context.
40272
40273         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
40274         * modules/unicase/u8-tolower (Depends-on): Add
40275         unicase/empty-prefix-context, unicase/empty-suffix-context.
40276
40277         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
40278         invocation.
40279         * modules/unicase/u32-toupper (Depends-on): Add
40280         unicase/empty-prefix-context, unicase/empty-suffix-context.
40281
40282         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
40283         invocation.
40284         * modules/unicase/u16-toupper (Depends-on): Add
40285         unicase/empty-prefix-context, unicase/empty-suffix-context.
40286
40287         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
40288         * modules/unicase/u8-toupper (Depends-on): Add
40289         unicase/empty-prefix-context, unicase/empty-suffix-context.
40290
40291         New module 'unicase/u32-ct-casefold'.
40292         * lib/unicase/u32-ct-casefold.c: New file.
40293         * modules/unicase/u32-ct-casefold: New file.
40294
40295         New module 'unicase/u16-ct-casefold'.
40296         * lib/unicase/u16-ct-casefold.c: New file.
40297         * modules/unicase/u16-ct-casefold: New file.
40298
40299         New module 'unicase/u8-ct-casefold'.
40300         * lib/unicase/u8-ct-casefold.c: New file.
40301         * lib/unicase/u-ct-casefold.h: New file, derived from
40302         lib/unicase/u-casefold.h.
40303         * modules/unicase/u8-ct-casefold: New file.
40304
40305         New module 'unicase/u32-ct-totitle'.
40306         * lib/unicase/u32-ct-totitle.c: New file.
40307         * modules/unicase/u32-ct-totitle: New file.
40308
40309         New module 'unicase/u16-ct-totitle'.
40310         * lib/unicase/u16-ct-totitle.c: New file.
40311         * modules/unicase/u16-ct-totitle: New file.
40312
40313         New module 'unicase/u8-ct-totitle'.
40314         * lib/unicase/u8-ct-totitle.c: New file.
40315         * lib/unicase/u-ct-totitle.h: New file, derived from
40316         lib/unicase/u-totitle.h.
40317         * modules/unicase/u8-ct-totitle: New file.
40318
40319         New module 'unicase/u32-ct-tolower'.
40320         * lib/unicase/u32-ct-tolower.c: New file.
40321         * modules/unicase/u32-ct-tolower: New file.
40322
40323         New module 'unicase/u16-ct-tolower'.
40324         * lib/unicase/u16-ct-tolower.c: New file.
40325         * modules/unicase/u16-ct-tolower: New file.
40326
40327         New module 'unicase/u8-ct-tolower'.
40328         * lib/unicase/u8-ct-tolower.c: New file.
40329         * modules/unicase/u8-ct-tolower: New file.
40330
40331         New module 'unicase/u32-ct-toupper'.
40332         * lib/unicase/u32-ct-toupper.c: New file.
40333         * modules/unicase/u32-ct-toupper: New file.
40334
40335         New module 'unicase/u16-ct-toupper'.
40336         * lib/unicase/u16-ct-toupper.c: New file.
40337         * modules/unicase/u16-ct-toupper: New file.
40338
40339         New module 'unicase/u8-ct-toupper'.
40340         * lib/unicase/u8-ct-toupper.c: New file.
40341         * modules/unicase/u8-ct-toupper: New file.
40342
40343         Add context arguments to u*_casemap functions.
40344         * lib/unicase/unicasemap.h: Include unicase.h.
40345         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
40346         suffix_context arguments.
40347         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
40348         functions.
40349         (FUNC): Add prefix_context and suffix_context arguments. Use
40350         uc_is_cased and uc_is_case_ignorable.
40351         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
40352         * lib/unicase/u16-casemap.c: Likewise.
40353         * lib/unicase/u32-casemap.c: Likewise.
40354         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
40355         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40356         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
40357         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40358         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
40359         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40360
40361         New module 'unicase/u32-suffix-context'.
40362         * lib/unicase/u32-suffix-context.c: New file.
40363         * modules/unicase/u32-suffix-context: New file.
40364
40365         New module 'unicase/u16-suffix-context'.
40366         * lib/unicase/u16-suffix-context.c: New file.
40367         * modules/unicase/u16-suffix-context: New file.
40368
40369         New module 'unicase/u8-suffix-context'.
40370         * lib/unicase/u8-suffix-context.c: New file.
40371         * lib/unicase/u-suffix-context.h: New file.
40372         * modules/unicase/u8-suffix-context: New file.
40373
40374         New module 'unicase/empty-suffix-context'.
40375         * lib/unicase/empty-suffix-context.c: New file.
40376         * modules/unicase/empty-suffix-context: New file.
40377
40378         New module 'unicase/u32-prefix-context'.
40379         * lib/unicase/u32-prefix-context.c: New file.
40380         * modules/unicase/u32-prefix-context: New file.
40381
40382         New module 'unicase/u16-prefix-context'.
40383         * lib/unicase/u16-prefix-context.c: New file.
40384         * modules/unicase/u16-prefix-context: New file.
40385
40386         New module 'unicase/u8-prefix-context'.
40387         * lib/unicase/u8-prefix-context.c: New file.
40388         * lib/unicase/u-prefix-context.h: New file.
40389         * lib/unicase/context.h: New file.
40390         * modules/unicase/u8-prefix-context: New file.
40391
40392         New module 'unicase/empty-prefix-context'.
40393         * lib/unicase/empty-prefix-context.c: New file.
40394         * modules/unicase/empty-prefix-context: New file.
40395
40396         New module 'unicase/ignorable'.
40397         * lib/unicase/ignorable.c: New file.
40398         * modules/unicase/ignorable: New file.
40399
40400         New module 'unicase/cased'.
40401         * lib/unicase/caseprop.h: New file.
40402         * lib/unicase/cased.c: New file.
40403         * modules/unicase/cased: New file.
40404
40405         New functions for case mapping of substrings.
40406         * lib/unicase.h (casing_prefix_context_t): New type.
40407         (unicase_empty_prefix_context): New variable.
40408         (u8_casing_prefix_context, u16_casing_prefix_context,
40409         u32_casing_prefix_context, u8_casing_prefixes_context,
40410         u16_casing_prefixes_context, u32_casing_prefixes_context): New
40411         declarations.
40412         (casing_suffix_context_t): New type.
40413         (unicase_empty_suffix_context): New variable.
40414         (u8_casing_suffix_context, u16_casing_suffix_context,
40415         u32_casing_suffix_context, u8_casing_suffixes_context,
40416         u16_casing_suffixes_context, u32_casing_suffixes_context,
40417         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
40418         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
40419         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
40420         declarations.
40421
40422 2009-06-28  Jim Meyering  <meyering@redhat.com>
40423
40424         boostrap: indent only with spaces
40425         * build-aux/bootstrap: Indent only with spaces, never TABs.
40426
40427         bootstrap: split long lines
40428         * build-aux/bootstrap: Keep line length < 80.
40429
40430         bootstrap: sync from coreutils
40431         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
40432         just as autoreconf does.  Verify a list of prerequisite
40433         package-name,version-number pairs if defined in bootstrap.conf.
40434         Refer to README-prereq, if prerequisites are not satisfied.
40435
40436 2009-06-27  Eric Blake  <ebb9@byu.net>
40437
40438         tests: add test for bogus NULL definition
40439         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
40440         * tests/test-stdlib.c: Likewise.
40441         * tests/test-string.c: Likewise.
40442         * tests/test-locale.c: Likewise.
40443         * tests/test-unistd.c: Likewise.
40444         * modules/stdio-tests (Depends-on): Add verify.
40445         * modules/stdlib-tests (Depends-on): Likewise.
40446         * modules/string-tests (Depends-on): Likewise.
40447         * modules/locale-tests (Depends-on): Likewise.
40448         * modules/unistd-tests (Depends-on): Likewise.
40449
40450 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
40451
40452         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
40453         self-explaining comment.
40454         * m4/selinux-selinux-h: Update serial.
40455         (gl_LIBSELINUX): New macro, adding a warning for missing development
40456         packages to code extracted from...
40457         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
40458         Add warning for missing development packages here, too.
40459
40460 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
40461
40462         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
40463
40464 2009-06-25  Eric Blake  <ebb9@byu.net>
40465
40466         version-etc: fix regression
40467         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
40468         gcc.
40469         (version_etc): Use it, to catch bugs with trailing NULL.
40470         * lib/version-etc.c (version_etc_arn): Delete unused argument.
40471         (version_etc_va): Fix logic bug.
40472         * modules/version-etc-tests: Add test.
40473         * tests/test-version-etc.c: New file.
40474         * tests/test-version-etc.sh: Likewise.
40475
40476 2009-06-25  Sam Steingold  <sds@gnu.org>
40477
40478         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
40479         mbtowc declaration.
40480
40481 2009-06-25  Eric Blake  <ebb9@byu.net>
40482
40483         fpurge: migrate into <stdio.h>
40484         * lib/fpurge.h: Delete...
40485         * lib/stdio.in.h (fpurge): ...and declare here, instead.
40486         * lib/fpurge.c (fpurge): Change declaring header.
40487         * modules/fpurge (Files): Drop deleted file.
40488         (Depends-on): Add stdio.
40489         (configure.ac): Set witness.
40490         * modules/stdio (Makefile.am): Support fpurge macros.
40491         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
40492         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
40493         * lib/fflush.c: Update client.
40494         * tests/test-fpurge.c: Likewise.
40495         * NEWS: Mention the change.
40496
40497 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40498
40499         * lib/argp-version-etc.c (program_authors): Add const
40500         qualifier.
40501         * lib/version-etc.c: Fix typos in the comments.
40502         * modules/argp-version-etc: Depends on version-etc.
40503
40504 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40505
40506         argp-version-etc: new module.
40507
40508         * lib/argp-version-etc.c: New file.
40509         * lib/argp-version-etc.h: New file.
40510         * modules/argp-version-etc: New file.
40511         * modules/argp-version-etc-tests: New file.
40512         * tests/test-argp-version-etc.c: New test.
40513         * tests/test-argp-version-etc-1.sh: New test.
40514
40515 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40516
40517         Provide additional interfaces and documentation for version-etc
40518         module.
40519
40520         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
40521         interfaces.
40522         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
40523         prototypes.
40524
40525 2009-06-24  Bruno Haible  <bruno@clisp.org>
40526
40527         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
40528         HAVE_LIB${NAME} macro.
40529         Reported by Sam Steingold <sds@gnu.org>.
40530
40531 2009-06-23  Simon Josefsson  <simon@josefsson.org>
40532
40533         * modules/hash-tests (test_hash_LDADD): Link to libintl when
40534         needed.
40535
40536 2009-06-21  Bruno Haible  <bruno@clisp.org>
40537
40538         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
40539         work.
40540         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
40541         together with LIB${NAME}, LTLIB${NAME}.
40542         Reported by Sam Steingold <sds@gnu.org>.
40543
40544 2009-06-20  Jim Meyering  <meyering@redhat.com>
40545
40546         tests: make sc_require_test_exit_idiom more generic
40547         * top/maint.mk (Exit_witness_file): New overridable variable.
40548         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
40549         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
40550
40551 2009-06-19  Jim Meyering  <meyering@redhat.com>
40552
40553         hash: reverse order of src/dst parameters in an internal interface
40554         * lib/hash.c (transfer_entries): Reverse order of parameters to
40555         put DST before SRC.  Adjust callers.
40556
40557         tests: test-hash: avoid wholesale duplication
40558         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
40559         Instead, use a loop and add a single conditional.
40560
40561         tests: test-hash: allow seed selection via a command line argument
40562         * tests/test-hash.c (get_seed): New function.
40563         (main): Use it.
40564
40565 2009-06-19  Eric Blake  <ebb9@byu.net>
40566
40567         hash: avoid memory leak on allocation failure
40568         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
40569         failure.  Factor repeated algorithm...
40570         (transfer_entries): ...into new helper routine.
40571         (hash_delete): React to hash_rehash return value.
40572
40573         hash: reduce memory pressure in hash_rehash no-op case
40574         * lib/hash.c (next_prime): Avoid overflow.
40575         (hash_initialize): Factor bucket size computation...
40576         (compute_bucket_size): ...into new helper function.
40577         (hash_rehash): Use new function and open coding to reduce memory
40578         pressure, and avoid a memory leak in USE_OBSTACK code.
40579         Reported by Jim Meyering.
40580
40581 2009-06-18  Eric Blake  <ebb9@byu.net>
40582
40583         hash: make rotation more obvious
40584         * modules/hash (Depends-on): Add bitrotate and stdint.
40585         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
40586         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
40587         (SIZE_MAX): Rely on headers for definition.
40588         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
40589         (raw_hasher): Use rotr_sz.
40590         Suggested by Jim Meyering.
40591
40592         hash: fix memory leak in last patch
40593         * lib/hash.c (hash_rehash): Avoid memory leak.
40594
40595         hash: avoid no-op rehashing
40596         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
40597
40598         hash: provide default callback functions
40599         * lib/hash.c (raw_hasher, raw_comparator): New functions.
40600         (hash_initialize): Use them as defaults.
40601         * tests/test-hash.c (main): Test this.
40602
40603         hash: minor optimization
40604         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
40605         when possible.
40606         (hash_initialize): Document this promise.
40607         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
40608         * tests/test-hash.c (hash_compare_strings): Test this.
40609
40610 2009-06-18  Bruno Haible  <bruno@clisp.org>
40611
40612         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
40613         going to be replaced anyway.
40614
40615 2009-06-18  Bruno Haible  <bruno@clisp.org>
40616
40617         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
40618         in one place.
40619         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
40620         be replaced anyway.
40621
40622 2009-06-18  Eric Blake  <ebb9@byu.net>
40623
40624         hash: check for resize before insertion
40625         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
40626         threshold before insertion, so that a pathological hash_rehash
40627         that fills every bucket can still trigger another rehash.
40628
40629 2009-06-18  Jim Meyering  <meyering@redhat.com>
40630
40631         hash-tests: add a loop around the small tests
40632         * tests/test-hash.c (main): Repeat small tests with selected
40633         small initial table sizes.
40634
40635 2009-06-17  Eric Blake  <ebb9@byu.net>
40636
40637         hash: minor cleanups
40638         * lib/hash.h (hash_entry): Make opaque, by moving...
40639         * lib/hash.c (hash_entry): ...here.
40640         (hash_insert): Clarify restrictions on what can be inserted.
40641         (hash_get_next): Clarify when it is safe to remove an element
40642         during traversal.
40643         (check_tuning): Skip verification when tuning is known safe.
40644         (hash_initialize): Clarify restrictions on tuning.
40645
40646 2009-06-17  Jim Meyering  <jim@meyering.net>
40647         and Eric Blake  <ebb9@byu.net>
40648
40649         hash-tests: new module
40650         * modules/hash-tests: New file.
40651         * tests/test-hash.c: New file.
40652
40653 2009-06-17  Eric Blake  <ebb9@byu.net>
40654
40655         strstr-simple: document new module
40656         * MODULES.html.sh: Document new module.
40657
40658         strstr, strcasestr: replace on platforms with broken memchr
40659         * modules/strstr: Split into...
40660         * modules/strstr-simple: ...new module that does not care about
40661         performance, but does care about glibc bug.
40662         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
40663         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
40664         if platform memchr is broken, per Debian bug 521737.
40665         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
40666         memchr.
40667         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
40668         * doc/posix-functions/strstr.texi (strstr): Document the fix.
40669         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
40670         * modules/mountlist (Depends-on): Add strstr-simple.
40671         * modules/gen-uni-tables (Depends-on): Likewise.
40672         * modules/argz (Depends-on): Add strstr.
40673
40674 2009-06-17  Bruno Haible  <bruno@clisp.org>
40675
40676         * modules/posix_spawn-internal (Depends-on): Add errno.
40677
40678 2009-06-17  Bruno Haible  <bruno@clisp.org>
40679
40680         Define missing ESTALE on Interix 3.5.
40681         * lib/errno.in.h (ESTALE): Assign a value if missing.
40682         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
40683         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
40684         missing.
40685         * doc/posix-headers/errno.texi: Mention the Interix bug.
40686         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
40687
40688 2009-06-15  Eric Blake  <ebb9@byu.net>
40689
40690         memchr, memchr2: add valgrind exception
40691         * lib/memchr.valgrind: New file.
40692         * lib/memchr2.valgrind: New file.
40693         * modules/memchr (Files): Distribute valgrind file.
40694         * modules/memchr2 (Files): Likewise.
40695
40696         docs: memchr is no longer obsolete
40697         * MODULES.html.sh: Move memchr from obsolete to string.h section.
40698         * lib/string.in.h (memchr): Simplify logic.
40699
40700 2009-06-14  Jim Meyering  <meyering@redhat.com>
40701
40702         link-follow: fix the "checking..." message to not mention trailing slash
40703         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
40704         never considered trailing slashes.
40705
40706 2009-06-14  Bruno Haible  <bruno@clisp.org>
40707
40708         * m4/memchr.m4: Mention also the bug on IA-64.
40709         * doc/posix-functions/memchr.texi: Likewise.
40710
40711 2009-06-12  Eric Blake  <ebb9@byu.net>
40712
40713         memchr: detect broken x86_64 and alpha implementations
40714         * modules/memchr-tests (Depends-on): Move mmap detection...
40715         * modules/memchr (Depends-on): ...here.
40716         (configure.ac): Set indicator.
40717         * lib/string.in.h (memchr): Declare replacement.
40718         * modules/string (Makefile.am): Trigger replacement.
40719         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
40720         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
40721         bugs.
40722         * doc/posix-functions/memchr.texi (memchr): Document the bug.
40723         * modules/getpagesize (License): Relax license.
40724
40725 2009-06-11  Bruno Haible  <bruno@clisp.org>
40726
40727         * lib/idpriv.h: Add more references.
40728
40729 2009-06-08  Bruno Haible  <bruno@clisp.org>
40730
40731         Tests for module 'idpriv-droptemp'.
40732         * modules/idpriv-droptemp-tests: New file.
40733         * tests/test-idpriv-droptemp.sh: New file.
40734         * tests/test-idpriv-droptemp.su.sh: New file.
40735         * tests/test-idpriv-droptemp.c: New file.
40736
40737         New module 'idpriv-droptemp'.
40738         * lib/idpriv-droptemp.c: New file.
40739         * modules/idpriv-droptemp: New file.
40740
40741 2009-06-08  Bruno Haible  <bruno@clisp.org>
40742
40743         Tests for module 'idpriv-drop'.
40744         * modules/idpriv-drop-tests: New file.
40745         * tests/test-idpriv-drop.sh: New file.
40746         * tests/test-idpriv-drop.su.sh: New file.
40747         * tests/test-idpriv-drop.c: New file.
40748
40749         New module 'idpriv-drop'.
40750         * lib/idpriv.h: New file.
40751         * lib-idpriv-drop.c: New file.
40752         * m4/idpriv.m4: New file.
40753         * modules/idpriv-drop: New file.
40754
40755 2009-06-08  Bruno Haible  <bruno@clisp.org>
40756
40757         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
40758         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40759         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40760         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40761         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40762         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40763         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40764
40765 2009-06-08  Eric Blake  <ebb9@byu.net>
40766
40767         test-strstr: use memory fence, when possible
40768         * tests/test-strstr.c (main): Use memory fence, in order to be
40769         more likely to trigger Debian bug 521737.
40770         * modules/strstr-tests (Files): Pull in additional files.
40771
40772         memchr: no longer obsolete, for wider field testing
40773         * modules/memchr (Status, Notice): Delete, this module is no
40774         longer obsolete.
40775         * modules/vasnprintf (Depends-on): Add memchr.
40776
40777 2009-06-07  Jim Meyering  <meyering@redhat.com>
40778
40779         hash: declare some functions with the warn_unused_result attribute
40780         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
40781
40782 2009-06-07  Bruno Haible  <bruno@clisp.org>
40783
40784         * tests/test-alignof.c: Don't test int64_t if it does not exist.
40785         Reported by Eric Blake.
40786
40787 2009-06-06  Eric Blake  <ebb9@byu.net>
40788
40789         test-alignof: fix typo with long double
40790         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
40791         compiler error.
40792
40793 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
40794
40795         Escape non-texinfo { and }s.
40796         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
40797         markup error.
40798
40799 2009-06-04  Jim Meyering  <meyering@redhat.com>
40800
40801         gitlog-to-changelog: don't infloop on an empty commit log
40802         * build-aux/gitlog-to-changelog: Warn about an empty log message.
40803         Reported by Boris Petersen <transacid@centerim.org>.
40804
40805 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
40806
40807         version-etc: extend for packagers
40808         Add three new configure options, intended for packagers:
40809           --with-packager="packager name"
40810           --with-packager-version="packager-specific version"
40811           --with-packager-bug-reports="packager bug reporting"
40812         An example with coreutils:
40813           $ ./configure \
40814             --with-packager=Gentoo \
40815             --with-packager-bug-report=http://bugs.gentoo.org/ \
40816             --with-packager-version="patchset 1.6"
40817           $ ./src/ls --version | head -n2
40818           ls (GNU coreutils) 7.1-dirty
40819           Packaged by Gentoo (patchset 1.6)
40820         Note that the bug reporting info via --help doesn't show up because
40821         coreutils uses its own custom emit_bug_reporting_address() implementation
40822         in src/system.h.  If it didn't, it'd look like:
40823           $ ./src/ls --help | tail -n4
40824           Report bugs to <bug-coreutils@gnu.org>.
40825           Report Gentoo bugs to <http://bugs.gentoo.org/>.
40826           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
40827           General help using GNU software: <http://www.gnu.org/gethelp/>.
40828         * lib/version-etc.c: Print new information, if provided.
40829         * m4/version-etc.m4: New file.
40830         * modules/version-etc (Files): Add m4/version-etc.m4.
40831         (configure.ac): Add gl_VERSION_ETC.
40832
40833 2009-05-31  Bruno Haible  <bruno@clisp.org>
40834
40835         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
40836         and 'int64_t'.
40837         * modules/alignof-tests (Dependencies): Add stdint.
40838         Reported by Eric Blake.
40839
40840 2009-05-31  Bruno Haible  <bruno@clisp.org>
40841
40842         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
40843         restriction due to compiler bugs.
40844         Reported by Eric Blake.
40845
40846 2009-05-31  Simon Josefsson  <simon@josefsson.org>
40847             Bruno Haible  <bruno@clisp.org>
40848
40849         Fix test-alignof failure.
40850         * lib/alignof.h (alignof_slot): New macro.
40851         (alignof_type): New macro, with the same semantics as the previous
40852         'alignof'.
40853         (alignof): Alias to alignof_slot.
40854         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
40855         check that the results are usable as constant expressions.
40856
40857 2009-05-31  Bruno Haible  <bruno@clisp.org>
40858
40859         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
40860         * tests/test-memchr.c (main): Check that memchr does not read past the
40861         first occurrence of the byte.
40862         * tests/test-strstr.c (main): Update comment.
40863         Suggested by Eric Blake.
40864
40865 2009-05-30  Bruno Haible  <bruno@clisp.org>
40866
40867         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
40868         detail how to use dumpbin.
40869         Reported by David Byron <dbyron@dbyron.com>.
40870
40871 2009-06-02  Simon Josefsson  <simon@josefsson.org>
40872
40873         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
40874
40875 2009-06-02  Simon Josefsson  <simon@josefsson.org>
40876
40877         * m4/manywarnings.m4: Add GCC 4.4 warnings.
40878
40879 2009-05-28  Bruno Haible  <bruno@clisp.org>
40880
40881         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
40882         build-aux/ files.
40883
40884 2009-05-28  Simon Josefsson  <simon@josefsson.org>
40885
40886         * gnulib-tool (func_import): Transform license on build-aux/ files too.
40887
40888 2009-05-27  Simon Josefsson  <simon@josefsson.org>
40889
40890         * gnulib-tool (sed_transform_main_lib_file)
40891         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
40892         regexps.
40893
40894 2009-05-26  Simon Josefsson  <simon@josefsson.org>
40895
40896         * tests/test-strstr.c: Add another self-test.
40897         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
40898         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
40899
40900 2009-05-23  Bruno Haible  <bruno@clisp.org>
40901
40902         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
40903         change.
40904
40905 2009-05-21  Bruno Haible  <bruno@clisp.org>
40906
40907         Simplify use of mode_t varargs.
40908         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
40909         uses 'mode_t' or 'int'.
40910         * lib/openat.c (openat): Likewise.
40911         * lib/open-safer.c (open_safer): Likewise.
40912         * m4/mode_t.m4: New file.
40913         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
40914         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
40915         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
40916         * modules/open (Files): Add m4/mode_t.m4.
40917         * modules/openat (Files): Likewise.
40918         * modules/fcntl-safer (Files): Likewise.
40919         Suggested by Eric Blake.
40920
40921 2009-05-21  Pádraig Brady  <P@draigbrady.com>
40922
40923         * doc/glibc-functions/fallocate.texi: New file.
40924         * doc/gnulib.texi: Include it.
40925
40926 2009-05-21  Eric Blake  <ebb9@byu.net>
40927             Bruno Haible  <bruno@clisp.org>
40928
40929         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
40930         invocations.
40931         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
40932
40933 2009-05-21  Eric Blake  <ebb9@byu.net>
40934             Bruno Haible  <bruno@clisp.org>
40935
40936         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
40937         include_next. Fix of 2008-11-20 commit.
40938         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
40939         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
40940         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
40941         NEXT_MATH_H.
40942         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
40943         instead of NEXT_MATH_H.
40944
40945 2009-05-21  Bruno Haible  <bruno@clisp.org>
40946
40947         Avoid redefinition warnings for SIZE_MAX.
40948         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
40949         Reported by Simon Josefsson.
40950
40951 2009-05-21  Bruno Haible  <bruno@clisp.org>
40952
40953         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
40954         AC_CACHE_VAL.
40955
40956 2009-05-20  Bruno Haible  <bruno@clisp.org>
40957
40958         Make zeroptr.h work on mingw.
40959         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
40960         mprotect.
40961         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
40962         * modules/memchr2-tests (configure.ac): Likewise.
40963         * modules/memcmp-tests (configure.ac): Likewise.
40964         * modules/memmem-tests (configure.ac): Likewise.
40965         * modules/memrchr-tests (configure.ac): Likewise.
40966         Reported by Simon Josefsson.
40967
40968 2009-05-20  Simon Josefsson  <simon@josefsson.org>
40969
40970         * tests/test-glob.c: Include string.h for strcmp prototype.
40971
40972 2009-05-20  Simon Josefsson  <simon@josefsson.org>
40973
40974         * modules/getdelim (Depends-on): Add explicit stdint, although it
40975         was implicitly already pulled in via realloc-posix.
40976         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
40977
40978 2009-05-20  Simon Josefsson  <simon@josefsson.org>
40979
40980         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
40981         G. Christensen" <tgc@jupiterrise.com>.
40982         * m4/sys_socket_h.m4: Check for sa_family_t.
40983         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
40984         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
40985         * tests/test-sys_socket.c: Check that sa_family_t works.
40986
40987 2009-05-18  Eric Blake  <ebb9@byu.net>
40988
40989         maint.mk: allow gnulib_dir in VPATH build
40990         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
40991
40992 2009-05-15  Jim Meyering  <meyering@redhat.com>
40993
40994         maint.mk: Give gnulib_dir a default definition.
40995         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
40996         Thus, most packages no longer need to specify this variable in cfg.mk
40997
40998 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
40999
41000         rename.m4: fix typos that would make non-mingw cross-configure fail
41001         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
41002
41003 2009-05-13  Eric Blake  <ebb9@byu.net>
41004
41005         mmap-anon: avoid out-of-order autoconf expansion
41006         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
41007         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
41008         * modules/memchr-tests (Depends-on): Add extensions.
41009         * modules/memchr2-tests (Depends-on): Add extensions.
41010         * modules/memcmp-tests (Depends-on): Add extensions.
41011         * modules/memmem-tests (Depends-on): Add extensions.
41012         * modules/memrchr-tests (Depends-on): Add extensions.
41013
41014 2009-05-13  Bruno Haible  <bruno@clisp.org>
41015
41016         Make some tests ISO C 99 compliant.
41017         * tests/zerosize-ptr.h: New file.
41018         * tests/test-memchr.c: Include zerosize-ptr.h.
41019         (main): Use a zero-size object pointer instead of NULL.
41020         * tests/test-memchr2.c: Include zerosize-ptr.h.
41021         (main): Use a zero-size object pointer instead of NULL.
41022         * tests/test-memcmp.c: Include zerosize-ptr.h.
41023         (main): Use a zero-size object pointer instead of NULL.
41024         * tests/test-memmem.c: Include zerosize-ptr.h.
41025         (main): Use a zero-size object pointer instead of NULL.
41026         * tests/test-memrchr.c: Include zerosize-ptr.h.
41027         (main): Use a zero-size object pointer instead of NULL.
41028         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
41029         m4/mmap-anon.m4.
41030         (Depends-on): Add getpagesize.
41031         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41032         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
41033         m4/mmap-anon.m4.
41034         (Depends-on): Add getpagesize.
41035         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41036         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
41037         m4/mmap-anon.m4.
41038         (Depends-on): Add getpagesize.
41039         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41040         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
41041         m4/mmap-anon.m4.
41042         (Depends-on): Add getpagesize.
41043         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41044         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
41045         m4/mmap-anon.m4.
41046         (Depends-on): Add getpagesize.
41047         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41048
41049 2009-05-12  Bruno Haible  <bruno@clisp.org>
41050
41051         Tests for module 'alignof'.
41052         * modules/alignof-tests: New file.
41053         * tests/test-alignof.c: New file.
41054
41055 2009-05-12  Bruno Haible  <bruno@clisp.org>
41056
41057         Fix alignof macro.
41058         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
41059         vendor compilers that are always correct.
41060
41061 2009-05-12  Bruno Haible  <bruno@clisp.org>
41062
41063         Make the MAP_ANONYMOUS detection work on HP-UX 11.
41064         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
41065         not whether its fully works.
41066
41067 2009-05-12  Bruno Haible  <bruno@clisp.org>
41068
41069         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
41070
41071 2009-05-12  Jim Meyering  <meyering@redhat.com>
41072
41073         * top/maint.mk: Adjust backslash alignment.
41074
41075 2009-05-11  Simon Josefsson  <simon@josefsson.org>
41076
41077         * top/maint.mk: Make $(srcdir)/build-aux configurable.
41078
41079 2009-05-11  Eric Blake  <ebb9@byu.net>
41080
41081         argp: avoid undefined behavior
41082         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
41083         macros.
41084
41085 2009-05-08  Simon Josefsson  <simon@josefsson.org>
41086
41087         * tests/test-vc-list-files-git.sh: Do git config of user.email and
41088         user.name to prevent git commit from complaining.
41089
41090 2009-05-10  Bruno Haible  <bruno@clisp.org>
41091
41092         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
41093         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
41094         it rewrites every file name only once.
41095         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
41096
41097 2009-05-08  Bruno Haible  <bruno@clisp.org>
41098
41099         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
41100         instead of 'max'.
41101
41102 2009-05-08  Simon Josefsson  <simon@josefsson.org>
41103
41104         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
41105         sockaddr_storage test.
41106
41107 2009-05-07  Simon Josefsson  <simon@josefsson.org>
41108
41109         * modules/sys_socket (Makefile.am): Substitute
41110         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
41111         * m4/sys_socket_h.m4: Check for sockaddr_storage.
41112         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
41113         * tests/test-sys_socket.c: Check sockaddr_storage.
41114
41115 2009-05-08  Bruno Haible  <bruno@clisp.org>
41116
41117         New module 'alignof'.
41118         * lib/alignof.h: New file.
41119         * modules/alignof: New file.
41120
41121 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41122             Bruno Haible  <bruno@clisp.org>
41123
41124         Fix test-file-has-acl on FreeBSD.
41125         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
41126         mask is implicitly added.
41127         * tests/test-file-has-acl.c: Include <signal.h>.
41128         (main): Terminate the test after 5 seconds.
41129         * modules/acl-tests (configure.ac): Check for alarm function.
41130
41131 2009-05-04  Bruno Haible  <bruno@clisp.org>
41132
41133         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
41134         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
41135         * modules/errno (configure.ac): Drop AC_REQUIRE.
41136         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
41137         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
41138
41139 2009-05-04  Simon Josefsson  <simon@josefsson.org>
41140
41141         * modules/glob-tests: New module.
41142         * tests/test-glob.c: Add.
41143
41144 2009-05-04  Simon Josefsson  <simon@josefsson.org>
41145
41146         * modules/fnmatch-tests: New module.
41147         * tests/test-fnmatch.c: Add.
41148
41149 2009-05-04  Eric Blake  <ebb9@byu.net>
41150
41151         maint: make the new no-submodule-changes rule VPATH-safe
41152         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
41153
41154 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41155             Bruno Haible  <bruno@clisp.org>
41156
41157         acl: Fix infinite loop on FreeBSD.
41158         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
41159         of return value from acl_get_entry.
41160         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
41161         Likewise.
41162
41163 2009-05-03  Bruno Haible  <bruno@clisp.org>
41164
41165         * lib/acl-internal.h (acl_entries): Clarify return value.
41166         * lib/acl_entries.c (acl_entries): Likewise.
41167
41168 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41169
41170         Bug fix in acl module.
41171         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
41172
41173 2009-05-03  Bruno Haible  <bruno@clisp.org>
41174
41175         Create gperf-generated file in the source dir, not in the build dir.
41176         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
41177         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
41178         * modules/unicase/locale-language (unicase/locale-languages.h):
41179         Likewise.
41180         * modules/unicase/special-casing (unicase/special-casing-table.h):
41181         Likewise.
41182         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
41183         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
41184         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
41185         Reported by Ralf Wildenhues.
41186
41187 2009-05-03  Bruno Haible  <bruno@clisp.org>
41188
41189         * modules/fnmatch (Description, configure.ac): Taken from
41190         fnmatch-posix.
41191         * modules/fnmatch-posix: Turn into a symbolic reference to the
41192         'fnmatch' module, and deprecate.
41193         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
41194
41195 2009-05-03  Bruno Haible  <bruno@clisp.org>
41196
41197         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
41198         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
41199         Reported by Ralf Wildenhues.
41200
41201 2009-05-04  Simon Josefsson  <simon@josefsson.org>
41202
41203         * m4/fnmatch.m4: Fix fnmatch re-define.
41204
41205 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41206
41207         priv-set: new module and tests; adapt write-any-file
41208         * lib/priv-set.c: New file.
41209         * lib/priv-set.h: New file.
41210         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
41211         * lib/write-any-file.c: Simplify by using priv-set module.
41212         * m4/priv-set.m4: New file.
41213         * modules/priv-set: New file.
41214         * modules/unlinkdir: Add dependency on priv-set module.
41215         * modules/write-any-file: Likewise.
41216
41217         Tests for module 'priv-set'.
41218         * modules/priv-set-tests: New file.
41219         * tests/test-priv-set.c: New file.
41220
41221 2009-05-03  Jim Meyering  <meyering@redhat.com>
41222             Bruno Haible  <bruno@clisp.org>
41223
41224         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
41225         use the converted UTF-8 variant of the name instead.
41226
41227 2009-05-03  Jim Meyering  <meyering@redhat.com>
41228
41229         tests: tighten some getdate tests
41230         * tests/test-getdate.c (main): Tighten tests: require equality,
41231         not just greater than.  Set TZ envvar to UTC0.
41232
41233 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
41234
41235         getdate: correctly interpret "next monday" when run on a Monday
41236         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
41237         that e.g., "next tues" (when run on a tuesday) results in a date
41238         that is one week in the future, and not today's date.
41239         I.e., add a week when the wday is the same as the current one.
41240         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
41241         and earlier by Martin Bernreuther and Jan Minář.
41242         * tests/test-getdate.c (main): Check that "next DAY" is always in
41243         the future and that "last DAY" is always in the past.
41244
41245 2009-05-02  Jim Meyering  <meyering@redhat.com>
41246
41247         build: ensure that a release build fails when a submodule is unclean
41248         * top/maint.mk (no-submodule-changes): New rule.
41249         (alpha beta major): Depend on it.
41250
41251 2009-05-02  Bruno Haible  <bruno@clisp.org>
41252
41253         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
41254         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
41255         shell variable gl_fnmatch_required to detect which variant is
41256         requested.
41257         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
41258         gl_FUNC_FNMATCH_POSIX.
41259         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
41260         exclude fnmatch-posix.
41261
41262 2009-05-02  Bruno Haible  <bruno@clisp.org>
41263
41264         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
41265         * modules/mbsrtowcs (License): Change to LGPLv2+.
41266         * modules/strnlen1 (License): Likewise.
41267         Reported by Simon Josefsson.
41268
41269 2009-05-02  Bruno Haible  <bruno@clisp.org>
41270
41271         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
41272         "cross".
41273         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
41274         gnulib-tool was called with option --source-base=lib.
41275
41276 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41277
41278         Use automake *-local hooks without commands, for extensibility.
41279         * modules/localcharset (Makefile.am): Rename install-exec-local
41280         rule to install-exec-localcharset, and make it a prerequisite of
41281         install-exec-local.  Likewise, rename the uninstall-local rule to
41282         uninstall-localcharset, and make it a prerequisite of the former.
41283
41284 2009-05-01  Bruno Haible  <bruno@clisp.org>
41285
41286         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
41287         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
41288         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
41289         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
41290         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
41291         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
41292         m4/locale-zh.m4, m4/codeset.m4.
41293
41294         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
41295         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
41296         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
41297         m4/locale-zh.m4.
41298
41299         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
41300         REPLACE_WCRTOMB if mbstate_t must be replaced.
41301         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
41302         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
41303
41304 2009-05-01  Bruno Haible  <bruno@clisp.org>
41305
41306         Avoid compiler warnings when redefining macros defined by <libintl.h>.
41307         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
41308         dngettext, dcngettext, textdomain, bindtextdomain,
41309         bind_textdomain_codeset): Undefine before redefining.
41310
41311 2009-04-30  Bruno Haible  <bruno@clisp.org>
41312
41313         Fix bug introduced on 2009-04-25.
41314         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
41315         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
41316         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
41317         is defined.
41318         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
41319         is defined.
41320         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
41321         is defined.
41322         Reported by Elbert_Pol <elbert.pol@gmail.com>.
41323
41324 2009-04-28  Bruno Haible  <bruno@clisp.org>
41325
41326         Comment tweaks.
41327         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
41328         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
41329         * lib/unicase.h (u*_casexfrm): Likewise.
41330         Reported by Paolo Bonzini.
41331
41332 2009-04-28  Bruno Haible  <bruno@clisp.org>
41333
41334         Fix a compilation error.
41335         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
41336         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
41337         Reported by Jim Meyering.
41338
41339 2009-04-27  Bruno Haible  <bruno@clisp.org>
41340
41341         New module 'libunistring'.
41342         * modules/libunistring: New file.
41343         * m4/libunistring.m4: New file.
41344         * MODULES.html.sh (Unicode string functions): Add it.
41345
41346 2009-04-27  Eric Blake  <ebb9@byu.net>
41347
41348         maint.mk: allow package-specific header to provide <config.h>
41349         * top/maint.mk (sc_require_config_h): New variable.
41350         (sc_require_config_h, sc_require_config_h_first): Use it.
41351
41352 2009-04-27  Simon Josefsson  <simon@josefsson.org>
41353
41354         * top/maint.mk (sc_avoid_if_before_free): Except
41355         useless-if-before-free script.
41356
41357 2009-04-27  Eric Blake  <ebb9@byu.net>
41358
41359         maintainer-makefile: depend on all required helper scripts
41360         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
41361         useless-if-before-free.
41362         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
41363         version, rather than assuming gnulib checkout is available.
41364         Reported by Simen Josefsson.
41365
41366 2009-04-26  Bruno Haible  <bruno@clisp.org>
41367
41368         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
41369         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
41370         "../" or "..".
41371
41372 2009-04-26  Bruno Haible  <bruno@clisp.org>
41373
41374         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
41375         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
41376         AC_LIB_HAVE_LINKFLAGS.
41377
41378 2009-04-26  Bruno Haible  <bruno@clisp.org>
41379
41380         Simplify calling convention of u*_conv_from_encoding.
41381         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
41382         u32_conv_from_encoding): Expect a resultbuf argument and return the
41383         result directly as a pointer.
41384         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
41385         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
41386         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
41387         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
41388         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
41389         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
41390         Update.
41391         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
41392         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
41393         * lib/vasnprintf.c (VASNPRINTF): Update.
41394         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
41395         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
41396         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
41397         * NEWS: Mention the change.
41398
41399 2009-04-26  Bruno Haible  <bruno@clisp.org>
41400
41401         Simplify calling convention of u*_conv_to_encoding.
41402         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
41403         u32_conv_to_encoding): Expect a resultbuf argument and return the
41404         result directly as a pointer.
41405         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
41406         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
41407         freeing scaled_offsets if mem_iconveha failed.
41408         * lib/unicase/u-casexfrm.h (FUNC): Update.
41409         * lib/uninorm/u-normxfrm.h (FUNC): Update.
41410         * lib/vasnprintf.c (VASNPRINTF): Update.
41411         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
41412         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
41413         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
41414         * NEWS: Mention the change.
41415
41416 2009-04-26  Bruno Haible  <bruno@clisp.org>
41417
41418         Avoid test failures on AIX and OSF/1.
41419         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
41420         malloc(0).
41421         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
41422         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
41423         Likewise.
41424         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
41425         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
41426         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
41427         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
41428         * doc/posix-functions/malloc.texi: Document the portability problem
41429         related to malloc(0).
41430
41431 2009-04-26  Bruno Haible  <bruno@clisp.org>
41432
41433         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
41434         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
41435         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
41436
41437 2009-04-25  Bruno Haible  <bruno@clisp.org>
41438
41439         Avoid link error when creating a namespace clean library.
41440         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
41441         as macro with arguments if already defined as an alias.
41442         * lib/signbitf.c (gl_signbitf): Don't undefine.
41443         * lib/signbitd.c (gl_signbitd): Don't undefine.
41444         * lib/signbitl.c (gl_signbitl): Don't undefine.
41445
41446 2009-04-25  Jim Meyering  <meyering@redhat.com>
41447
41448         vc-list-files: fix another quoting bug
41449         * build-aux/vc-list-files: Avoid sed backslash expansion
41450         of pathological directory names.
41451
41452 2009-04-25  Eric Blake  <ebb9@byu.net>
41453
41454         vc-list-files: fix shell quoting error
41455         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
41456         timestamp.
41457
41458 2009-04-25  Jim Meyering  <meyering@redhat.com>
41459
41460         vc-list-files: restore lost functionality with subdir argument
41461         * build-aux/vc-list-files: When given a non-"." sub-directory
41462         argument, substitute the $dir/ prefix back onto each resulting name.
41463         Otherwise, coreutils' root_tests check would fail.
41464
41465 2009-04-24  Eric Blake  <ebb9@byu.net>
41466
41467         vc-list-files: ignore git symlinks
41468         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
41469         than ls-files, to ignore git symlinks.
41470
41471         maint.mk: import improvements from m4
41472         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
41473         (move_if_change): Delete unused macro.
41474         (news-date-check, vc-diff-check): Support VPATH builds.
41475         (announcement): Likewise.  Split --bootstrap-tools list...
41476         (boostrap-tools): ...into separate list, which can be overridden
41477         in cfg.mk.
41478         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
41479         requiring dependency on useless-if-before-free module.
41480         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
41481         Support VPATH builds.
41482
41483 2009-04-24  Jim Meyering  <meyering@redhat.com>
41484
41485         maint.mk: remove coreutils-specific rules and variables
41486         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
41487         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
41488         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
41489
41490         maint.mk: remove obsolete rule
41491         * top/maint.mk (rel-check): Remove rule.
41492         (WGET, WGETFLAGS): Remove now-unused variables.
41493
41494 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41495
41496         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
41497         consistency.
41498
41499         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
41500         '$(PATH_SEPARATOR)' instead of ':'.
41501
41502 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41503
41504         * lib/getopt1.c (main): Use 'const' for static array.
41505
41506 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41507
41508         * top/maint.mk: Sync with coreutils.
41509         * NEWS: Explain incompatibilities.
41510
41511 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41512             Bruno Haible  <bruno@clisp.org>
41513
41514         Fix cross-compilation results.
41515         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
41516         statement, as third argument of AC_TRY_RUN.
41517         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
41518         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
41519         Likewise.
41520         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
41521         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
41522         Likewise.
41523         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
41524         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
41525         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
41526
41527 2009-04-20  Bruno Haible  <bruno@clisp.org>
41528
41529         Avoid test failure on mingw.
41530         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
41531
41532 2009-04-20  Bruno Haible  <bruno@clisp.org>
41533
41534         Avoid compilation error on mingw.
41535         * modules/localename-tests (Depends-on): Add locale.
41536
41537 2009-04-19  Bruno Haible  <bruno@clisp.org>
41538
41539         Support for building a shared library on Windows platforms.
41540         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
41541         (main): Test the presence of UNINORM_NFC here.
41542         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
41543         (main): Test the presence of UNINORM_NFD here.
41544         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
41545         (main): Test the presence of UNINORM_NFKC here.
41546         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
41547         (main): Test the presence of UNINORM_NFKD here.
41548
41549 2009-04-19  Bruno Haible  <bruno@clisp.org>
41550
41551         Avoid a compiler warning.
41552         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
41553         Change type of variable 'sequence'.
41554
41555 2009-04-19  Bruno Haible  <bruno@clisp.org>
41556
41557         * modules/configmake (Makefile.am): When the contents of configmake.h
41558         does not change, arrange to preserve its modification time.
41559
41560 2009-04-17  Simon Josefsson  <simon@josefsson.org>
41561
41562         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
41563         gettext domain.
41564
41565 2009-04-16  Jim Meyering  <meyering@redhat.com>
41566
41567         useless-if-before-free: improve conversion code
41568         * build-aux/useless-if-before-free: Adjust code-in-comment to match
41569         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
41570
41571 2009-04-14  Bruno Haible  <bruno@clisp.org>
41572
41573         * modules/fcntl (Depends-on): Add extensions.
41574         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
41575
41576 2009-04-12  Ben Pfaff  <blp@gnu.org>
41577
41578         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
41579         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
41580
41581 2009-03-20  Ben Pfaff  <blp@gnu.org>
41582
41583         Make rename replace existing destinations on Windows.
41584         * m4/rename.m4: Add test for Mingw.
41585         * lib/rename.c: Add rename replacement that uses MoveFileEx with
41586         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
41587         * doc/posix-functions/rename.texi: Document.
41588
41589 2009-04-10  Bruno Haible  <bruno@clisp.org>
41590
41591         New include file "iconveh.h".
41592         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
41593         * lib/striconveh.h: Include it.
41594         (enum iconv_ilseq_handler): Remove definition.
41595         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
41596         striconveh.h.
41597         * lib/striconveha.c: Include striconveh.h.
41598         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
41599         * modules/striconveh (Files): Add lib/iconveh.h.
41600         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
41601         lib/striconveh.h.
41602
41603 2009-04-10  Bruno Haible  <bruno@clisp.org>
41604
41605         * lib/uniconv.h: Update comment.
41606
41607 2009-04-10  Bruno Haible  <bruno@clisp.org>
41608
41609         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
41610         always.
41611         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
41612         * lib/unistr/u16-mbtouc-aux.c: Likewise.
41613         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
41614         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
41615         "unistring-notinline.h", so that the function gets defined always.
41616         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
41617         * lib/unistr/u8-uctomb.c: Likewise.
41618         * lib/unistr/u16-mbtouc.c: Likewise.
41619         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
41620         * lib/unistr/u16-uctomb.c: Likewise.
41621         * lib/unistr/u32-mbtouc.c: Likewise.
41622         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
41623         * lib/unistr/u32-uctomb.c: Likewise.
41624
41625 2009-04-10  Bruno Haible  <bruno@clisp.org>
41626
41627         Mark 'utime' obsolete.
41628         * modules/utime (Status, Notice): New sections.
41629         Suggested by Jim Meyering.
41630
41631         Fix cross-compile guess for utime test.
41632         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
41633         autoconf.
41634         * doc/posix-functions/utime.texi: Give more precisions.
41635         Reported by Jan <ipif@ymail.com>.
41636
41637 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
41638
41639         filevercmp: correct today's change
41640         * lib/filevercmp.c: Also handle coreutils' test inputs.
41641         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
41642
41643         Fix regression in 'filevercmp' module. Thanks Sven Joachim
41644         for reporting it.
41645         * lib/filevercmp.c: Special handle for "", "." and "..".
41646         * tests/test-filevercmp.c: Enlarge the set suite.
41647
41648 2009-04-07  Jim Meyering  <meyering@redhat.com>
41649
41650         useless-if-before-free: show how to remove braced useless free, too
41651         * build-aux/useless-if-before-free: still only in a comment, though.
41652
41653 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
41654
41655         maint.mk: import changes to syntax-check macros from coreutils
41656         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
41657         Use them in the relevant macros.
41658
41659 2009-04-06  Bruno Haible  <bruno@clisp.org>
41660
41661         Fix unportable use of bit-fields.
41662         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
41663         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
41664         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
41665
41666 2009-04-06  Bruno Haible  <bruno@clisp.org>
41667
41668         Avoid test failures on AIX and OSF/1.
41669         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
41670         that malloc(0) = NULL.
41671         * tests/unicase/test-u8-tolower.c (check): Likewise.
41672         * tests/unicase/test-u8-totitle.c (check): Likewise.
41673         * tests/unicase/test-u8-toupper.c (check): Likewise.
41674         * tests/unicase/test-u16-casefold.c (check): Likewise.
41675         * tests/unicase/test-u16-tolower.c (check): Likewise.
41676         * tests/unicase/test-u16-totitle.c (check): Likewise.
41677         * tests/unicase/test-u16-toupper.c (check): Likewise.
41678         * tests/unicase/test-u32-casefold.c (check): Likewise.
41679         * tests/unicase/test-u32-tolower.c (check): Likewise.
41680         * tests/unicase/test-u32-totitle.c (check): Likewise.
41681         * tests/unicase/test-u32-toupper.c (check): Likewise.
41682         * tests/uninorm/test-u8-nfc.c (check): Likewise.
41683         * tests/uninorm/test-u8-nfd.c (check): Likewise.
41684         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
41685         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
41686         * tests/uninorm/test-u16-nfc.c (check): Likewise.
41687         * tests/uninorm/test-u16-nfd.c (check): Likewise.
41688         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
41689         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
41690         * tests/uninorm/test-u32-nfc.c (check): Likewise.
41691         * tests/uninorm/test-u32-nfd.c (check): Likewise.
41692         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
41693         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
41694
41695 2009-04-05  Bruno Haible  <bruno@clisp.org>
41696
41697         Work around an autoconf limitation.
41698         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
41699         comment line if it would be longer than 3 KB.
41700
41701 2009-04-05  Bruno Haible  <bruno@clisp.org>
41702
41703         Avoid test failure with libiconv-1.13.
41704         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
41705         of the expected test results.
41706
41707 2009-04-05  Bruno Haible  <bruno@clisp.org>
41708
41709         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
41710         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
41711         that it should be installed.
41712
41713 2009-04-05  Bruno Haible  <bruno@clisp.org>
41714
41715         * gnulib-tool: New option --copy-file.
41716         (func_usage): Document it.
41717         (func_dest_tmpfilename): Moved out of func_import.
41718         (func_add_file, func_update_file): New functions, extracted from
41719         func_import.
41720         (func_import): Update.
41721
41722 2009-04-05  Karl Berry  <karl@gnu.org>
41723
41724         * README: prominently mention gnulib-tool.
41725         Rearrange sections so getting the code is near the top.
41726
41727 2009-04-05  Bruno Haible  <bruno@clisp.org>
41728
41729         * lib/unicase.h: Mention u*_cmp2.
41730         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
41731         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
41732         * lib/unicase/ulc-casecmp.c: Likewise.
41733         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
41734         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
41735         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
41736         unistr/u8-cmp.
41737         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
41738         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
41739         unistr/u16-cmp.
41740         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
41741         unistr/u32-cmp.
41742
41743         * lib/uninorm.h: Mention u*_cmp2.
41744         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
41745         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
41746         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
41747         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
41748         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
41749         unistr/u8-cmp.
41750         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
41751         unistr/u16-cmp.
41752         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
41753         unistr/u32-cmp.
41754
41755         New module 'unistr/u32-cmp2'.
41756         * lib/unistr/u32-cmp2.c: New file.
41757         * modules/unistr/u32-cmp2: New file.
41758
41759         New module 'unistr/u16-cmp2'.
41760         * lib/unistr/u16-cmp2.c: New file.
41761         * modules/unistr/u16-cmp2: New file.
41762
41763         New module 'unistr/u8-cmp2'.
41764         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
41765         * lib/unistr/u8-cmp2.c: New file.
41766         * lib/unistr/u-cmp2.h: New file.
41767         * modules/unistr/u8-cmp2: New file.
41768
41769 2009-04-05  Bruno Haible  <bruno@clisp.org>
41770
41771         * lib/unictype.h (uc_property_is_valid): New macro.
41772         * tests/unictype/test-pr_byname.c (main): Use it.
41773
41774         * lib/unistr.h: Doc fixes.
41775         * lib/uniconv.h: Doc fixes.
41776         * lib/unictype.h: Doc fixes.
41777
41778 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
41779
41780         Port coreutils 7.2 to Solaris 8.
41781
41782         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
41783         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
41784         for Solaris 8.  This is a bit of a hack, as it means it's the
41785         caller's responsibility to add -lnsl if needed, but most likely it
41786         won't be needed since only getaddrinfo uses this and getaddrinfo
41787         isn't needed on Solaris 8.
41788
41789         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
41790         problem to Solaris 8 encountered with coreutils 7.2, which
41791         resulted in a message "fnmatch.c:292: warning: passing argument 4
41792         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
41793         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
41794
41795 2009-04-03  Simon Josefsson  <simon@josefsson.org>
41796
41797         * m4/ld-version-script.m4: Add FIXME comment.
41798
41799 2009-04-02  Simon Josefsson  <simon@josefsson.org>
41800
41801         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
41802         SOVERSION variable.
41803
41804 2009-04-02  Bruno Haible  <bruno@clisp.org>
41805
41806         * Makefile (info, html, dvi, pdf): Combine the rules.
41807         Suggested by Jim Meyering.
41808
41809 2009-04-01  Bruno Haible  <bruno@clisp.org>
41810
41811         * Makefile (info, html, dvi, pdf): New targets.
41812         Reported by Reuben Thomas <rrt@sc3d.org>.
41813
41814 2009-04-01  Bruno Haible  <bruno@clisp.org>
41815
41816         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
41817         can be put into PATH.
41818         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
41819
41820 2009-04-01  Bruno Haible  <bruno@clisp.org>
41821
41822         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
41823
41824 2009-04-01  Bruno Haible  <bruno@clisp.org>
41825
41826         Rename module 'visibility'.
41827         * modules/lib-symbol-visibility: Renamed from modules/visibility.
41828         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
41829         * doc/gnulib.texi: Update.
41830         * MODULES.html.sh (Misc): Update.
41831         * NEWS: Mention the change.
41832
41833 2009-04-01  Simon Josefsson  <simon@josefsson.org>
41834
41835         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
41836         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
41837         Eric Blake <ebb9@byu.net> for review.
41838         * MODULES.html.sh: Add lib-msvc-compat.
41839         * doc/gnulib.texi: Link to new section.
41840         * m4/ld-output-def.m4: New file.
41841         * doc/ld-output-def.texi: New file.
41842
41843 2009-04-01  Simon Josefsson  <simon@josefsson.org>
41844
41845         Rename ld-version-script to lib-symbol-versions.  Suggested by
41846         Bruno Haible <bruno@clisp.org>.
41847         * modules/ld-version-script: Renamed to lib-symbol-versions.
41848         * doc/ld-version-script.texi: Fix module name.
41849         * MODULES.html.sh: Add lib-symbol-versions.
41850
41851 2009-03-31  Simon Josefsson  <simon@josefsson.org>
41852
41853         * modules/u64-tests: New file.
41854         * tests/test-u64.c: New file.
41855
41856 2009-03-04  Simon Josefsson  <simon@josefsson.org>
41857
41858         * MODULES.html.sh: Mention u64.
41859         * modules/u64: New module.
41860         * modules/crypto/sha512: Depend on u64 module instead of providing
41861         u64.h.
41862
41863 2009-03-27  Eric Blake  <ebb9@byu.net>
41864
41865         test-strerror: make debugging EAI_SYSTEM easier
41866         * modules/getaddrinfo-tests (Depends-on): Add strerror.
41867         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
41868         failure was EAI_SYSTEM.
41869
41870 2009-03-25  Bruno Haible  <bruno@clisp.org>
41871
41872         Fix a problem with --enable-relocatable on Solaris 7.
41873         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
41874         since 2008-02-24.
41875
41876 2009-03-25  Eric Blake  <ebb9@byu.net>
41877
41878         test-sockets: avoid gcc warning
41879         * tests/test-sockets.c (main): Silence compiler warning.
41880
41881 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
41882
41883         New modules nproc, pthread, contributed by Glen Lenker.
41884
41885         * MODULES.html.sh: Add pthread, nproc.
41886         * lib/nproc.c: New file.
41887         * lib/nproc.h: New file.
41888         * lib/pthread.in.h: New file.
41889         * m4/pthread.m4: New file.
41890         * modules/nproc: New file.
41891         * modules/pthread: New file.
41892
41893 2009-03-24  Simon Josefsson  <simon@josefsson.org>
41894
41895         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
41896         New variable.
41897
41898 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
41899
41900         filevercmp: handle simple~ and numbered.~3~ backup suffixes
41901         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
41902         * tests/test-filevercmp.c: Add tests for backup suffixes.
41903
41904 2009-03-24  Simon Josefsson  <simon@josefsson.org>
41905
41906         * modules/stdlib (Depends-on): Add stdint, needed when defining
41907         struct random_data on, for example, HP-UX 10.20.  Reported by
41908         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41909
41910 2009-03-24  Simon Josefsson  <simon@josefsson.org>
41911
41912         * lib/readline.c (readline): Call fflush on stdout after printing
41913         prompt.
41914
41915 2009-03-20  Bruno Haible  <bruno@clisp.org>
41916
41917         Remove dependency from 'close' module to -lws2_32 on native Windows.
41918         * lib/close-hook.h: New file.
41919         * lib/close-hook.c: New file.
41920         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
41921         w32sock.h.
41922         (_gl_close_fd_maybe_socket): Remove function.
41923         (rpl_close): Invoke execute_all_close_hooks instead of
41924         _gl_close_fd_maybe_socket.
41925         * lib/sockets.c: Include close-hook.h, w32sock.h.
41926         (close_fd_maybe_socket): New function, essentially from lib/close.c.
41927         (close_sockets_hook): New variable.
41928         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
41929         (gl_sockets_cleanup): Unregister it.
41930         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
41931         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
41932         * modules/close-hook: New file.
41933         * modules/close (Files): Remove lib/w32sock.h.
41934         (Depends-on): Add close-hook.
41935         (Link): Remove section.
41936         * modules/sockets (Files): Add lib/w32sock.h.
41937         (Depends-on): Add close-hook.
41938         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
41939         invocation.
41940         * NEWS: Mention that LIB_CLOSE is gone.
41941
41942 2009-03-23  Eric Blake  <ebb9@byu.net>
41943
41944         signal-tests: test previous patch
41945         * tests/test-signal.c: New file.
41946         * modules/signal-tests: Likewise.
41947
41948         signal.h: always support 'volatile sig_atomic_t'
41949         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
41950         (gl_SIGNAL_H_DEFAULTS): Add a default.
41951         * modules/signal (Makefile.am): Substitute if needed.
41952         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
41953         users can blindly add volatile.
41954         * doc/posix-headers/signal.texi (signal.h): Document it.
41955         Reported by Matthew Woehlke.
41956
41957 2009-03-23  Jim Meyering  <meyering@redhat.com>
41958
41959         pathmax: PATH_MAX: use pathconf only when available
41960         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
41961         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
41962         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
41963         This avoids a link failure in a PSP cross-compilation environment
41964         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
41965
41966         * lib/vasnprintf.c (divide): Fix typo in comment.
41967
41968 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41969
41970         * gnulib-tool (func_filter_filelist): Fix comment.
41971
41972 2009-03-20  Bruno Haible  <bruno@clisp.org>
41973
41974         Make sockets.h self-contained.
41975         * lib/sockets.c: Include sockets.h first.
41976         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
41977
41978 2009-03-19  Eric Blake  <ebb9@byu.net>
41979
41980         doc: mention more functions added in cygwin 1.7.0
41981         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
41982         addition.
41983         * doc/posix-functions/log2f.texi: Likewise.
41984
41985 2009-03-19  Jim Meyering  <meyering@redhat.com>
41986
41987         fsusage: avoid syntax error due to statement-before-declaration
41988         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
41989         after all declarations.  Reported by Matthew Woehlke in
41990         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
41991
41992 2009-03-18  Eric Blake  <ebb9@byu.net>
41993
41994         build-aux/compile: sync from automake
41995         * build-aux/compile: New file, from automake.
41996         * config/srclist.txt: Mention build-aux/compile.
41997
41998 2009-03-17  Bruno Haible  <bruno@clisp.org>
41999
42000         * lib/git-merge-changelog.c: Fix typo in comment.
42001         Reported by Reuben Thomas <rrt@sc3d.org>.
42002
42003 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
42004
42005         * m4/regex.m4: update and improve help for
42006         --without-included-regex.
42007
42008 2009-03-17  Simon Josefsson  <simon@josefsson.org>
42009
42010         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
42011         failure on missing include files.
42012
42013 2009-03-17  Eric Blake  <ebb9@byu.net>
42014
42015         doc: mention more functions added in cygwin 1.7.0
42016         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
42017         addition.
42018         * doc/posix-functions/fwscanf.texi: Likewise.
42019         * doc/posix-functions/swprintf.texi: Likewise.
42020         * doc/posix-functions/swscanf.texi: Likewise.
42021         * doc/posix-functions/vfwprintf.texi: Likewise.
42022         * doc/posix-functions/vfwscanf.texi: Likewise.
42023         * doc/posix-functions/vswprintf.texi: Likewise.
42024         * doc/posix-functions/vswscanf.texi: Likewise.
42025         * doc/posix-functions/vwprintf.texi: Likewise.
42026         * doc/posix-functions/vwscanf.texi: Likewise.
42027         * doc/posix-functions/wcscasecmp.texi: Likewise.
42028         * doc/posix-functions/wcsdup.texi: Likewise.
42029         * doc/posix-functions/wcsftime.texi: Likewise.
42030         * doc/posix-functions/wcsncasecmp.texi: Likewise.
42031         * doc/posix-functions/wprintf.texi: Likewise.
42032         * doc/posix-functions/wscanf.texi: Likewise.
42033         * doc/glibc-functions/gethostbyname2.texi: Likewise.
42034
42035 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42036
42037         maint.mk: really add $(AM_MAKEFLAGS)
42038         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
42039         was inadvertently omitted in the last commit.
42040         Spotted by Bruno Haible.
42041
42042         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
42043         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
42044         $(AM_MAKEFLAGS)' rather than plain `make'.
42045
42046         gnulib-tool: execute $MAKE not make
42047         * gnulib-tool: Default $MAKE to 'make'.
42048         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
42049         than make.  Initialize $MAKE in the do-autobuild script.
42050
42051         gnulib-tool: use $MAKE not make in generated files
42052         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
42053         make, in generated files.  Initialize $MAKE in the do-autobuild
42054         script.
42055
42056         * top/GNUmakefile (_have-git-version-gen): Fix typo.
42057
42058         GNUmakefile: disable parallelism only for multiple, recursive targets
42059         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
42060         additions in the Makefile.
42061         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
42062         by Automake.
42063         (.NOTPARALLEL): Only disable parallel builds if multiple targets
42064         are listed on the command line and at least one of them is
42065         listed in $(ALL_RECURSIVE_TARGETS).
42066
42067 2009-03-14  Bruno Haible  <bruno@clisp.org>
42068
42069         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
42070         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
42071         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
42072         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
42073         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
42074         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
42075         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
42076         unistr/u8-uctomb.
42077         * modules/unistr/u8-strchr (Depends-on): Likewise.
42078         * modules/unistr/u8-strrchr (Depends-on): Likewise.
42079         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
42080         unistr/u16-uctomb.
42081         * modules/unistr/u16-strchr (Depends-on): Likewise.
42082         * modules/unistr/u16-strrchr (Depends-on): Likewise.
42083
42084 2009-03-12  Bruno Haible  <bruno@clisp.org>
42085
42086         Work around select() bug on Interix 3.5.
42087         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
42088         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
42089         * m4/select.m4: New file.
42090         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
42091         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
42092         * modules/select (Files): Add m4/select.m4.
42093         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
42094         * modules/nanosleep (Depends-on): Add select.
42095         * modules/poll (Depends-on): Likewise.
42096         * doc/posix-functions/select.texi: Mention the Interix bug.
42097         Reported by Markus Duft <mduft@gentoo.org>.
42098
42099         * lib/select.c: Renamed from lib/winsock-select.c.
42100         * modules/select (Files): Add lib/select.c, remove
42101         lib/winsock-select.c.
42102         (configure.ac): Update.
42103
42104 2009-03-12  Jim Meyering  <meyering@redhat.com>
42105
42106         avoid gcc warnings about unused macro definitions
42107         * lib/readtokens.c (STREQ): Remove unused definition.
42108         * lib/xmalloc.c (SIZE_MAX): Likewise.
42109         * lib/openat-die.c (N_): Likewise.
42110         * lib/mountlist.c (SIZE_MAX): Remove definition.
42111         Instead, include <stdint.h>.
42112         * lib/readutmp.c: Likewise.
42113         * modules/readutmp (Depends-on): Add stdint.
42114         * modules/mountlist (Depends-on): Add stdint.
42115         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
42116
42117 2009-03-10  Bruno Haible  <bruno@clisp.org>
42118
42119         Tests for module 'mbmemcasecoll'.
42120         * modules/mbmemcasecoll-tests: New file.
42121         * tests/test-mbmemcasecoll1.sh: New file.
42122         * tests/test-mbmemcasecoll2.sh: New file.
42123         * tests/test-mbmemcasecoll3.sh: New file.
42124         * tests/test-mbmemcasecoll.c: New file.
42125
42126         New module 'mbmemcasecoll'.
42127         * lib/mbmemcasecoll.h: New file.
42128         * lib/mbmemcasecoll.c: New file.
42129         * modules/mbmemcasecoll: New file.
42130
42131         * tests/test-mbmemcasecmp.h: New file, extracted from
42132         tests/test-mbmemcasecmp.c.
42133         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
42134         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
42135         (main): Update.
42136         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
42137
42138 2009-03-09  Bruno Haible  <bruno@clisp.org>
42139
42140         Tests for module 'mbmemcasecmp'.
42141         * modules/mbmemcasecmp-tests: New file.
42142         * tests/test-mbmemcasecmp1.sh: New file.
42143         * tests/test-mbmemcasecmp2.sh: New file.
42144         * tests/test-mbmemcasecmp3.sh: New file.
42145         * tests/test-mbmemcasecmp.c: New file.
42146
42147         New module 'mbmemcasecmp'.
42148         * lib/mbmemcasecmp.h: New file.
42149         * lib/mbmemcasecmp.c: New file.
42150         * modules/mbmemcasecmp: New file.
42151
42152 2009-03-09  Bruno Haible  <bruno@clisp.org>
42153
42154         Tests for module 'unicase/ulc-casecoll'.
42155         * modules/unicase/ulc-casecoll-tests: New file.
42156         * tests/unicase/test-ulc-casecoll1.sh: New file.
42157         * tests/unicase/test-ulc-casecoll2.sh: New file.
42158         * tests/unicase/test-ulc-casecoll.c: New file.
42159
42160         New module 'unicase/ulc-casecoll'.
42161         * lib/unicase.h (ulc_casecoll): New declaration.
42162         * lib/unicase/ulc-casecoll.c: New file.
42163         * modules/unicase/ulc-casecoll: New file.
42164
42165         New module 'unicase/ulc-casexfrm'.
42166         * lib/unicase.h (ulc_casexfrm): New declaration.
42167         * lib/unicase/ulc-casexfrm.c: New file.
42168         * modules/unicase/ulc-casexfrm: New file.
42169
42170 2009-03-09  Bruno Haible  <bruno@clisp.org>
42171
42172         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
42173         invocations.
42174
42175         * m4/mbscasecmp.m4: Remove file.
42176         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
42177         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
42178
42179         * m4/mbscasestr.m4: Remove file.
42180         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
42181         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
42182
42183         * m4/mbschr.m4: Remove file.
42184         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
42185         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
42186
42187         * m4/mbscspn.m4: Remove file.
42188         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
42189         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
42190
42191         * m4/mbslen.m4: Remove file.
42192         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
42193         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
42194
42195         * m4/mbsncasecmp.m4: Remove file.
42196         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
42197         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
42198
42199         * m4/mbsnlen.m4: Remove file.
42200         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
42201         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
42202
42203         * m4/mbspbrk.m4: Remove file.
42204         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
42205         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
42206
42207         * m4/mbspcasecmp.m4: Remove file.
42208         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
42209         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
42210
42211         * m4/mbsrchr.m4: Remove file.
42212         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
42213         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
42214
42215         * m4/mbssep.m4: Remove file.
42216         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
42217         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
42218
42219         * m4/mbsspn.m4: Remove file.
42220         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
42221         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
42222
42223         * m4/mbsstr.m4: Remove file.
42224         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
42225         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
42226
42227         * m4/mbstok_r.m4: Remove file.
42228         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
42229         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
42230
42231         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
42232
42233         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
42234         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
42235
42236         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
42237
42238 2009-03-08  Bruno Haible  <bruno@clisp.org>
42239
42240         Tests for module 'unicase/ulc-casecmp'.
42241         * modules/unicase/ulc-casecmp-tests: New file.
42242         * tests/unicase/test-ulc-casecmp1.sh: New file.
42243         * tests/unicase/test-ulc-casecmp2.sh: New file.
42244         * tests/unicase/test-ulc-casecmp.c: New file.
42245
42246         New module 'unicase/ulc-casecmp'.
42247         * lib/unicase.h (ulc_casecmp): New declaration.
42248         * lib/unicase/ulc-casecmp.c: New file.
42249         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
42250         'const SRC_UNIT *'.
42251         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
42252         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
42253         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
42254         * modules/unicase/ulc-casecmp: New file.
42255
42256         Tests for module 'unicase/u32-is-cased'.
42257         * modules/unicase/u32-is-cased-tests: New file.
42258         * tests/unicase/test-u32-is-cased.c: New file.
42259
42260         Tests for module 'unicase/u16-is-cased'.
42261         * modules/unicase/u16-is-cased-tests: New file.
42262         * tests/unicase/test-u16-is-cased.c: New file.
42263
42264         Tests for module 'unicase/u8-is-cased'.
42265         * modules/unicase/u8-is-cased-tests: New file.
42266         * tests/unicase/test-u8-is-cased.c: New file.
42267         * tests/unicase/test-is-cased.h: New file.
42268
42269         New module 'unicase/u32-is-cased'.
42270         * lib/unicase/u32-is-cased.c: New file.
42271         * modules/unicase/u32-is-cased: New file.
42272
42273         New module 'unicase/u16-is-cased'.
42274         * lib/unicase/u16-is-cased.c: New file.
42275         * modules/unicase/u16-is-cased: New file.
42276
42277         New module 'unicase/u8-is-cased'.
42278         * lib/unicase/u8-is-cased.c: New file.
42279         * lib/unicase/u-is-cased.h: New file.
42280         * modules/unicase/u8-is-cased: New file.
42281
42282         Tests for module 'unicase/u32-is-casefolded'.
42283         * modules/unicase/u32-is-casefolded-tests: New file.
42284         * tests/unicase/test-u32-is-casefolded.c: New file.
42285
42286         Tests for module 'unicase/u16-is-casefolded'.
42287         * modules/unicase/u16-is-casefolded-tests: New file.
42288         * tests/unicase/test-u16-is-casefolded.c: New file.
42289
42290         Tests for module 'unicase/u8-is-casefolded'.
42291         * modules/unicase/u8-is-casefolded-tests: New file.
42292         * tests/unicase/test-u8-is-casefolded.c: New file.
42293         * tests/unicase/test-is-casefolded.h: New file.
42294
42295         New module 'unicase/u32-is-casefolded'.
42296         * lib/unicase/u32-is-casefolded.c: New file.
42297         * modules/unicase/u32-is-casefolded: New file.
42298
42299         New module 'unicase/u16-is-casefolded'.
42300         * lib/unicase/u16-is-casefolded.c: New file.
42301         * modules/unicase/u16-is-casefolded: New file.
42302
42303         New module 'unicase/u8-is-casefolded'.
42304         * lib/unicase/u8-is-casefolded.c: New file.
42305         * modules/unicase/u8-is-casefolded: New file.
42306
42307         Tests for module 'unicase/u32-is-titlecase'.
42308         * modules/unicase/u32-is-titlecase-tests: New file.
42309         * tests/unicase/test-u32-is-titlecase.c: New file.
42310
42311         Tests for module 'unicase/u16-is-titlecase'.
42312         * modules/unicase/u16-is-titlecase-tests: New file.
42313         * tests/unicase/test-u16-is-titlecase.c: New file.
42314
42315         Tests for module 'unicase/u8-is-titlecase'.
42316         * modules/unicase/u8-is-titlecase-tests: New file.
42317         * tests/unicase/test-u8-is-titlecase.c: New file.
42318         * tests/unicase/test-is-titlecase.h: New file.
42319
42320         New module 'unicase/u32-is-titlecase'.
42321         * lib/unicase/u32-is-titlecase.c: New file.
42322         * modules/unicase/u32-is-titlecase: New file.
42323
42324         New module 'unicase/u16-is-titlecase'.
42325         * lib/unicase/u16-is-titlecase.c: New file.
42326         * modules/unicase/u16-is-titlecase: New file.
42327
42328         New module 'unicase/u8-is-titlecase'.
42329         * lib/unicase/u8-is-titlecase.c: New file.
42330         * modules/unicase/u8-is-titlecase: New file.
42331
42332         Tests for module 'unicase/u32-is-lowercase'.
42333         * modules/unicase/u32-is-lowercase-tests: New file.
42334         * tests/unicase/test-u32-is-lowercase.c: New file.
42335
42336         Tests for module 'unicase/u16-is-lowercase'.
42337         * modules/unicase/u16-is-lowercase-tests: New file.
42338         * tests/unicase/test-u16-is-lowercase.c: New file.
42339
42340         Tests for module 'unicase/u8-is-lowercase'.
42341         * modules/unicase/u8-is-lowercase-tests: New file.
42342         * tests/unicase/test-u8-is-lowercase.c: New file.
42343         * tests/unicase/test-is-lowercase.h: New file.
42344
42345         New module 'unicase/u32-is-lowercase'.
42346         * lib/unicase/u32-is-lowercase.c: New file.
42347         * modules/unicase/u32-is-lowercase: New file.
42348
42349         New module 'unicase/u16-is-lowercase'.
42350         * lib/unicase/u16-is-lowercase.c: New file.
42351         * modules/unicase/u16-is-lowercase: New file.
42352
42353         New module 'unicase/u8-is-lowercase'.
42354         * lib/unicase/u8-is-lowercase.c: New file.
42355         * modules/unicase/u8-is-lowercase: New file.
42356
42357         Tests for module 'unicase/u32-is-uppercase'.
42358         * modules/unicase/u32-is-uppercase-tests: New file.
42359         * tests/unicase/test-u32-is-uppercase.c: New file.
42360
42361         Tests for module 'unicase/u16-is-uppercase'.
42362         * modules/unicase/u16-is-uppercase-tests: New file.
42363         * tests/unicase/test-u16-is-uppercase.c: New file.
42364
42365         Tests for module 'unicase/u8-is-uppercase'.
42366         * modules/unicase/u8-is-uppercase-tests: New file.
42367         * tests/unicase/test-u8-is-uppercase.c: New file.
42368         * tests/unicase/test-is-uppercase.h: New file.
42369
42370         New module 'unicase/u32-is-uppercase'.
42371         * lib/unicase/u32-is-uppercase.c: New file.
42372         * modules/unicase/u32-is-uppercase: New file.
42373
42374         New module 'unicase/u16-is-uppercase'.
42375         * lib/unicase/u16-is-uppercase.c: New file.
42376         * modules/unicase/u16-is-uppercase: New file.
42377
42378         New module 'unicase/u8-is-uppercase'.
42379         * lib/unicase/u8-is-uppercase.c: New file.
42380         * modules/unicase/u8-is-uppercase: New file.
42381
42382         New module 'unicase/u32-is-invariant'.
42383         * lib/unicase/u32-is-invariant.c: New file.
42384         * modules/unicase/u32-is-invariant: New file.
42385
42386         New module 'unicase/u16-is-invariant'.
42387         * lib/unicase/u16-is-invariant.c: New file.
42388         * modules/unicase/u16-is-invariant: New file.
42389
42390         New module 'unicase/u8-is-invariant'.
42391         * lib/unicase/u8-is-invariant.c: New file.
42392         * lib/unicase/invariant.h: New file.
42393         * lib/unicase/u-is-invariant.h: New file.
42394         * modules/unicase/u8-is-invariant: New file.
42395
42396         Tests for module 'unicase/u32-casecoll'.
42397         * modules/unicase/u32-casecoll-tests: New file.
42398         * tests/unicase/test-u32-casecoll.c: New file.
42399
42400         Tests for module 'unicase/u16-casecoll'.
42401         * modules/unicase/u16-casecoll-tests: New file.
42402         * tests/unicase/test-u16-casecoll.c: New file.
42403
42404         Tests for module 'unicase/u8-casecoll'.
42405         * modules/unicase/u8-casecoll-tests: New file.
42406         * tests/unicase/test-u8-casecoll.c: New file.
42407
42408         New module 'unicase/u32-casecoll'.
42409         * lib/unicase/u32-casecoll.c: New file.
42410         * modules/unicase/u32-casecoll: New file.
42411
42412         New module 'unicase/u16-casecoll'.
42413         * lib/unicase/u16-casecoll.c: New file.
42414         * modules/unicase/u16-casecoll: New file.
42415
42416         New module 'unicase/u8-casecoll'.
42417         * lib/unicase/u8-casecoll.c: New file.
42418         * lib/unicase/u-casecoll.h: New file.
42419         * modules/unicase/u8-casecoll: New file.
42420
42421         New module 'unicase/u32-casexfrm'.
42422         * lib/unicase/u32-casexfrm.c: New file.
42423         * modules/unicase/u32-casexfrm: New file.
42424
42425         New module 'unicase/u16-casexfrm'.
42426         * lib/unicase/u16-casexfrm.c: New file.
42427         * modules/unicase/u16-casexfrm: New file.
42428
42429         New module 'unicase/u8-casexfrm'.
42430         * lib/unicase/u8-casexfrm.c: New file.
42431         * lib/unicase/u-casexfrm.h: New file.
42432         * modules/unicase/u8-casexfrm: New file.
42433
42434         Tests for module 'unicase/u32-casecmp'.
42435         * modules/unicase/u32-casecmp-tests: New file.
42436         * tests/unicase/test-u32-casecmp.c: New file.
42437
42438         Tests for module 'unicase/u16-casecmp'.
42439         * modules/unicase/u16-casecmp-tests: New file.
42440         * tests/unicase/test-u16-casecmp.c: New file.
42441
42442         Tests for module 'unicase/u8-casecmp'.
42443         * modules/unicase/u8-casecmp-tests: New file.
42444         * tests/unicase/test-u8-casecmp.c: New file.
42445         * tests/unicase/test-casecmp.h: New file.
42446
42447         New module 'unicase/u32-casecmp'.
42448         * lib/unicase/u32-casecmp.c: New file.
42449         * modules/unicase/u32-casecmp: New file.
42450
42451         New module 'unicase/u16-casecmp'.
42452         * lib/unicase/u16-casecmp.c: New file.
42453         * modules/unicase/u16-casecmp: New file.
42454
42455         New module 'unicase/u8-casecmp'.
42456         * lib/unicase/u8-casecmp.c: New file.
42457         * lib/unicase/u-casecmp.h: New file.
42458         * modules/unicase/u8-casecmp: New file.
42459
42460         Tests for module 'unicase/u32-casefold'.
42461         * modules/unicase/u32-casefold-tests: New file.
42462         * tests/unicase/test-u32-casefold.c: New file.
42463
42464         Tests for module 'unicase/u16-casefold'.
42465         * modules/unicase/u16-casefold-tests: New file.
42466         * tests/unicase/test-u16-casefold.c: New file.
42467
42468         Tests for module 'unicase/u8-casefold'.
42469         * modules/unicase/u8-casefold-tests: New file.
42470         * tests/unicase/test-u8-casefold.c: New file.
42471
42472         New module 'unicase/u32-casefold'.
42473         * lib/unicase/u32-casefold.c: New file.
42474         * modules/unicase/u32-casefold: New file.
42475
42476         New module 'unicase/u16-casefold'.
42477         * lib/unicase/u16-casefold.c: New file.
42478         * modules/unicase/u16-casefold: New file.
42479
42480         New module 'unicase/u8-casefold'.
42481         * lib/unicase/u8-casefold.c: New file.
42482         * lib/unicase/u-casefold.h: New file.
42483         * modules/unicase/u8-casefold: New file.
42484
42485         New module 'unicase/tocasefold'.
42486         * lib/unicase/casefold.h: New file.
42487         * lib/unicase/tocasefold.c: New file.
42488         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
42489         * modules/unicase/tocasefold: New file.
42490
42491         Tests for module 'unicase/u32-totitle'.
42492         * modules/unicase/u32-totitle-tests: New file.
42493         * tests/unicase/test-u32-totitle.c: New file.
42494
42495         Tests for module 'unicase/u16-totitle'.
42496         * modules/unicase/u16-totitle-tests: New file.
42497         * tests/unicase/test-u16-totitle.c: New file.
42498
42499         Tests for module 'unicase/u8-totitle'.
42500         * modules/unicase/u8-totitle-tests: New file.
42501         * tests/unicase/test-u8-totitle.c: New file.
42502
42503         New module 'unicase/u32-totitle'.
42504         * lib/unicase/u32-totitle.c: New file.
42505         * modules/unicase/u32-totitle: New file.
42506
42507         New module 'unicase/u16-totitle'.
42508         * lib/unicase/u16-totitle.c: New file.
42509         * modules/unicase/u16-totitle: New file.
42510
42511         New module 'unicase/u8-totitle'.
42512         * lib/unicase/u8-totitle.c: New file.
42513         * lib/unicase/u-totitle.h: New file.
42514         * modules/unicase/u8-totitle: New file.
42515
42516         Tests for module 'unicase/u32-tolower'.
42517         * modules/unicase/u32-tolower-tests: New file.
42518         * tests/unicase/test-u32-tolower.c: New file.
42519
42520         Tests for module 'unicase/u16-tolower'.
42521         * modules/unicase/u16-tolower-tests: New file.
42522         * tests/unicase/test-u16-tolower.c: New file.
42523
42524         Tests for module 'unicase/u8-tolower'.
42525         * modules/unicase/u8-tolower-tests: New file.
42526         * tests/unicase/test-u8-tolower.c: New file.
42527
42528         New module 'unicase/u32-tolower'.
42529         * lib/unicase/u32-tolower.c: New file.
42530         * modules/unicase/u32-tolower: New file.
42531
42532         New module 'unicase/u16-tolower'.
42533         * lib/unicase/u16-tolower.c: New file.
42534         * modules/unicase/u16-tolower: New file.
42535
42536         New module 'unicase/u8-tolower'.
42537         * lib/unicase/u8-tolower.c: New file.
42538         * modules/unicase/u8-tolower: New file.
42539
42540         Tests for module 'unicase/u32-toupper'.
42541         * modules/unicase/u32-toupper-tests: New file.
42542         * tests/unicase/test-u32-toupper.c: New file.
42543
42544         Tests for module 'unicase/u16-toupper'.
42545         * modules/unicase/u16-toupper-tests: New file.
42546         * tests/unicase/test-u16-toupper.c: New file.
42547
42548         Tests for module 'unicase/u8-toupper'.
42549         * modules/unicase/u8-toupper-tests: New file.
42550         * tests/unicase/test-u8-toupper.c: New file.
42551
42552         New module 'unicase/u32-toupper'.
42553         * lib/unicase/u32-toupper.c: New file.
42554         * modules/unicase/u32-toupper: New file.
42555
42556         New module 'unicase/u16-toupper'.
42557         * lib/unicase/u16-toupper.c: New file.
42558         * modules/unicase/u16-toupper: New file.
42559
42560         New module 'unicase/u8-toupper'.
42561         * lib/unicase/u8-toupper.c: New file.
42562         * modules/unicase/u8-toupper: New file.
42563
42564         New module 'unicase/u32-casemap'.
42565         * lib/unicase/u32-casemap.c: New file.
42566         * modules/unicase/u32-casemap: New file.
42567
42568         New module 'unicase/u16-casemap'.
42569         * lib/unicase/u16-casemap.c: New file.
42570         * modules/unicase/u16-casemap: New file.
42571
42572         New module 'unicase/u8-casemap'.
42573         * lib/unicase/unicasemap.h: New file.
42574         * lib/unicase/u8-casemap.c: New file.
42575         * lib/unicase/u-casemap.h: New file.
42576         * modules/unicase/u8-casemap: New file.
42577
42578         New module 'unicase/special-casing'.
42579         * lib/unicase/special-casing.h: New file.
42580         * lib/unicase/special-casing.c: New file.
42581         * lib/unicase/special-casing-table.gperf: New file, generated by
42582         gen-uni-tables.c.
42583         * modules/unicase/special-casing: New file.
42584
42585         Tests for module 'unicase/locale-language'.
42586         * modules/unicase/locale-language-tests: New file.
42587         * tests/unicase/test-locale-language.sh: New file.
42588         * tests/unicase/test-locale-language.c: New file.
42589
42590         New module 'unicase/locale-language'.
42591         * lib/unicase/locale-language.c: New file.
42592         * lib/unicase/locale-languages.gperf: New file.
42593         * modules/unicase/locale-language: New file.
42594
42595         Generate more tables for case conversion and case folding.
42596         * lib/gen-uni-tables.c (SCC_*): New enum items.
42597         (struct special_casing_rule): New type.
42598         (casing_rules, num_casing_rules, allocated_casing_rules): New
42599         variables.
42600         (add_casing_rule, fill_casing_rules): New functions.
42601         (struct casefold_rule): New type.
42602         (casefolding_rules, num_casefolding_rules,
42603         allocated_casefolding_rules): New variables.
42604         (fill_casefolding_rules): New function.
42605         (unicode_casefold): New variable.
42606         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
42607         sort_casing_rules, output_casing_rules): New functions.
42608         (main): Accept to more arguments: SpecialCasing.txt and
42609         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
42610         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
42611         Output mapping for casefolding.
42612
42613         * lib/unicase.h: Include stdbool.h, uninorm.h.
42614         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
42615         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
42616         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
42617         arguments.
42618         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
42619         resultp arguments.
42620         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
42621         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
42622         resultp arguments.
42623         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
42624         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
42625         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
42626         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
42627         declarations.
42628         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
42629
42630 2009-03-08  Bruno Haible  <bruno@clisp.org>
42631
42632         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
42633         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
42634         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
42635         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
42636
42637 2009-03-07  Bruno Haible  <bruno@clisp.org>
42638
42639         Adjust u*_normcmp, u*_normcoll API.
42640         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
42641         u16_normcoll, u32_normcoll): Change failure conventions.
42642         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
42643         errno and return -1.
42644         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
42645
42646 2009-03-07  Bruno Haible  <bruno@clisp.org>
42647
42648         Tests for module 'uninorm/u32-normcoll'.
42649         * modules/uninorm/u32-normcoll-tests: New file.
42650         * tests/uninorm/test-u32-normcoll.c: New file.
42651
42652         Tests for module 'uninorm/u16-normcoll'.
42653         * modules/uninorm/u16-normcoll-tests: New file.
42654         * tests/uninorm/test-u16-normcoll.c: New file.
42655
42656         Tests for module 'uninorm/u8-normcoll'.
42657         * modules/uninorm/u8-normcoll-tests: New file.
42658         * tests/uninorm/test-u8-normcoll.c: New file.
42659
42660 2009-03-07  Bruno Haible  <bruno@clisp.org>
42661
42662         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
42663         tests/uninorm/test-u32-normcmp.c.
42664         * tests/uninorm/test-u32-normcmp.c: Include it.
42665         (test_nonascii): New function, extracted from main. Add some more
42666         tests.
42667         (main): Invoke test_ascii and test_nonascii.
42668         * modules/uninorm/u32-normcmp-tests (Files): Add
42669         tests/uninorm/test-u32-normcmp.h.
42670         (Depends-on): Remove uninorm/u32-normcmp.
42671
42672         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
42673         tests/uninorm/test-u16-normcmp.c.
42674         * tests/uninorm/test-u16-normcmp.c: Include it.
42675         (test_nonascii): New function, extracted from main. Add some more
42676         tests.
42677         (main): Invoke test_ascii and test_nonascii.
42678         * modules/uninorm/u16-normcmp-tests (Files): Add
42679         tests/uninorm/test-u16-normcmp.h.
42680         (Depends-on): Remove uninorm/u16-normcmp.
42681
42682         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
42683         tests/uninorm/test-u8-normcmp.c.
42684         * tests/uninorm/test-u8-normcmp.c: Include it.
42685         (test_nonascii): New function, extracted from main. Add some more
42686         tests.
42687         (main): Invoke test_ascii and test_nonascii.
42688         * modules/uninorm/u8-normcmp-tests (Files): Add
42689         tests/uninorm/test-u8-normcmp.h.
42690         (Depends-on): Remove uninorm/u8-normcmp.
42691
42692 2009-03-07  Bruno Haible  <bruno@clisp.org>
42693
42694         New module 'uninorm/u32-normcoll'.
42695         * lib/uninorm/u32-normcoll.c: New file.
42696         * modules/uninorm/u32-normcoll: New file.
42697
42698         New module 'uninorm/u16-normcoll'.
42699         * lib/uninorm/u16-normcoll.c: New file.
42700         * modules/uninorm/u16-normcoll: New file.
42701
42702         New module 'uninorm/u8-normcoll'.
42703         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
42704         declarations.
42705         * lib/uninorm/u8-normcoll.c: New file.
42706         * lib/uninorm/u-normcoll.h: New file.
42707         * modules/uninorm/u8-normcoll: New file.
42708
42709         New module 'uninorm/u32-normxfrm'.
42710         * lib/uninorm/u32-normxfrm.c: New file.
42711         * modules/uninorm/u32-normxfrm: New file.
42712
42713         New module 'uninorm/u16-normxfrm'.
42714         * lib/uninorm/u16-normxfrm.c: New file.
42715         * modules/uninorm/u16-normxfrm: New file.
42716
42717         New module 'uninorm/u8-normxfrm'.
42718         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
42719         declarations.
42720         * lib/uninorm/u8-normxfrm.c: New file.
42721         * lib/uninorm/u-normxfrm.h: New file.
42722         * modules/uninorm/u8-normxfrm: New file.
42723
42724 2009-03-07  Bruno Haible  <bruno@clisp.org>
42725
42726         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
42727         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
42728         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
42729
42730 2009-03-07  Bruno Haible  <bruno@clisp.org>
42731
42732         New module 'memxfrm'.
42733         * lib/memxfrm.h: New file.
42734         * lib/memxfrm.c: New file.
42735         * modules/memxfrm: New file.
42736
42737 2009-03-07  Bruno Haible  <bruno@clisp.org>
42738
42739         New module 'memcmp2'.
42740         * lib/memcmp2.h: New file.
42741         * lib/memcmp2.c: New file.
42742         * modules/memcmp2: New file.
42743
42744 2009-03-07  Bruno Haible  <bruno@clisp.org>
42745
42746         Tests for module 'uninorm/decomposing-form'.
42747         * modules/uninorm/decomposing-form-tests: New file.
42748         * tests/uninorm/test-decomposing-form.c: New file.
42749
42750         New module 'uninorm/decomposing-form'.
42751         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
42752         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
42753         Add 'decomposing_variant' field.
42754         * lib/uninorm/decomposing-form.c: New file.
42755         * lib/uninorm/nfc.c (uninorm_nfc): Update.
42756         * lib/uninorm/nfd.c (uninorm_nfd): Update.
42757         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
42758         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
42759         * modules/uninorm/decomposing-form: New file.
42760         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
42761         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
42762
42763 2009-03-07  Bruno Haible  <bruno@clisp.org>
42764
42765         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
42766         strings.
42767
42768 2009-03-06  Bruno Haible  <bruno@clisp.org>
42769
42770         Tests for module 'uninorm/u32-normcmp'.
42771         * tests/uninorm/test-u32-normcmp.c: New file.
42772         * modules/uninorm/u32-normcmp-tests: New file.
42773
42774         Tests for module 'uninorm/u16-normcmp'.
42775         * tests/uninorm/test-u16-normcmp.c: New file.
42776         * modules/uninorm/u16-normcmp-tests: New file.
42777
42778         Tests for module 'uninorm/u8-normcmp'.
42779         * tests/uninorm/test-u8-normcmp.c: New file.
42780         * modules/uninorm/u8-normcmp-tests: New file.
42781
42782         New module 'uninorm/u32-normcmp'.
42783         * lib/uninorm/u32-normcmp.c: New file.
42784         * modules/uninorm/u32-normcmp: New file.
42785
42786         New module 'uninorm/u16-normcmp'.
42787         * lib/uninorm/u16-normcmp.c: New file.
42788         * modules/uninorm/u16-normcmp: New file.
42789
42790         New module 'uninorm/u8-normcmp'.
42791         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
42792         declarations.
42793         * lib/uninorm/u8-normcmp.c: New file.
42794         * lib/uninorm/u-normcmp.h: New file.
42795         * modules/uninorm/u8-normcmp: New file.
42796
42797 2009-03-06  Bruno Haible  <bruno@clisp.org>
42798
42799         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
42800         Reported by Eric Blake.
42801
42802 2009-03-06  Eric Blake  <ebb9@byu.net>
42803             Bruno Haible  <bruno@clisp.org>
42804
42805         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
42806         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
42807         condition.
42808         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
42809         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
42810         condition.
42811         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
42812
42813 2009-03-06  Eric Blake  <ebb9@byu.net>
42814
42815         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
42816         to avoid compiler warnings.
42817         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
42818
42819 2009-03-05  Bruno Haible  <bruno@clisp.org>
42820
42821         * tests/test-ftell.c (main): Disable test beyond end of file on
42822         FreeMiNT.
42823         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
42824
42825 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
42826
42827         * lib/filevercmp.c: Move hidden files up in ordering.
42828         * tests/test-filevercmp.c: Add tests for hidden files.
42829
42830 2009-03-04  Bruno Haible  <bruno@clisp.org>
42831
42832         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
42833         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
42834         AM_CFLAGS.
42835         Reported by Simon Josefsson.
42836
42837 2009-03-03  Bruno Haible  <bruno@clisp.org>
42838
42839         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
42840         Reported by Simon Josefsson.
42841
42842         * doc/ld-version-script.texi: Update node reference.
42843
42844 2009-03-03  Bruno Haible  <bruno@clisp.org>
42845
42846         * modules/visibility (License): Change to 'unlimited'.
42847         Suggested by Simon Josefsson.
42848
42849 2009-03-03  Jim Meyering  <meyering@redhat.com>
42850
42851         unlinkdir: cannot_unlink_dir may modify process state
42852         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
42853         it's neither thread-safe nor appropriate for use in a library.
42854
42855 2009-03-03  Eric Blake  <ebb9@byu.net>
42856
42857         test-closein: silence test under Darwin
42858         * tests/test-closein.sh: Ignore stderr from cat, since we don't
42859         care if it dies from EPIPE or EBADF.
42860
42861 2009-03-03  Bruno Haible  <bruno@clisp.org>
42862
42863         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
42864         earlier.
42865         * doc/visibility.texi: Fix @node and @section.
42866
42867 2009-03-03  Simon Josefsson  <simon@josefsson.org>
42868
42869         * doc/gnulib.texi: Link to sections for ld version script and
42870         visibility.
42871         * doc/visibility.texi: Add @node and @section.
42872         * modules/ld-version-script: New module.
42873         * m4/ld-version-script.m4: New file.
42874         * doc/ld-version-script.texi: New file.
42875
42876 2009-03-02  David Lutterkort  <lutter@redhat.com>
42877
42878         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
42879         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42880
42881 2009-03-02  Bruno Haible  <bruno@clisp.org>
42882
42883         * doc/visibility.texi: Mention libtool's -export-symbols option.
42884
42885 2009-03-02  Jim Meyering  <meyering@redhat.com>
42886
42887         announce-gen: new option: --no-print-checksums
42888         * build-aux/announce-gen (usage): Describe it.
42889         (print_checksums): Print a newline here, not in the [*] footnote.
42890         (main): Honor it.
42891
42892 2009-03-01  Bruno Haible  <bruno@clisp.org>
42893
42894         Use socklen_t in the native Windows replacements prototypes.
42895         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
42896         instead of 'int'.
42897         * lib/getsockopt.c (rpl_getsockopt): Likewise.
42898         * lib/setsockopt.c (rpl_setsockopt): Likewise.
42899         * modules/getsockopt (Depends-on): Add socklen.
42900         * modules/setsockopt (Depends-on): Add socklen.
42901
42902 2009-03-01  Bruno Haible  <bruno@clisp.org>
42903
42904         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
42905         least 4.2.
42906
42907 2009-03-01  Eric Blake  <ebb9@byu.net>
42908             Bruno Haible  <bruno@clisp.org>
42909
42910         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
42911         error messages.
42912         * lib/wait-process.c (wait_subprocess): Omit error message about
42913         deadly signal sent to the child of termsigp != NULL.
42914
42915 2009-03-01  Eric Blake  <ebb9@byu.net>
42916
42917         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
42918
42919 2009-03-01  Bruno Haible  <bruno@clisp.org>
42920
42921         Avoid a gcc warning.
42922         * tests/test-sched.c (b): Make global.
42923         Reported by Eric Blake.
42924
42925 2009-01-19  Martin Lambers  <marlam@marlam.de>
42926
42927         Provide POSIX semantics for socket timeout options on W32.
42928         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
42929         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
42930         * modules/setsockopt: Depend on sys_time module for struct timeval.
42931         * modules/getsockopt: Depend on sys_time module for struct timeval.
42932
42933 2009-03-01  Simon Josefsson  <simon@josefsson.org>
42934
42935         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
42936         __USE_GNU, for consistency with netdb.in.h.
42937         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42938
42939 2009-03-01  Bruno Haible  <bruno@clisp.org>
42940
42941         More support for FreeMiNT.
42942         * lib/fseeko.c (rpl_fseeko): Complete last commit.
42943         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42944
42945 2009-03-01  Bruno Haible  <bruno@clisp.org>
42946
42947         More support for FreeMiNT.
42948         * lib/fpurge.c (fpurge): Correct last commit.
42949         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42950
42951 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42952
42953         Fix unportable awk script in vc-list-files.
42954         * build-aux/vc-list-files: In the replacement awk script, use
42955         substr with a second argument of 1, not zero.
42956         Report by Simon Josefsson.
42957
42958 2009-02-28  Bruno Haible  <bruno@clisp.org>
42959
42960         More support for FreeMiNT.
42961         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
42962         to FreeMiNT today.
42963         * lib/fwriting.c (fwriting): Likewise.
42964         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
42965
42966 2009-02-28  Bruno Haible  <bruno@clisp.org>
42967
42968         * tests/test-freadseek.c (main): Disable test beyond end of file on
42969         FreeMiNT.
42970         * tests/test-ftello.c (main): Likewise.
42971         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
42972
42973 2009-02-28  Bruno Haible  <bruno@clisp.org>
42974
42975         Add tentative support for FreeMiNT.
42976         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
42977         * lib/fpurge.c (fpurge): Likewise.
42978         * lib/freadable.c (freadable): Likewise.
42979         * lib/freading.c (freading): Likewise.
42980         * lib/freadptr.c (freadptr): Likewise.
42981         * lib/freadseek.c (freadptrinc): Likewise.
42982         * lib/fseeko.c (rpl_fseeko): Likewise.
42983         * lib/fseterr.c (fseterr): Likewise.
42984         * lib/fwritable.c (fwritable): Likewise.
42985         * lib/fwriting.c (fwriting): Likewise.
42986         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
42987         Hourihane.
42988         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42989
42990 2009-02-28  Bruno Haible  <bruno@clisp.org>
42991
42992         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
42993         SIGCHLD.
42994         Reported by Jim Meyering.
42995
42996 2009-02-28  Bruno Haible  <bruno@clisp.org>
42997
42998         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
42999         Mention the results of these tests on various platforms.
43000         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
43001         order.
43002         * doc/posix-functions/printf.texi: Likewise.
43003         * doc/posix-functions/snprintf.texi: Likewise.
43004         * doc/posix-functions/sprintf.texi: Likewise.
43005         * doc/posix-functions/vfprintf.texi: Likewise.
43006         * doc/posix-functions/vprintf.texi: Likewise.
43007         * doc/posix-functions/vsnprintf.texi: Likewise.
43008         * doc/posix-functions/vsprintf.texi: Likewise.
43009         * doc/glibc-functions/obstack_printf.texi: Likewise.
43010         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
43011
43012 2009-02-28  Bruno Haible  <bruno@clisp.org>
43013
43014         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
43015         Reported by Loïc Minier <lool@dooz.org>.
43016
43017 2009-02-27  Bruno Haible  <bruno@clisp.org>
43018
43019         * gnulib-tool (func_import): Make the sed expression used to create the
43020         sed script for updating the .gitignore file POSIX compliant.
43021         Reported by Eric Blake.
43022
43023 2009-02-27  Bruno Haible  <bruno@clisp.org>
43024
43025         * gnulib-tool (sed): Don't alias as "sed --posix".
43026         Reported by Eric Blake.
43027
43028 2009-02-27  Bruno Haible  <bruno@clisp.org>
43029
43030         Avoid test link errors.
43031         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
43032         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
43033         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
43034         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
43035         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43036
43037 2009-02-27  Bruno Haible  <bruno@clisp.org>
43038
43039         Avoid spurious "(cached)" in configure output.
43040         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
43041         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
43042         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
43043         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
43044         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
43045         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
43046         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
43047         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
43048         Reported by Eric Blake.
43049
43050 2009-02-27  Eric Blake  <ebb9@byu.net>
43051
43052         printf: fix regression in previous patch
43053         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
43054
43055 2009-02-27  Bruno Haible  <bruno@clisp.org>
43056
43057         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
43058         value.
43059         * lib/stdint.in.h: Likewise.
43060         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
43061
43062 2009-02-27  Eric Blake  <ebb9@byu.net>
43063
43064         doc: mention more functions added in cygwin 1.7.0
43065         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
43066         addition.
43067         * doc/posix-functions/open_wmemstream.texi: Likewise.
43068         * doc/posix-functions/wcsnlen.texi: Likewise.
43069         * doc/posix-functions/wcsnrtombs.texi: Likewise.
43070         * doc/posix-functions/wcstod.texi: Likewise.
43071         * doc/posix-functions/wcstof.texi: Likewise.
43072         * doc/posix-functions/wcstoimax.texi: Likewise.
43073         * doc/posix-functions/wcstok.texi: Likewise.
43074         * doc/posix-functions/wcstoumax.texi: Likewise.
43075
43076         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
43077         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
43078         * doc/posix-functions/fprintf.texi: Update.
43079         * doc/posix-functions/printf.texi: Update.
43080         * doc/posix-functions/snprintf.texi: Update.
43081         * doc/posix-functions/sprintf.texi: Update.
43082         * doc/posix-functions/vfprintf.texi: Update.
43083         * doc/posix-functions/vprintf.texi: Update.
43084         * doc/posix-functions/vsnprintf.texi: Update.
43085         * doc/posix-functions/vsprintf.texi: Update.
43086         * doc/glibc-functions/obstack_printf.texi: Update.
43087         * doc/glibc-functions/obstack_vprintf.texi: Update.
43088
43089 2009-02-26  Eric Blake  <ebb9@byu.net>
43090
43091         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
43092         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
43093         compilation bug by using runtime conversion.
43094         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
43095         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
43096         * modules/ceill-tests (Files): Use nan.h.
43097         * modules/floorl-tests (Files): Likewise.
43098         * modules/frexpl-tests (Files): Likewise.
43099         * modules/isnanl-tests (Files): Likewise.
43100         * modules/ldexpl-tests (Files): Likewise.
43101         * modules/roundl-tests (Files): Likewise.
43102         * modules/truncl-tests (Files): Likewise.
43103         * tests/test-ceill.c (main): Use a working NaN.
43104         * tests/test-floorl.c (main): Likewise.
43105         * tests/test-frexpl.c (main): Likewise.
43106         * tests/test-isnan.c (test_long_double): Likewise.
43107         * tests/test-isnanl.h (main): Likewise.
43108         * tests/test-ldexpl.h (main): Likewise.
43109         * tests/test-roundl.h (main): Likewise.
43110         * tests/test-truncl.h (main): Likewise.
43111         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
43112
43113 2009-02-26  Eric Blake  <ebb9@byu.net>
43114             Bruno Haible  <bruno@clisp.org>
43115
43116         Work around a *printf bug with %ls on Solaris.
43117         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
43118         precision is specified, sprintf stops converting the wide string
43119         argument when the number of bytes that have been produced by this
43120         conversion equals or exceeds the precision.
43121         * doc/posix-functions/fprintf.texi: Update.
43122         * doc/posix-functions/printf.texi: Update.
43123         * doc/posix-functions/snprintf.texi: Update.
43124         * doc/posix-functions/sprintf.texi: Update.
43125         * doc/posix-functions/vfprintf.texi: Update.
43126         * doc/posix-functions/vprintf.texi: Update.
43127         * doc/posix-functions/vsnprintf.texi: Update.
43128         * doc/posix-functions/vsprintf.texi: Update.
43129         * doc/glibc-functions/obstack_printf.texi: Update.
43130         * doc/glibc-functions/obstack_vprintf.texi: Update.
43131
43132 2009-02-26  Eric Blake  <ebb9@byu.net>
43133
43134         stdlib: favor compiler check of random.h
43135         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
43136         to avoid an ObjC random.h installed by Swarm.
43137
43138 2009-02-26  Bruno Haible  <bruno@clisp.org>
43139
43140         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
43141         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
43142         Reported by Gary V. Vaughan <gary@gnu.org>.
43143
43144 2009-02-26  Bruno Haible  <bruno@clisp.org>
43145
43146         Fix *printf behaviour regarding the %ls directive.
43147         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
43148         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
43149         NEED_PRINTF_DIRECTIVE_LS.
43150         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
43151         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
43152         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43153         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
43154         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
43155         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
43156         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
43157         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
43158         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43159         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43160         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43161         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
43162         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
43163         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43164         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43165         * doc/posix-functions/fprintf.texi: Update.
43166         * doc/posix-functions/printf.texi: Update.
43167         * doc/posix-functions/snprintf.texi: Update.
43168         * doc/posix-functions/sprintf.texi: Update.
43169         * doc/posix-functions/vfprintf.texi: Update.
43170         * doc/posix-functions/vprintf.texi: Update.
43171         * doc/posix-functions/vsnprintf.texi: Update.
43172         * doc/posix-functions/vsprintf.texi: Update.
43173         * doc/glibc-functions/obstack_printf.texi: Update.
43174         * doc/glibc-functions/obstack_vprintf.texi: Update.
43175         Reported by Eric Blake.
43176
43177 2009-02-25  Bruno Haible  <bruno@clisp.org>
43178
43179         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
43180         with known value.
43181         Reported by Gary V. Vaughan <gary@gnu.org>.
43182
43183 2009-02-25  Bruno Haible  <bruno@clisp.org>
43184
43185         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
43186         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
43187         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
43188         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
43189         Reported by Gary V. Vaughan <gary@gnu.org>.
43190
43191 2009-02-25  Bruno Haible  <bruno@clisp.org>
43192
43193         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
43194         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
43195         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
43196         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
43197         Reported by Gary V. Vaughan <gary@gnu.org>.
43198
43199 2009-02-25  Eric Blake  <ebb9@byu.net>
43200
43201         tests: skip fseek/ftell tests if ungetc is broken
43202         * m4/ungetc.m4: New file.
43203         * modules/fseek-tests: Split test, so ungetc dependency is
43204         separate from rest of test.
43205         * modules/fseeko-tests: Likewise.
43206         * modules/ftell-tests: Likewise.
43207         * modules/ftello-tests: Likewise.
43208         * tests/test-fseek.c (main): Isolate ungetc dependency.
43209         * tests/test-fseeko.c (main): Likewise.
43210         * tests/test-ftell.c (main): Likewise.
43211         * tests/test-ftello.c (main): Likewise.
43212         * tests/test-fseek2.sh: New file.
43213         * tests/test-fseeko2.sh: Likewise.
43214         * tests/test-ftell2.sh: Likewise.
43215         * tests/test-ftello2.sh: Likewise.
43216
43217 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
43218
43219         test-getaddrinfo: fix usage of skip return code 77
43220         * tests/test-gettaddrinfo.c: Return skip code 77 only
43221         for first occurance of skip (4x77 is not 77)
43222
43223 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
43224
43225         strtod: avoid C99 decl-after-statement
43226         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
43227
43228 2009-02-24  Eric Blake  <ebb9@byu.net>
43229
43230         strtod: detect HP-UX 11.31 bug
43231         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
43232         Reported by Gary V. Vaughan.
43233
43234 2009-02-23  Bruno Haible  <bruno@clisp.org>
43235
43236         Fix invalid read past end of memory block.
43237         * lib/vasnprintf.c (DCHAR_SET): Define.
43238         (local_wcslen): Define only when needed.
43239         (local_strnlen, local_wcsnlen): New functions.
43240         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
43241         directives that involve a conversion ourselves.
43242         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
43243         wcsnlen, mbrtowc, wcrtomb.
43244         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
43245         * tests/test-vasprintf-posix.c (test_function): Likewise.
43246         * tests/test-snprintf-posix.h (test_function): Likewise.
43247         * tests/test-sprintf-posix.h (test_function): Likewise.
43248         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43249
43250 2009-02-22  Bruno Haible  <bruno@clisp.org>
43251
43252         Implement new clarified decomposition of Hangul syllables.
43253         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
43254         of type LTV, return only a pairwise decomposition.
43255         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
43256         Likewise.
43257         * tests/uninorm/test-decomposition.c (main): Updated expected result.
43258         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
43259         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
43260
43261 2009-02-22  Bruno Haible  <bruno@clisp.org>
43262
43263         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
43264         zero-length results and shrink excess allocated memory.
43265         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
43266         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
43267         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
43268         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
43269         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
43270         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
43271         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
43272         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
43273         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
43274         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
43275         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
43276         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
43277
43278 2009-02-21  Bruno Haible  <bruno@clisp.org>
43279
43280         * doc/gnulib.texi: Include safe-alloc.texi earlier.
43281         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
43282         spaces after a period. Put a space between a macro name and its
43283         argument list. Trivial rewordings.
43284         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
43285         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
43286         (main): Return 0 explicitly.
43287
43288 2009-02-21  Bruno Haible  <bruno@clisp.org>
43289
43290         Tests for module 'uninorm/filter'.
43291         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
43292         * modules/uninorm/filter-tests: New file.
43293
43294         New module 'uninorm/filter'.
43295         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
43296         uninorm_filter_flush, uninorm_filter_free): New declarations.
43297         * lib/uninorm/uninorm-filter.c: New file.
43298         * modules/uninorm/filter: New file.
43299
43300 2009-02-21  Bruno Haible  <bruno@clisp.org>
43301
43302         Tests for module 'uninorm/nfkc'.
43303         * tests/uninorm/test-nfkc.c: New file.
43304         * tests/uninorm/test-u8-nfkc.c: New file.
43305         * tests/uninorm/test-u16-nfkc.c: New file.
43306         * tests/uninorm/test-u32-nfkc.c: New file.
43307         * tests/uninorm/test-u32-nfkc-big.sh: New file.
43308         * tests/uninorm/test-u32-nfkc-big.c: New file.
43309         * modules/uninorm/nfkc-tests: New file.
43310
43311         New module 'uninorm/nfkc'.
43312         * lib/uninorm/nfkc.c: New file.
43313         * modules/uninorm/nfkc: New file.
43314
43315         Tests for module 'uninorm/nfkd'.
43316         * tests/uninorm/test-nfkd.c: New file.
43317         * tests/uninorm/test-u8-nfkd.c: New file.
43318         * tests/uninorm/test-u16-nfkd.c: New file.
43319         * tests/uninorm/test-u32-nfkd.c: New file.
43320         * tests/uninorm/test-u32-nfkd-big.sh: New file.
43321         * tests/uninorm/test-u32-nfkd-big.c: New file.
43322         * modules/uninorm/nfkd-tests: New file.
43323
43324         New module 'uninorm/nfkd'.
43325         * lib/uninorm/nfkd.c: New file.
43326         * modules/uninorm/nfkd: New file.
43327
43328         Tests for module 'uninorm/nfc'.
43329         * tests/uninorm/test-nfc.c: New file.
43330         * tests/uninorm/test-u8-nfc.c: New file.
43331         * tests/uninorm/test-u16-nfc.c: New file.
43332         * tests/uninorm/test-u32-nfc.c: New file.
43333         * tests/uninorm/test-u32-nfc-big.sh: New file.
43334         * tests/uninorm/test-u32-nfc-big.c: New file.
43335         * modules/uninorm/nfc-tests: New file.
43336
43337         New module 'uninorm/nfc'.
43338         * lib/uninorm/nfc.c: New file.
43339         * modules/uninorm/nfc: New file.
43340
43341         Tests for module 'uninorm/nfd'.
43342         * tests/uninorm/test-nfd.c: New file.
43343         * tests/uninorm/test-u8-nfd.c: New file.
43344         * tests/uninorm/test-u16-nfd.c: New file.
43345         * tests/uninorm/test-u32-nfd.c: New file.
43346         * tests/uninorm/test-u32-nfd-big.sh: New file.
43347         * tests/uninorm/test-u32-nfd-big.c: New file.
43348         * tests/uninorm/test-u32-normalize-big.h: New file.
43349         * tests/uninorm/test-u32-normalize-big.c: New file.
43350         * tests/uninorm/NormalizationTest.txt: New file, created from
43351         Unicode 5.1.0 NormalizationTest.txt.
43352         * modules/uninorm/nfd-tests: New file.
43353
43354         New module 'uninorm/nfd'.
43355         * lib/uninorm/nfd.c: New file.
43356         * modules/uninorm/nfd: New file.
43357
43358         New module 'uninorm/u32-normalize'.
43359         * lib/uninorm/u32-normalize.c: New file.
43360         * modules/uninorm/u32-normalize: New file.
43361
43362         New module 'uninorm/u16-normalize'.
43363         * lib/uninorm/u16-normalize.c: New file.
43364         * modules/uninorm/u16-normalize: New file.
43365
43366         New module 'uninorm/u8-normalize'.
43367         * lib/uninorm/u8-normalize.c: New file.
43368         * lib/uninorm/normalize-internal.h: New file.
43369         * lib/uninorm/u-normalize-internal.h: New file.
43370         * modules/uninorm/u8-normalize: New file.
43371
43372         New module 'uninorm/decompose-internal'.
43373         * lib/uninorm/decompose-internal.c: New file.
43374         * modules/uninorm/decompose-internal: New file.
43375
43376         Tests for module 'uninorm/composition'.
43377         * tests/uninorm/test-composition.c: New file.
43378         * modules/uninorm/composition-tests: New file.
43379
43380         New module 'uninorm/composition'.
43381         * lib/uninorm/composition.c: New file.
43382         * lib/uninorm/composition-table.gperf: New file, generated by
43383         gen-uni-tables.
43384         * modules/uninorm/composition: New file.
43385
43386         Tests for module 'uninorm/compat-decomposition'.
43387         * tests/uninorm/test-compat-decomposition.c: New file.
43388         * modules/uninorm/compat-decomposition-tests: New file.
43389
43390         New module 'uninorm/compat-decomposition'.
43391         * lib/uninorm/decompose-internal.h: New file.
43392         * lib/uninorm/compat-decomposition.c: New file.
43393         * modules/uninorm/compat-decomposition: New file.
43394
43395         Tests for module 'uninorm/canonical-decomposition'.
43396         * tests/uninorm/test-canonical-decomposition.c: New file.
43397         * modules/uninorm/canonical-decomposition-tests: New file.
43398
43399         New module 'uninorm/canonical-decomposition'.
43400         * lib/uninorm/canonical-decomposition.c: New file.
43401         * modules/uninorm/canonical-decomposition: New file.
43402
43403         Tests for module 'uninorm/decomposition'.
43404         * tests/uninorm/test-decomposition.c: New file.
43405         * modules/uninorm/decomposition-tests: New file.
43406
43407         New module 'uninorm/decomposition'.
43408         * lib/uninorm/decomposition.c: New file.
43409         * modules/uninorm/decomposition: New file.
43410
43411         New module 'uninorm/decomposition-table'.
43412         * lib/uninorm/decomposition-table.h: New file.
43413         * lib/uninorm/decomposition-table.c: New file.
43414         * lib/uninorm/decomposition-table1.h: New file, generated by
43415         gen-uni-tables.
43416         * lib/uninorm/decomposition-table2.h: New file, generated by
43417         gen-uni-tables.
43418         * modules/uninorm/decomposition-table: New file.
43419
43420         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
43421         (UC_DECOMP_*): New enumeration items.
43422         (get_decomposition): New function.
43423         (struct decomp_table): New type.
43424         (output_decomposition, output_decomposition_tables): New functions.
43425         (unicode_composition_exclusions): New variable.
43426         (fill_composition_exclusions, debug_output_composition_tables): New
43427         functions.
43428         (main): Accept one more argument. Invoke fill_composition_exclusions.
43429         Output decomposition and composition tables.
43430
43431         New module 'uninorm/base'.
43432         * lib/uninorm.h: New file.
43433         * lib/unictype.h: Update comment.
43434         * modules/uninorm/base: New file.
43435
43436 2009-02-21  David Lutterkort  <lutter@redhat.com>
43437
43438         Tests for module 'safe-alloc'.
43439         * tests/test-safe-alloc.c: New file.
43440         * modules/safe-alloc-tests: New file.
43441
43442         New module 'safe-alloc'.
43443         * lib/safe-alloc.h: New file.
43444         * lib/safe-alloc.c: New file.
43445         * m4/safe-alloc.m4: New file.
43446         * modules/safe-alloc: New file.
43447         * doc/safe-alloc.texi: New file.
43448         * doc/gnulib.texi: Include it.
43449         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
43450         safe-alloc.
43451
43452 2009-02-18  Bruno Haible  <bruno@clisp.org>
43453
43454         Fix link error on non-glibc systems.
43455         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
43456         variable.
43457         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43458
43459 2009-02-18  Jim Meyering  <meyering@redhat.com>
43460
43461         fts: avoid used-uninitialized error due to recent change
43462         * lib/fts.c (fts_read): Guard uses of the new member,
43463         parent->fts_n_dirs_remaining, since it's not relevant for
43464         the parent of a directory specified on the command-line.
43465
43466 2009-02-17  James Youngman  <jay@gnu.org>
43467             Bruno Haible  <bruno@clisp.org>
43468
43469         * m4/include_next.m4: Reformulate comment.
43470
43471 2009-02-16  Jim Meyering  <meyering@redhat.com>
43472
43473         fts: add #if guards so that the fts_lgpl module still builds
43474         * lib/fts.c: Guard just-added hash-table-using parts with
43475         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
43476         Reported by Simon Josefsson.
43477
43478 2009-02-15  Bruno Haible  <bruno@clisp.org>
43479
43480         * modules/array-mergesort-tests: New file.
43481         * tests/test-array-mergesort.c: New file.
43482
43483         New module 'array-mergesort'.
43484         * modules/array-mergesort: New file.
43485         * lib/array-mergesort.h: New file.
43486
43487 2009-02-15  Bruno Haible  <bruno@clisp.org>
43488
43489         Fix 2009-02-07 commit.
43490         * lib/gen-uni-tables.c (output_predicate, output_category,
43491         output_combclass, output_bidi_category, output_decimal_digit,
43492         output_digit, output_numeric, output_mirror, output_scripts,
43493         output_ident_category, output_simple_mapping): Fix format directives.
43494         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
43495
43496 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
43497
43498         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
43499         fixes are available from IBM.
43500
43501 2009-02-13  Jim Meyering  <meyering@redhat.com>
43502
43503         fts: arrange not to stat non-directories in more cases
43504         This makes GNU find (when it doesn't need to stat each file)
43505         *much* more efficient at traversing reiserfs file systems.
43506         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
43507         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
43508         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
43509         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
43510         (leaf_optimization_applies): New function.
43511         (LCO_hash, LCO_compare): New helper functions.
43512         (link_count_optimize_ok): New function.
43513         (fts_stat): Initialize new member (if dir).
43514         (fts_read): Decrement parent's fts_n_dirs_remaining count if
43515         we've just stat'ed a directory.  Skip the stat call when possible.
43516         ---
43517         Note this AFS-related exchange:
43518         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
43519         and note find's pioctl call in find/fstype.c.
43520         But that is necessary only if you want to enable the
43521         optimization for AFS, and for now, I don't.
43522
43523         fts: move a function definition "up" (no semantic change)
43524         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
43525         "up" to precede upcoming use of a related function.
43526
43527 2009-02-11  Jim Meyering  <meyering@redhat.com>
43528
43529         fts: correct internal computation of nlinks (optimization-related)
43530         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
43531         whether the current entry is a directory, so don't test it.
43532
43533 2009-02-10  Bruno Haible  <bruno@clisp.org>
43534
43535         Tests for module 'uniwbrk/ulc-wordbreaks'.
43536         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
43537         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
43538         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
43539
43540         Tests for module 'uniwbrk/u32-wordbreaks'.
43541         * modules/uniwbrk/u32-wordbreaks-tests: New file.
43542         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
43543
43544         Tests for module 'uniwbrk/u16-wordbreaks'.
43545         * modules/uniwbrk/u16-wordbreaks-tests: New file.
43546         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
43547
43548         Tests for module 'uniwbrk/u8-wordbreaks'.
43549         * modules/uniwbrk/u8-wordbreaks-tests: New file.
43550         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
43551
43552 2009-02-10  Bruno Haible  <bruno@clisp.org>
43553
43554         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
43555         property.
43556         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
43557         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
43558         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
43559
43560 2009-02-10  Simon Josefsson  <simon@josefsson.org>
43561
43562         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
43563         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
43564
43565 2009-02-10  Bruno Haible  <bruno@clisp.org>
43566
43567         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
43568         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
43569         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
43570         * lib/unilbrk/u8-possible-linebreaks.c: Update.
43571         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
43572         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
43573
43574 2009-02-09  Simon Josefsson  <simon@josefsson.org>
43575
43576         * lib/sockets.h (gl_fd_to_handle): New function.
43577
43578         * tests/test-sockets.c: Call gl_fd_to_handle.
43579
43580 2009-02-09  Bruno Haible  <bruno@clisp.org>
43581
43582         * doc/havelib.texi: Document the conventions on bi-arch systems.
43583
43584 2009-02-08  Bruno Haible  <bruno@clisp.org>
43585
43586         Document the AC_LIB_LINKFLAGS macro.
43587         * doc/havelib.texi: New file, mostly written on 2005-05-24.
43588         * doc/gnulib.texi: Include it.
43589
43590 2009-02-08  Bruno Haible  <bruno@clisp.org>
43591
43592         Fix wrong order of sections, compared to TOC.
43593         * doc/gnulib.texi: Include relocatable-maint.texi after the
43594         "Regular expressions" node, not before.
43595
43596 2009-02-08  Bruno Haible  <bruno@clisp.org>
43597
43598         Tests for module 'unicase/totitle'.
43599         * modules/unicase/totitle-tests: New file.
43600
43601         Tests for module 'unicase/tolower'.
43602         * modules/unicase/tolower-tests: New file.
43603
43604         Tests for module 'unicase/toupper'.
43605         * modules/unicase/toupper-tests: New file.
43606         * tests/unicase/test-mapping-part1.h: New file.
43607         * tests/unicase/test-mapping-part2.h: New file.
43608
43609         New module 'unicase/totitle'.
43610         * modules/unicase/totitle: New file.
43611         * lib/unicase/totitle.c: New file.
43612
43613         New module 'unicase/tolower'.
43614         * modules/unicase/tolower: New file.
43615         * lib/unicase/tolower.c: New file.
43616
43617         New module 'unicase/toupper'.
43618         * modules/unicase/toupper: New file.
43619         * lib/unicase/toupper.c: New file.
43620         * lib/unicase/simple-mapping.h: New file.
43621
43622         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
43623         (mapping_table): New structure.
43624         (output_simple_mapping): New function.
43625         (main): Invoke output_simple_mapping_test and output_simple_mapping.
43626         * modules/gen-uni-tables (Description): Update.
43627         * lib/unicase/toupper.h: New file, automatically generated by
43628         gen-uni-tables.
43629         * lib/unicase/tolower.h: New file, automatically generated by
43630         gen-uni-tables.
43631         * lib/unicase/totitle.h: New file, automatically generated by
43632         gen-uni-tables.
43633         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
43634         gen-uni-tables.
43635         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
43636         gen-uni-tables.
43637         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
43638         gen-uni-tables.
43639
43640         New module 'unicase/base'.
43641         * modules/unicase/base: New file.
43642         * lib/unicase.h: New file.
43643
43644 2009-02-08  Bruno Haible  <bruno@clisp.org>
43645
43646         New module 'uniwbrk/ulc-wordbreaks'.
43647         * modules/uniwbrk/ulc-wordbreaks: New file.
43648         * lib/uniwbrk/ulc-wordbreaks.c: New file.
43649
43650         New module 'uniwbrk/u32-wordbreaks'.
43651         * modules/uniwbrk/u32-wordbreaks: New file.
43652         * lib/uniwbrk/u32-wordbreaks.c: New file.
43653
43654         New module 'uniwbrk/u16-wordbreaks'.
43655         * modules/uniwbrk/u16-wordbreaks: New file.
43656         * lib/uniwbrk/u16-wordbreaks.c: New file.
43657
43658         New module 'uniwbrk/u8-wordbreaks'.
43659         * modules/uniwbrk/u8-wordbreaks: New file.
43660         * lib/uniwbrk/u8-wordbreaks.c: New file.
43661         * lib/uniwbrk/u-wordbreaks.h: New file.
43662
43663         New module 'uniwbrk/table'.
43664         * modules/uniwbrk/table: New file.
43665         * lib/uniwbrk/wbrktable.h: New file.
43666         * lib/uniwbrk/wbrktable.c: New file.
43667
43668         New module 'uniwbrk/wordbreak-property'.
43669         * modules/uniwbrk/wordbreak-property: New file.
43670         * lib/uniwbrk/wordbreak-property.c: New file.
43671
43672         * lib/gen-uni-tables.c (WBP_*): New enum items.
43673         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
43674         (unicode_org_wbp): New variable.
43675         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
43676         New functions.
43677         (wbp_table): New structure.
43678         (output_wbp, output_wbrk_tables): New functions.
43679         (main): Accept additional argument. Invoke fill_org_wbp,
43680         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
43681         output_wbrk_tables.
43682         * modules/gen-uni-tables (Description): Update.
43683         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
43684         gen-uni-tables.
43685
43686         New module 'uniwbrk/base'.
43687         * modules/uniwbrk/base: New file.
43688         * lib/uniwbrk.h: New file.
43689
43690 2009-02-08  Bruno Haible  <bruno@clisp.org>
43691
43692         Update to Unicode 5.1.0.
43693         * lib/gen-uni-tables.c (is_property_alphabetic): Include
43694         U+2185..U+2188.
43695         (is_property_default_ignorable_code_point): Don't include characters
43696         of category Cc or Cs and not-a-characters.
43697         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
43698         U+0D79, U+109E, U+109F, U+A60C.
43699         * lib/unictype/bidi_of.h: Regenerated.
43700         * lib/unictype/blocks.h: Regenerated.
43701         * lib/unictype/categ_C.h: Regenerated.
43702         * lib/unictype/categ_Cf.h: Regenerated.
43703         * lib/unictype/categ_Cn.h: Regenerated.
43704         * lib/unictype/categ_L.h: Regenerated.
43705         * lib/unictype/categ_Ll.h: Regenerated.
43706         * lib/unictype/categ_Lm.h: Regenerated.
43707         * lib/unictype/categ_Lo.h: Regenerated.
43708         * lib/unictype/categ_Lu.h: Regenerated.
43709         * lib/unictype/categ_M.h: Regenerated.
43710         * lib/unictype/categ_Mc.h: Regenerated.
43711         * lib/unictype/categ_Me.h: Regenerated.
43712         * lib/unictype/categ_Mn.h: Regenerated.
43713         * lib/unictype/categ_N.h: Regenerated.
43714         * lib/unictype/categ_Nd.h: Regenerated.
43715         * lib/unictype/categ_Nl.h: Regenerated.
43716         * lib/unictype/categ_No.h: Regenerated.
43717         * lib/unictype/categ_P.h: Regenerated.
43718         * lib/unictype/categ_Pd.h: Regenerated.
43719         * lib/unictype/categ_Pe.h: Regenerated.
43720         * lib/unictype/categ_Pf.h: Regenerated.
43721         * lib/unictype/categ_Pi.h: Regenerated.
43722         * lib/unictype/categ_Po.h: Regenerated.
43723         * lib/unictype/categ_Ps.h: Regenerated.
43724         * lib/unictype/categ_S.h: Regenerated.
43725         * lib/unictype/categ_Sk.h: Regenerated.
43726         * lib/unictype/categ_Sm.h: Regenerated.
43727         * lib/unictype/categ_So.h: Regenerated.
43728         * lib/unictype/categ_of.h: Regenerated.
43729         * lib/unictype/combining.h: Regenerated.
43730         * lib/unictype/ctype_alnum.h: Regenerated.
43731         * lib/unictype/ctype_alpha.h: Regenerated.
43732         * lib/unictype/ctype_graph.h: Regenerated.
43733         * lib/unictype/ctype_lower.h: Regenerated.
43734         * lib/unictype/ctype_print.h: Regenerated.
43735         * lib/unictype/ctype_punct.h: Regenerated.
43736         * lib/unictype/ctype_upper.h: Regenerated.
43737         * lib/unictype/decdigit.h: Regenerated.
43738         * lib/unictype/digit.h: Regenerated.
43739         * lib/unictype/mirror.h: Regenerated.
43740         * lib/unictype/numeric.h: Regenerated.
43741         * lib/unictype/pr_alphabetic.h: Regenerated.
43742         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
43743         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
43744         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
43745         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
43746         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
43747         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
43748         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
43749         * lib/unictype/pr_combining.h: Regenerated.
43750         * lib/unictype/pr_dash.h: Regenerated.
43751         * lib/unictype/pr_decimal_digit.h: Regenerated.
43752         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
43753         * lib/unictype/pr_deprecated.h: Regenerated.
43754         * lib/unictype/pr_diacritic.h: Regenerated.
43755         * lib/unictype/pr_extender.h: Regenerated.
43756         * lib/unictype/pr_format_control.h: Regenerated.
43757         * lib/unictype/pr_grapheme_base.h: Regenerated.
43758         * lib/unictype/pr_grapheme_extend.h: Regenerated.
43759         * lib/unictype/pr_grapheme_link.h: Regenerated.
43760         * lib/unictype/pr_id_continue.h: Regenerated.
43761         * lib/unictype/pr_id_start.h: Regenerated.
43762         * lib/unictype/pr_ideographic.h: Regenerated.
43763         * lib/unictype/pr_ignorable_control.h: Regenerated.
43764         * lib/unictype/pr_lowercase.h: Regenerated.
43765         * lib/unictype/pr_math.h: Regenerated.
43766         * lib/unictype/pr_numeric.h: Regenerated.
43767         * lib/unictype/pr_other_alphabetic.h: Regenerated.
43768         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
43769         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
43770         * lib/unictype/pr_other_id_continue.h: Regenerated.
43771         * lib/unictype/pr_other_lowercase.h: Regenerated.
43772         * lib/unictype/pr_other_math.h: Regenerated.
43773         * lib/unictype/pr_punctuation.h: Regenerated.
43774         * lib/unictype/pr_sentence_terminal.h: Regenerated.
43775         * lib/unictype/pr_soft_dotted.h: Regenerated.
43776         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
43777         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
43778         * lib/unictype/pr_unified_ideograph.h: Regenerated.
43779         * lib/unictype/pr_uppercase.h: Regenerated.
43780         * lib/unictype/pr_xid_continue.h: Regenerated.
43781         * lib/unictype/pr_xid_start.h: Regenerated.
43782         * lib/unictype/pr_zero_width.h: Regenerated.
43783         * lib/unictype/scripts.h: Regenerated.
43784         * lib/unictype/scripts_byname.gperf: Regenerated.
43785         * lib/unictype/sy_java_ident.h: Regenerated.
43786         * lib/unilbrk/lbrkprop1.h: Regenerated.
43787         * lib/unilbrk/lbrkprop2.h: Regenerated.
43788         * tests/unictype/test-categ_C.c: Regenerated.
43789         * tests/unictype/test-categ_Cf.c: Regenerated.
43790         * tests/unictype/test-categ_Cn.c: Regenerated.
43791         * tests/unictype/test-categ_L.c: Regenerated.
43792         * tests/unictype/test-categ_Ll.c: Regenerated.
43793         * tests/unictype/test-categ_Lm.c: Regenerated.
43794         * tests/unictype/test-categ_Lo.c: Regenerated.
43795         * tests/unictype/test-categ_Lu.c: Regenerated.
43796         * tests/unictype/test-categ_M.c: Regenerated.
43797         * tests/unictype/test-categ_Mc.c: Regenerated.
43798         * tests/unictype/test-categ_Me.c: Regenerated.
43799         * tests/unictype/test-categ_Mn.c: Regenerated.
43800         * tests/unictype/test-categ_N.c: Regenerated.
43801         * tests/unictype/test-categ_Nd.c: Regenerated.
43802         * tests/unictype/test-categ_Nl.c: Regenerated.
43803         * tests/unictype/test-categ_No.c: Regenerated.
43804         * tests/unictype/test-categ_P.c: Regenerated.
43805         * tests/unictype/test-categ_Pd.c: Regenerated.
43806         * tests/unictype/test-categ_Pe.c: Regenerated.
43807         * tests/unictype/test-categ_Pf.c: Regenerated.
43808         * tests/unictype/test-categ_Pi.c: Regenerated.
43809         * tests/unictype/test-categ_Po.c: Regenerated.
43810         * tests/unictype/test-categ_Ps.c: Regenerated.
43811         * tests/unictype/test-categ_S.c: Regenerated.
43812         * tests/unictype/test-categ_Sk.c: Regenerated.
43813         * tests/unictype/test-categ_Sm.c: Regenerated.
43814         * tests/unictype/test-categ_So.c: Regenerated.
43815         * tests/unictype/test-ctype_alnum.c: Regenerated.
43816         * tests/unictype/test-ctype_alpha.c: Regenerated.
43817         * tests/unictype/test-ctype_graph.c: Regenerated.
43818         * tests/unictype/test-ctype_lower.c: Regenerated.
43819         * tests/unictype/test-ctype_print.c: Regenerated.
43820         * tests/unictype/test-ctype_punct.c: Regenerated.
43821         * tests/unictype/test-ctype_upper.c: Regenerated.
43822         * tests/unictype/test-decdigit.h: Regenerated.
43823         * tests/unictype/test-digit.h: Regenerated.
43824         * tests/unictype/test-numeric.h: Regenerated.
43825         * tests/unictype/test-pr_alphabetic.c: Regenerated.
43826         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
43827         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
43828         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
43829         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
43830         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
43831         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
43832         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
43833         * tests/unictype/test-pr_combining.c: Regenerated.
43834         * tests/unictype/test-pr_dash.c: Regenerated.
43835         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
43836         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
43837         * tests/unictype/test-pr_deprecated.c: Regenerated.
43838         * tests/unictype/test-pr_diacritic.c: Regenerated.
43839         * tests/unictype/test-pr_extender.c: Regenerated.
43840         * tests/unictype/test-pr_format_control.c: Regenerated.
43841         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
43842         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
43843         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
43844         * tests/unictype/test-pr_id_continue.c: Regenerated.
43845         * tests/unictype/test-pr_id_start.c: Regenerated.
43846         * tests/unictype/test-pr_ideographic.c: Regenerated.
43847         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
43848         * tests/unictype/test-pr_lowercase.c: Regenerated.
43849         * tests/unictype/test-pr_math.c: Regenerated.
43850         * tests/unictype/test-pr_numeric.c: Regenerated.
43851         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
43852         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
43853         Regenerated.
43854         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
43855         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
43856         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
43857         * tests/unictype/test-pr_other_math.c: Regenerated.
43858         * tests/unictype/test-pr_punctuation.c: Regenerated.
43859         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
43860         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
43861         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
43862         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
43863         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
43864         * tests/unictype/test-pr_uppercase.c: Regenerated.
43865         * tests/unictype/test-pr_xid_continue.c: Regenerated.
43866         * tests/unictype/test-pr_xid_start.c: Regenerated.
43867         * tests/unictype/test-pr_zero_width.c: Regenerated.
43868
43869         Update to Unicode 5.1.0.
43870         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
43871         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
43872         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
43873         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
43874         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
43875         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
43876         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
43877         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
43878         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
43879         (nonspacing_table_ind): Update.
43880         * tests/uniwidth/test-uc_width2.sh: Update expected result.
43881
43882         Update to Unicode 5.1.0.
43883         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
43884         code transform.
43885         * lib/uniname/uniname.c (unicode_character_name,
43886         unicode_name_character): Add the range 0x1Fxxx to the code transform.
43887         * lib/uniname/uninames.h: Regenerated.
43888         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
43889
43890 2009-02-07  Bruno Haible  <bruno@clisp.org>
43891
43892         Merge gen-ctype and gen-lbrk into a single program.
43893         * lib/gen-uni-tables.c: New file, incorporating
43894         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
43895         Add directory prefixes to the names of the generated files.
43896         * lib/unictype/gen-ctype.c: Remove file.
43897         * lib/unilbrk/gen-lbrk.c: Remove file.
43898         * modules/gen-uni-tables: New file.
43899         * modules/unictype/gen-ctype: Remove file.
43900         * modules/unilbrk/gen-lbrk: Remove file.
43901
43902 2009-02-07  Bruno Haible  <bruno@clisp.org>
43903
43904         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
43905
43906         New module 'unistr/u32-strcoll'.
43907         * modules/unistr/u32-strcoll: New file.
43908         * lib/unistr/u32-strcoll.c: New file.
43909
43910         New module 'unistr/u16-strcoll'.
43911         * modules/unistr/u16-strcoll: New file.
43912         * lib/unistr/u16-strcoll.c: New file.
43913
43914         New module 'unistr/u8-strcoll'.
43915         * modules/unistr/u8-strcoll: New file.
43916         * lib/unistr/u8-strcoll.c: New file.
43917         * lib/unistr/u-strcoll.h: New file.
43918
43919 2009-02-07  Bruno Haible  <bruno@clisp.org>
43920
43921         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
43922         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
43923         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
43924         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
43925         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
43926         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
43927
43928 2009-02-07  Bruno Haible  <bruno@clisp.org>
43929
43930         Make 64-bit clean.
43931         * lib/unictype/gen-ctype.c (output_predicate, output_category,
43932         output_combclass, output_bidi_category, output_decimal_digit,
43933         output_digit, output_numeric, output_mirror, output_scripts,
43934         output_ident_category): Use proper width specifier in format strings.
43935
43936 2009-02-07  Bruno Haible  <bruno@clisp.org>
43937
43938         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
43939         failure behaviour.
43940
43941 2009-02-07  Jim Meyering  <meyering@redhat.com>
43942
43943         regex: avoid compilation failure with upcoming gcc-4.4
43944         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
43945         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
43946         "... error: integer overflow in preprocessor expression".
43947
43948 2009-02-05  Ben Pfaff  <blp@gnu.org>
43949
43950         Fix link errors on Windows when close module is used.
43951         * modules/close: Add $(LIB_CLOSE) to Link section.
43952         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
43953         $(LIB_CLOSE) on Windows.
43954
43955 2009-02-05  Jim Meyering  <meyering@redhat.com>
43956
43957         still avoid unused-parameter warnings, but do it cleanly
43958         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
43959         (get_fs_usage): Cast to void instead.
43960         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
43961         (dev_from_mount_options, read_file_system_list): Cast to void.
43962         Prompted by Bruno Haible.
43963
43964 2009-02-04  Jim Meyering  <meyering@redhat.com>
43965
43966         fsusage.c: correct copyright year
43967         * lib/fsusage.c: Reflect year in which the change is pushed into
43968
43969         avoid misc. warnings
43970         * lib/fsusage.c (UNUSED_PARAM): Define.
43971         (get_fs_usage): Mark parameter "disk" as unused.
43972         * lib/getugroups.c (getgrent): Use "void" in prototype.
43973         * lib/mountlist.c: Mark unused parameters.
43974         (read_file_system_list): Declare a local with "const".
43975         * lib/nanosleep.c (getnow): Declare static.
43976         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
43977
43978         dirfd: set errno upon failure
43979         * lib/dirfd.c: Include <errno.h>.
43980         Set errno to ENOTSUP when returning -1.
43981         * modules/dirfd (Depends-on): Add errno.
43982         Suggested by John Kodis <kodis@comcast.net>.
43983
43984 2009-02-01  Bruno Haible  <bruno@clisp.org>
43985
43986         Don't assume sizeof (long) >= sizeof (void *).
43987         * lib/memcmp.c: Include stdint.h.
43988         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
43989         srcp2 to 'const byte *'.
43990         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
43991         types to uintptr_t.
43992         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
43993         * modules/memcmp (Depends-on): Add stdint.
43994         Reported by Ozkan Sezer <sezeroz@gmail.com>.
43995
43996 2009-01-30  Eric Blake  <ebb9@byu.net>
43997
43998         fix more require-before-expand issues
43999         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
44000         expand, AC_PROG_AWK.
44001         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
44002
44003 2009-01-28  Eric Blake  <ebb9@byu.net>
44004
44005         version-etc: use consistent URL formatting
44006         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
44007         Improve formatting.  Use fputs for string without %.
44008
44009 2009-01-28  Jim Meyering  <meyering@redhat.com>
44010
44011         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
44012         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
44013         "underquoted definition of NAME" from autoconf-2.59.
44014
44015 2009-01-28  Bruno Haible  <bruno@clisp.org>
44016
44017         * doc/gnulib.texi: Add "Obsolete modules" to index.
44018
44019 2009-01-28  Jim Meyering  <meyering@redhat.com>
44020
44021         useless-if-before-free: recognize more variants
44022         * build-aux/useless-if-before-free: Also recognize e.g.,
44023         if (NULL != p) free (p);
44024
44025 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
44026
44027         test-getaddrinfo: skip (don't fail) this test when there's no network
44028         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
44029         on the presumption that it means you lack network access.
44030
44031 2009-01-26  Jim Meyering  <meyering@redhat.com>
44032
44033         fflush: avoid warnings on modern systems
44034         * lib/fflush.c (rpl_fflush): Move declarations of locals,
44035         pos and result, into scopes where they're used.
44036
44037 2009-01-26  Eric Blake  <ebb9@byu.net>
44038
44039         Silence warning reintroduced by recent extensions patch.
44040         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
44041         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
44042         autoconf.
44043
44044         Backport improved autoconf semantics of AC_DEFUN_ONCE.
44045         * m4/00gnulib.m4: New file.
44046         * gnulib-tool (func_get_filelist): Always use it.
44047         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
44048         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
44049
44050 2009-01-25  Bruno Haible  <bruno@clisp.org>
44051
44052         Make test-quotearg work on MacOS X and AIX.
44053         * tests/test-quotearg.sh: New file.
44054         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
44055         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
44056         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
44057         include <libintl.h>.
44058         (fake_locale): Remove variable.
44059         (gettext, dgettext, dcgettext): Remove functions.
44060         (main): Instead of setting a fake locale, set a real locale. Call
44061         textdomain and bindtextdomain.
44062         * modules/quotearg-tests (Files): Add the new files.
44063         (Depends-on): Add gettext, setenv, unsetenv.
44064         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
44065         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
44066         Augment TESTS_ENVIRONMENT.
44067
44068 2009-01-25  Bruno Haible  <bruno@clisp.org>
44069
44070         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
44071         fr_FR.ISO8859-1 locale on MacOS X.
44072         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
44073         ja_JP.eucJP locale on MacOS X.
44074         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
44075         zh_CN.GB18030 locale on MacOS X.
44076
44077 2009-01-25  Bruno Haible  <bruno@clisp.org>
44078
44079         Avoid link errors on MacOS X 10.3.
44080         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
44081         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
44082
44083 2009-01-25  Bruno Haible  <bruno@clisp.org>
44084
44085         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
44086         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
44087         * modules/pipe (Files): Remove m4/posix_spawn.m4.
44088         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
44089         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
44090         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
44091         posix_spawnattr_init, posix_spawnattr_setsigmask,
44092         posix_spawnattr_setflags, posix_spawnattr_destroy.
44093
44094         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
44095         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
44096         * modules/execute (Files): Remove m4/posix_spawn.m4.
44097         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
44098         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
44099         posix_spawnattr_init, posix_spawnattr_setsigmask,
44100         posix_spawnattr_setflags, posix_spawnattr_destroy.
44101
44102 2009-01-25  Bruno Haible  <bruno@clisp.org>
44103
44104         * lib/glthread/threadlib.c: Include <stdlib.h>.
44105
44106 2009-01-25  Bruno Haible  <bruno@clisp.org>
44107
44108         * lib/glthread/threadlib.c (dummy): New declaration.
44109
44110 2009-01-25  Bruno Haible  <bruno@clisp.org>
44111
44112         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
44113         multibyte characters also for the GB18030 encoding. Don't crash when
44114         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
44115
44116 2009-01-25  Bruno Haible  <bruno@clisp.org>
44117
44118         Avoid redefining 'struct random_data' on OSF/1 5.1.
44119         * lib/stdlib.in.h: Include <random.h> if it exists.
44120         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
44121         HAVE_RANDOM_H. Include <random.h> when testing whether
44122         'struct random_data' exists.
44123         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
44124
44125 2009-01-25  Bruno Haible  <bruno@clisp.org>
44126
44127         Don't install charset.alias on MacOS X >= 10.3.
44128         * lib/localcharset.c (DARWIN7): New macro.
44129         (get_charset_aliases): Hardcode the result for Darwin7.
44130         * modules/localcharset (install-exec-local): Don't install
44131         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
44132
44133 2009-01-25  Bruno Haible  <bruno@clisp.org>
44134
44135         Don't install charset.alias on mingw and Cygwin.
44136         * modules/localcharset (install-exec-local): Don't install
44137         charset.alias on mingw and Cygwin, if the file does not yet exist.
44138         The result for these platforms is hardcoded in localcharset.c.
44139
44140 2009-01-25  Bruno Haible  <bruno@clisp.org>
44141
44142         Make it possible again to use AC_GNU_SOURCE together with gnulib.
44143         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
44144         before requiring AC_USE_SYSTEM_EXTENSIONS.
44145
44146 2009-01-25  Jim Meyering  <meyering@redhat.com>
44147
44148         c-strtod: avoid warnings
44149         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
44150         "assignment discards qualifiers from pointer target type" warnings.
44151
44152 2009-01-24  Bruno Haible  <bruno@clisp.org>
44153
44154         Add support for non-UTF-8 locales on MacOS X.
44155         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
44156         canonical encodings. For Darwin 7 and newer, don't map traditional
44157         encodings to UTF-8.
44158         Reported by Vincent Lefevre <vincent@vinc17.org>
44159         at <http://savannah.gnu.org/bugs/?25235>.
44160
44161 2009-01-24  Bruno Haible  <bruno@clisp.org>
44162
44163         * doc/gnulib.texi (Obsolete modules): New section.
44164         Reported by Mike Frysinger <vapier@gentoo.org>.
44165
44166 2009-01-24  Bruno Haible  <bruno@clisp.org>
44167
44168         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
44169         (%.dvi): New rule.
44170
44171 2009-01-24  Bruno Haible  <bruno@clisp.org>
44172
44173         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
44174         Reported by Eric Blake.
44175
44176 2009-01-24  Bruno Haible  <bruno@clisp.org>
44177
44178         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
44179         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
44180         Reported by Gary V. Vaughan <gary@gnu.org>.
44181
44182 2009-01-24  Bruno Haible  <bruno@clisp.org>
44183
44184         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
44185
44186 2009-01-23  Bruno Haible  <bruno@clisp.org>
44187
44188         Make c-strtod, c-strtold usable in libraries.
44189         * lib/c-strtod.c: Include string.h instead of xalloc.h.
44190         (C_STRTOD): Call strdup instead of xstrdup.
44191         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
44192         * modules/c-strtold (Depends-on): Likewise.
44193         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
44194         * NEWS: Mention the change.
44195         Reported by Michael Gold <mgold@ncf.ca>.
44196
44197 2009-01-23  Jim Meyering  <meyering@redhat.com>
44198
44199         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
44200         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
44201         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
44202
44203 2009-01-23  Simon Josefsson  <simon@josefsson.org>
44204
44205         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
44206         GNU CoreUtils.
44207         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
44208         * modules/version-etc (Description): Update.
44209
44210 2009-01-22  Bruno Haible  <bruno@clisp.org>
44211
44212         Cache the C locale object.
44213         * lib/c-strtod.c (c_locale_cache): New variable.
44214         (c_locale): New function.
44215         (C_STRTOD): Use it, and don't call freelocale.
44216         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
44217         Suggested by Paolo Bonzini.
44218
44219 2009-01-21  Bruno Haible  <bruno@clisp.org>
44220
44221         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
44222         conditions other than overflow.
44223
44224 2009-01-21  Bruno Haible  <bruno@clisp.org>
44225
44226         * lib/c-strtod.c: Include errno.h.
44227         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
44228         value from STRTOD_L and STRTOD.
44229
44230 2009-01-21  Bruno Haible  <bruno@clisp.org>
44231         and Jim Meyering  <meyering@redhat.com>
44232
44233         nanosleep: skip configure test (fail it) for apple universal builds
44234         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
44235         universal builds, assume that nanosleep does not work.
44236         * modules/nanosleep (Depends-on): Add multiarch.
44237
44238         mktime: skip configure test (fail it) for apple universal builds
44239         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
44240         universal builds, assume that mktime does not work.
44241         * modules/mktime (Depends-on): Add multiarch.
44242
44243 2009-01-21  Eric Blake  <ebb9@byu.net>
44244
44245         multiarch: avoid expand-before-require warning
44246         * modules/multiarch (configure.ac): Require, rather than expand,
44247         gl_MULTIARCH.
44248         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
44249         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
44250         enforce that all clients require it.  Partial reversion of
44251         2008-12-29 patch.
44252
44253         error: avoid expand-before-require warning
44254         * modules/errno (configure.ac): Require, rather than expand,
44255         gl_HEADER_ERRNO_H.
44256         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
44257         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
44258         enforce that all clients require it.
44259
44260         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
44261         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
44262         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
44263         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
44264
44265 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
44266
44267         Revert:
44268         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
44269
44270         regex: do not depend on obsolete modules.
44271         * modules/regex: Remove memcmp and memmove.
44272
44273 2009-01-20  Bruno Haible  <bruno@clisp.org>
44274
44275         Make the 'link' module link on Windows NT 4.
44276         * lib/link.c (_WIN32_WINNT): Don't define.
44277         (CreateHardLinkFuncType): New type.
44278         (CreateHardLinkFunc, initialized): New variables.
44279         (initialize): New function.
44280         (link): Invoke CreateHardLink indirectly through the function pointer.
44281
44282 2009-01-20  Bruno Haible  <bruno@clisp.org>
44283
44284         Fix compilation failure on mingw.
44285         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
44286
44287 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
44288
44289         * doc/c-strtod.texi: Mention a couple of restrictions.
44290
44291 2009-01-20  Jim Meyering  <meyering@redhat.com>
44292
44293         gettimeofday: move more declarations out of functions
44294         * lib/gettimeofday.c: Move extern declarations of tzset and
44295         gmtime out of containing functions.  Prompted by Bruno Haible.
44296
44297 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
44298
44299         regex: do not depend on obsolete modules.
44300         * modules/regex: Remove memcmp and memmove.
44301
44302 2009-01-19  Bruno Haible  <bruno@clisp.org>
44303
44304         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
44305         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
44306         gl_BIGENDIAN, not AC_C_BIGENDIAN.
44307         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
44308         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
44309
44310 2009-01-19  Bruno Haible  <bruno@clisp.org>
44311
44312         * tests/test-link.c: Include <errno.h>.
44313         (main): Exit with code 77 when a hard link cannot be created due to
44314         the file system.
44315         * tests/test-link.sh: Skip test when a hard link cannot be created due
44316         to the file system.
44317         Suggested by Eric Blake.
44318
44319 2009-01-19  Martin Lambers  <marlam@marlam.de>
44320
44321         * modules/link-tests: New file.
44322         * tests/test-link.sh: New file.
44323         * tests/test-link.c: New file.
44324
44325 2009-01-19  Eric Blake  <ebb9@byu.net>
44326
44327         doc: mention another function added in cygwin 1.7.0
44328         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
44329         Another new function in cygwin 1.7.
44330
44331 2009-01-19  Bruno Haible  <bruno@clisp.org>
44332
44333         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
44334         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
44335         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
44336         gl_BIGENDIAN, not AC_C_BIGENDIAN.
44337         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
44338         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
44339         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
44340         * m4/md4.m4 (gl_MD4): Likewise.
44341         * m4/md5.m4 (gl_MD5): Likewise.
44342         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
44343         * m4/sha1.m4 (gl_SHA1): Likewise.
44344         * m4/sha256.m4 (gl_SHA256): Likewise.
44345         * m4/sha512.m4 (gl_SHA512): Likewise.
44346
44347 2009-01-19  Bruno Haible  <bruno@clisp.org>
44348
44349         * modules/uniname/uniname-tests (Depends-on): Add progname.
44350         * tests/uniname/test-uninames.c: Include progname.h.
44351         (main): Call set_program_name.
44352
44353         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
44354         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
44355         (main): Call set_program_name.
44356
44357         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
44358         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
44359         (main): Call set_program_name.
44360
44361         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
44362         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
44363         (main): Call set_program_name.
44364
44365         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
44366         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
44367         (main): Call set_program_name.
44368
44369         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
44370         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
44371         (main): Call set_program_name.
44372
44373         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
44374         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
44375         (main): Call set_program_name.
44376
44377         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
44378         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
44379         (main): Call set_program_name.
44380
44381         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
44382         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
44383         (main): Call set_program_name.
44384
44385 2009-01-19  Eric Blake  <ebb9@byu.net>
44386
44387         test-unistd: test previous patch
44388         * tests/test-unistd.c: Test *_FILENO macros.
44389
44390         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
44391         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44392         Guarantee a definition.
44393         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
44394         * modules/unistd-safer (Depends-on): Add dependency on unistd.
44395         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
44396         * lib/dup-safer.c (STDERR_FILENO): Likewise.
44397         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44398         Likewise.
44399         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
44400         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
44401         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44402         Likewise.
44403         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
44404         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
44405         (STDERR_FILENO): Likewise.
44406         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
44407         (STDERR_FILENO): Likewise.
44408         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
44409         (STDERR_FILENO): Likewise.
44410         Reported by Elbert Pol.
44411
44412 2009-01-19  Eric Blake  <ebb9@byu.net>
44413
44414         doc: mention more functions added in cygwin 1.7.0
44415         * doc/posix-functions/abort.texi (abort): Update wording related
44416         to cygwin.
44417         * doc/posix-functions/daylight.texi (daylight): Likewise.
44418         * doc/posix-functions/optarg.texi (optarg): Likewise.
44419         * doc/posix-functions/optarg.texi (opterr): Likewise.
44420         * doc/posix-functions/optarg.texi (optind): Likewise.
44421         * doc/posix-functions/optarg.texi (optopt): Likewise.
44422         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
44423         worked in 1.5.x, and was withdrawn in 1.7.
44424         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
44425         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
44426         cygwin versions.
44427         * doc/posix-functions/perror.texi (perror): Likewise.
44428         * doc/posix-functions/printf.texi (printf): Likewise.
44429         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
44430         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
44431         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
44432         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
44433         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
44434         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
44435         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
44436         Likewise.
44437         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
44438         Likewise.
44439         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
44440         this function.
44441         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
44442         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
44443         Likewise.
44444         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
44445         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
44446         * doc/posix-functions/confstr.texi (confstr): Likewise.
44447         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
44448         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
44449         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
44450         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
44451         * doc/posix-functions/fputws.texi (fputws): Likewise.
44452         * doc/posix-functions/fwide.texi (fwide): Likewise.
44453         * doc/posix-functions/getwc.texi (getwc): Likewise.
44454         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
44455         * doc/posix-functions/putwc.texi (putwc): Likewise.
44456         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
44457         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
44458         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
44459         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
44460         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
44461         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
44462         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
44463         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
44464         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
44465         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
44466         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
44467
44468 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
44469
44470         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
44471         * lib/ioctl.c: Include <sys/ioctl.h>.
44472
44473 2009-01-19  Simon Josefsson  <simon@josefsson.org>
44474
44475         * modules/getdate-tests (Depends-on): Add progname.
44476         * tests/test-getdate.c: Use progname module, to avoid link errors
44477         on non-glibc systems.
44478
44479 2009-01-18  Simon Josefsson  <simon@josefsson.org>
44480
44481         * modules/filenamecat-tests (Depends-on): Add progname.
44482         * modules/fstrcmp-tests (Depends-on): Likewise.
44483
44484         * tests/test-filenamecat.c: Use progname module, to avoid link
44485         errors on non-glibc systems.
44486         * tests/test-fstrcmp.c: Likewise.
44487
44488 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
44489
44490         gettimeofday: avoid warning: nested extern declaration of 'localtime'
44491         * lib/gettimeofday.c: Move extern declaration out of function.
44492
44493 2009-01-18  Bruno Haible  <bruno@clisp.org>
44494
44495         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
44496         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
44497         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
44498
44499 2009-01-18  Bruno Haible  <bruno@clisp.org>
44500
44501         * lib/strftime.c (MEMPCPY): Remove unused macro.
44502         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
44503
44504 2009-01-18  Martin Lambers  <marlam@marlam.de>
44505
44506         New module 'link'.
44507         * lib/unistd.in.h (link): New declaration.
44508         * lib/link.c: New file.
44509         * m4/link.m4: New file.
44510         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
44511         HAVE_LINK.
44512         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
44513         * modules/link: New file.
44514         * doc/posix-functions/link.texi: Mention the new module.
44515
44516 2009-01-18  Bruno Haible  <bruno@clisp.org>
44517
44518         * tests/test-avltree_list.c (main): Call set_program_name.
44519         * tests/test-avltree_oset.c (main): Likewise.
44520         * tests/test-obstack-printf.c: Include progname.h.
44521         (main): Call set_program_name.
44522         * tests/test-quotearg.c: Include progname.h.
44523         (main): Call set_program_name.
44524         * tests/test-xmemdup0.c: Include progname.h.
44525         (main): Call set_program_name.
44526
44527 2009-01-18  Bruno Haible  <bruno@clisp.org>
44528
44529         New module 'alphasort'.
44530         * lib/dirent.in.h (alphasort): New declaration.
44531         * lib/alphasort.c: New file, from glibc with modifications.
44532         * m4/alphasort.m4: New file.
44533         * modules/alphasort: New file.
44534         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
44535         HAVE_ALPHASORT.
44536         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
44537         HAVE_ALPHASORT.
44538         * doc/posix-functions/alphasort.texi: Mention the new module and the
44539         portability problems.
44540
44541 2009-01-18  Bruno Haible  <bruno@clisp.org>
44542
44543         New module 'scandir'.
44544         * lib/dirent.in.h (scandir): New declaration.
44545         * lib/scandir.c: New file, from glibc with modifications.
44546         * m4/scandir.m4: New file.
44547         * modules/scandir: New file.
44548         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
44549         HAVE_SCANDIR.
44550         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
44551         HAVE_SCANDIR.
44552         * doc/posix-functions/scandir.texi: Mention the new module and the
44553         portability problems.
44554
44555 2009-01-17  Bruno Haible  <bruno@clisp.org>
44556
44557         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
44558         Update documentation.
44559         (func_remove_suffix): Escape all dots in the suffix. Update
44560         documentation.
44561         (func_filter_filelist): Update documentation.
44562         Reported by Ralf Wildenhues.
44563
44564 2009-01-17  Bruno Haible  <bruno@clisp.org>
44565
44566         * modules/dprintf-posix-tests: New file.
44567         * tests/test-dprintf-posix.sh: New file.
44568         * tests/test-dprintf-posix.c: New file.
44569
44570         New modules 'dprintf', 'dprintf-posix'.
44571         * lib/stdio.in.h (dprintf): New declaration.
44572         * lib/dprintf.c: New file.
44573         * m4/dprintf.m4: New file.
44574         * m4/dprintf-posix.m4: New file.
44575         * modules/dprintf: New file.
44576         * modules/dprintf-posix: New file.
44577         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
44578         HAVE_DPRINTF, REPLACE_DPRINTF.
44579         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
44580         HAVE_DPRINTF, REPLACE_DPRINTF.
44581         * doc/posix-functions/dprintf.texi: Mention the new modules.
44582
44583 2009-01-17  Bruno Haible  <bruno@clisp.org>
44584
44585         * modules/vdprintf-posix-tests: New file.
44586         * tests/test-vdprintf-posix.sh: New file.
44587         * tests/test-vdprintf-posix.c: New file.
44588
44589         New modules 'vdprintf', 'vdprintf-posix'.
44590         * lib/stdio.in.h (vdprintf): New declaration.
44591         * lib/vdprintf.c: New file.
44592         * m4/vdprintf.m4: New file.
44593         * m4/vdprintf-posix.m4: New file.
44594         * modules/vdprintf: New file.
44595         * modules/vdprintf-posix: New file.
44596         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
44597         HAVE_VDPRINTF, REPLACE_VDPRINTF.
44598         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
44599         HAVE_VDPRINTF, REPLACE_VDPRINTF.
44600         * doc/posix-functions/vdprintf.texi: Mention the new modules.
44601
44602 2009-01-17  Bruno Haible  <bruno@clisp.org>
44603
44604         Fix replacement of fopen on mingw.
44605         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
44606         mingw.
44607
44608 2009-01-17  Bruno Haible  <bruno@clisp.org>
44609
44610         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
44611         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
44612
44613 2009-01-17  Bruno Haible  <bruno@clisp.org>
44614
44615         Avoid test-fflush2.sh failure on mingw.
44616         * tests/test-fflush2.c: Include binary-io.h.
44617         (main): Put standard input into binary mode.
44618         * modules/fflush-tests (Depends-on): Add binary-io.
44619
44620 2009-01-17  Bruno Haible  <bruno@clisp.org>
44621
44622         * lib/wchar.in.h: In another particular situation, include only the
44623         system's <wchar.h> file.
44624         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
44625         Reported by Albert Chin-A-Young <china@thewrittenword.com>
44626         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
44627
44628 2009-01-17  Bruno Haible  <bruno@clisp.org>
44629
44630         Support for stripping executables in --enable-relocatable.
44631         * build-aux/install-reloc: Expect one more argument, or an environment
44632         variable RELOC_STRIP_PROG. If set, strip the destination program and
44633         its wrapper.
44634         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
44635         RELOC_STRIP_PROG.
44636         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
44637         to set RELOCATABLE_STRIP.
44638         * NEWS: Mention the new Makefile requirement.
44639
44640 2009-01-17  Bruno Haible  <bruno@clisp.org>
44641
44642         * build-aux/install-reloc: Remove debugging information left over by
44643         C compiler on MacOS X.
44644
44645 2009-01-17  Bruno Haible  <bruno@clisp.org>
44646
44647         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
44648         * lib/progreloc.c (find_executable): Fix type of pointer passed to
44649         _NSGetExecutablePath.
44650
44651 2009-01-16  Jim Meyering  <meyering@redhat.com>
44652
44653         strerror: avoid warnings about discarding "const"
44654         * lib/strerror.c (rpl_strerror): Instead of returning a const
44655         string from each and every "case", use a variable, and add a single
44656         cast after the switch.
44657
44658 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
44659
44660         * lib/arpa_inet.in.h: Add extern "C" block for C++.
44661
44662 2009-01-16  Bruno Haible  <bruno@clisp.org>
44663
44664         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
44665         array initializer syntax that also works in C++ mode.
44666         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44667
44668 2009-01-16  Jim Meyering  <meyering@redhat.com>
44669
44670         poll: suppress a warning
44671         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
44672         to ignore "...unsigned expression < 0 is always false" warnings.
44673
44674 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
44675
44676         poll: remove declarations of unused variables
44677         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
44678         sockbuf and optlen.
44679
44680 2009-01-15  Bruno Haible  <bruno@clisp.org>
44681
44682         Make fflush-after-ungetc POSIX compliant on BSD systems.
44683         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
44684         (clear_ungetc_buffer): Implement also for other systems.
44685         (rpl_fflush): On glibc systems, invoke
44686         clear_ungetc_buffer_preserving_position. Otherwise, invoke
44687         clear_ungetc_buffer after fetching the stream's position, not before.
44688
44689 2009-01-15  Bruno Haible  <bruno@clisp.org>
44690
44691         Make fflush-after-ungetc POSIX compliant on glibc systems.
44692         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
44693         after ungetc.
44694         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
44695         (rpl_fflush): On glibc systems, simply call the system's fflush
44696         function after clearing the ungetc buffer.
44697         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
44698         Instead, lseek only to the end of file, then use the system's fseeko
44699         for the rest. On glibc systems, reset the EOF indicator bit.
44700
44701 2009-01-15  Jim Meyering  <meyering@redhat.com>
44702
44703         openmp.m4: revert quote-adding change, for portability to older autoconf
44704         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
44705         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
44706         Simon Josefsson noticed the problem when using autoconf-2.61.
44707
44708 2009-01-15  Bruno Haible  <bruno@clisp.org>
44709
44710         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
44711         * tests/test-fflush2.c (ASSERT): Always fail.
44712         (main): Add two tests for fflush() after ungetc(), taking into account
44713         the Austin Group's clarification.
44714         Suggested by Eric Blake.
44715
44716 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
44717
44718         mktime.m4: remove K&R-style function prototypes
44719         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
44720         for the Sun C++ compiler.
44721
44722 2009-01-14  Bruno Haible  <bruno@clisp.org>
44723
44724         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
44725         while including <wchar.h>.
44726         * lib/wchar.in.h: In two particular situations on HP-UX, include only
44727         the system's <wchar.h> file.
44728         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44729
44730 2009-01-14  Bruno Haible  <bruno@clisp.org>
44731
44732         * m4/csharp.m4: Don't mention gettext on the serial number line.
44733         * m4/csharpexec.m4: Likewise.
44734         * m4/eaccess.m4: Likewise.
44735         * m4/javaexec.m4: Likewise.
44736         * m4/sig_atomic_t.m4: Likewise.
44737         * m4/tmpdir.m4: Likewise.
44738         * m4/intldir.m4: Bump gettext version.
44739         * m4/lib-ld.m4: Likewise.
44740
44741 2009-01-14  Bruno Haible  <bruno@clisp.org>
44742
44743         * lib/progname.c (set_program_name): Add more comments.
44744         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44745
44746 2009-01-14  Simon Josefsson  <simon@josefsson.org>
44747
44748         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
44749         were sys/stat.h does not define it.
44750
44751 2009-01-14  Jim Meyering  <meyering@redhat.com>
44752
44753         many *.m4 files: improve m4 quoting
44754         99% of this change was performed by running the following commands:
44755         git ls-files | grep '\.m4$' | xargs perl -pi \
44756           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
44757           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
44758           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
44759           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
44760         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
44761         The remainder were to add Copyright dates, increment serial numbers,
44762         undo some changes in comments, exclude m4/intl.m4, and add quotes
44763         around the "1" in ",1" where the unusual spacing prohibited the
44764         above regexps from doing the job.  For more details, see
44765         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
44766         * m4/acl.m4: Modified.
44767         * m4/afs.m4: Likewise.
44768         * m4/alloca.m4: Likewise.
44769         * m4/argp.m4: Likewise.
44770         * m4/argz.m4: Likewise.
44771         * m4/atexit.m4: Likewise.
44772         * m4/bison-i18n.m4: Likewise.
44773         * m4/bison.m4: Likewise.
44774         * m4/byteswap.m4: Likewise.
44775         * m4/c-stack.m4: Likewise.
44776         * m4/c-strtod.m4: Likewise.
44777         * m4/calloc.m4: Likewise.
44778         * m4/canonicalize-lgpl.m4: Likewise.
44779         * m4/chown.m4: Likewise.
44780         * m4/clock_time.m4: Likewise.
44781         * m4/codeset.m4: Likewise.
44782         * m4/copy-file.m4: Likewise.
44783         * m4/csharp.m4: Likewise.
44784         * m4/csharpcomp.m4: Likewise.
44785         * m4/csharpexec.m4: Likewise.
44786         * m4/d-ino.m4: Likewise.
44787         * m4/d-type.m4: Likewise.
44788         * m4/dirfd.m4: Likewise.
44789         * m4/double-slash-root.m4: Likewise.
44790         * m4/eaccess.m4: Likewise.
44791         * m4/eealloc.m4: Likewise.
44792         * m4/environ.m4: Likewise.
44793         * m4/errno_h.m4: Likewise.
44794         * m4/euidaccess.m4: Likewise.
44795         * m4/execute.m4: Likewise.
44796         * m4/fatal-signal.m4: Likewise.
44797         * m4/fchdir.m4: Likewise.
44798         * m4/fcntl_h.m4: Likewise.
44799         * m4/fileblocks.m4: Likewise.
44800         * m4/filenamecat.m4: Likewise.
44801         * m4/findprog.m4: Likewise.
44802         * m4/flexmember.m4: Likewise.
44803         * m4/fnmatch.m4: Likewise.
44804         * m4/fopen.m4: Likewise.
44805         * m4/fpending.m4: Likewise.
44806         * m4/fprintf-posix.m4: Likewise.
44807         * m4/free.m4: Likewise.
44808         * m4/frexp.m4: Likewise.
44809         * m4/frexpl.m4: Likewise.
44810         * m4/fsusage.m4: Likewise.
44811         * m4/ftruncate.m4: Likewise.
44812         * m4/gc-camellia.m4: Likewise.
44813         * m4/gc-random.m4: Likewise.
44814         * m4/gc.m4: Likewise.
44815         * m4/getaddrinfo.m4: Likewise.
44816         * m4/getcwd-abort-bug.m4: Likewise.
44817         * m4/getcwd-path-max.m4: Likewise.
44818         * m4/getdate.m4: Likewise.
44819         * m4/getdomainname.m4: Likewise.
44820         * m4/getgroups.m4: Likewise.
44821         * m4/gethostname.m4: Likewise.
44822         * m4/gethrxtime.m4: Likewise.
44823         * m4/getline.m4: Likewise.
44824         * m4/getloadavg.m4: Likewise.
44825         * m4/getndelim2.m4: Likewise.
44826         * m4/getpass.m4: Likewise.
44827         * m4/gettext.m4: Likewise.
44828         * m4/gettime.m4: Likewise.
44829         * m4/gettimeofday.m4: Likewise.
44830         * m4/gnulib-common.m4: Likewise.
44831         * m4/group-member.m4: Likewise.
44832         * m4/host-os.m4: Likewise.
44833         * m4/iconv.m4: Likewise.
44834         * m4/iconv_open.m4: Likewise.
44835         * m4/inet_ntop.m4: Likewise.
44836         * m4/inet_pton.m4: Likewise.
44837         * m4/inline.m4: Likewise.
44838         * m4/intldir.m4: Likewise.
44839         * m4/intlmacosx.m4: Likewise.
44840         * m4/intmax.m4: Likewise.
44841         * m4/intmax_t.m4: Likewise.
44842         * m4/inttypes.m4: Likewise.
44843         * m4/inttypes_h.m4: Likewise.
44844         * m4/inttypes-pri.m4: Likewise.
44845         * m4/isapipe.m4: Likewise.
44846         * m4/isnand.m4: Likewise.
44847         * m4/isnanf.m4: Likewise.
44848         * m4/isnanl.m4: Likewise.
44849         * m4/javacomp.m4: Likewise.
44850         * m4/javaexec.m4: Likewise.
44851         * m4/jm-winsz1.m4: Likewise.
44852         * m4/jm-winsz2.m4: Likewise.
44853         * m4/lchown.m4: Likewise.
44854         * m4/lcmessage.m4: Likewise.
44855         * m4/ldexpl.m4: Likewise.
44856         * m4/lib-ld.m4: Likewise.
44857         * m4/lib-link.m4: Likewise.
44858         * m4/libsigsegv.m4: Likewise.
44859         * m4/link-follow.m4: Likewise.
44860         * m4/localcharset.m4: Likewise.
44861         * m4/locale-fr.m4: Likewise.
44862         * m4/locale-ja.m4: Likewise.
44863         * m4/locale-tr.m4: Likewise.
44864         * m4/locale-zh.m4: Likewise.
44865         * m4/lock.m4: Likewise.
44866         * m4/longlong.m4: Likewise.
44867         * m4/ls-mntd-fs.m4: Likewise.
44868         * m4/lstat.m4: Likewise.
44869         * m4/malloc.m4: Likewise.
44870         * m4/mathl.m4: Likewise.
44871         * m4/mbrtowc.m4: Likewise.
44872         * m4/mbstate_t.m4: Likewise.
44873         * m4/mbswidth.m4: Likewise.
44874         * m4/memchr.m4: Likewise.
44875         * m4/memcmp.m4: Likewise.
44876         * m4/memcpy.m4: Likewise.
44877         * m4/memmem.m4: Likewise.
44878         * m4/memmove.m4: Likewise.
44879         * m4/mempcpy.m4: Likewise.
44880         * m4/memrchr.m4: Likewise.
44881         * m4/memset.m4: Likewise.
44882         * m4/minmax.m4: Likewise.
44883         * m4/mkdir-slash.m4: Likewise.
44884         * m4/mkdtemp.m4: Likewise.
44885         * m4/mktime.m4: Likewise.
44886         * m4/mmap-anon.m4: Likewise.
44887         * m4/mountlist.m4: Likewise.
44888         * m4/nanosleep.m4: Likewise.
44889         * m4/nls.m4: Likewise.
44890         * m4/nocrash.m4: Likewise.
44891         * m4/open.m4: Likewise.
44892         * m4/openat.m4: Likewise.
44893         * m4/openmp.m4: Likewise.
44894         * m4/pathmax.m4: Likewise.
44895         * m4/perl.m4: Likewise.
44896         * m4/physmem.m4: Likewise.
44897         * m4/pipe.m4: Likewise.
44898         * m4/po.m4: Likewise.
44899         * m4/poll.m4: Likewise.
44900         * m4/posixtm.m4: Likewise.
44901         * m4/posixver.m4: Likewise.
44902         * m4/printf-frexp.m4: Likewise.
44903         * m4/printf-frexpl.m4: Likewise.
44904         * m4/printf-posix.m4: Likewise.
44905         * m4/printf-posix-rpl.m4: Likewise.
44906         * m4/printf.m4: Likewise.
44907         * m4/progtest.m4: Likewise.
44908         * m4/putenv.m4: Likewise.
44909         * m4/readline.m4: Likewise.
44910         * m4/readlink.m4: Likewise.
44911         * m4/readutmp.m4: Likewise.
44912         * m4/realloc.m4: Likewise.
44913         * m4/regex.m4: Likewise.
44914         * m4/relocatable.m4: Likewise.
44915         * m4/relocatable-lib.m4: Likewise.
44916         * m4/rename-dest-slash.m4: Likewise.
44917         * m4/rename.m4: Likewise.
44918         * m4/rmdir-errno.m4: Likewise.
44919         * m4/rmdir.m4: Likewise.
44920         * m4/roundf.m4: Likewise.
44921         * m4/roundl.m4: Likewise.
44922         * m4/rpmatch.m4: Likewise.
44923         * m4/save-cwd.m4: Likewise.
44924         * m4/selinux-selinux-h.m4: Likewise.
44925         * m4/setenv.m4: Likewise.
44926         * m4/settime.m4: Likewise.
44927         * m4/sig2str.m4: Likewise.
44928         * m4/sig_atomic_t.m4: Likewise.
44929         * m4/signalblocking.m4: Likewise.
44930         * m4/signbit.m4: Likewise.
44931         * m4/sigpipe.m4: Likewise.
44932         * m4/sockets.m4: Likewise.
44933         * m4/sockpfaf.m4: Likewise.
44934         * m4/st_dm_mode.m4: Likewise.
44935         * m4/stat-time.m4: Likewise.
44936         * m4/stdbool.m4: Likewise.
44937         * m4/stdint.m4: Likewise.
44938         * m4/stdint_h.m4: Likewise.
44939         * m4/stpcpy.m4: Likewise.
44940         * m4/stpncpy.m4: Likewise.
44941         * m4/strcase.m4: Likewise.
44942         * m4/strchrnul.m4: Likewise.
44943         * m4/strcspn.m4: Likewise.
44944         * m4/strdup.m4: Likewise.
44945         * m4/strftime.m4: Likewise.
44946         * m4/strndup.m4: Likewise.
44947         * m4/strnlen.m4: Likewise.
44948         * m4/strpbrk.m4: Likewise.
44949         * m4/strptime.m4: Likewise.
44950         * m4/strsep.m4: Likewise.
44951         * m4/strtod.m4: Likewise.
44952         * m4/strtoimax.m4: Likewise.
44953         * m4/strtok_r.m4: Likewise.
44954         * m4/strtol.m4: Likewise.
44955         * m4/strtoll.m4: Likewise.
44956         * m4/strtoul.m4: Likewise.
44957         * m4/strtoull.m4: Likewise.
44958         * m4/strtoumax.m4: Likewise.
44959         * m4/strverscmp.m4: Likewise.
44960         * m4/threadlib.m4: Likewise.
44961         * m4/timegm.m4: Likewise.
44962         * m4/tm_gmtoff.m4: Likewise.
44963         * m4/tmpdir.m4: Likewise.
44964         * m4/tmpfile.m4: Likewise.
44965         * m4/tzset.m4: Likewise.
44966         * m4/uintmax_t.m4: Likewise.
44967         * m4/unlinkdir.m4: Likewise.
44968         * m4/unlocked-io.m4: Likewise.
44969         * m4/uptime.m4: Likewise.
44970         * m4/userspec.m4: Likewise.
44971         * m4/utimbuf.m4: Likewise.
44972         * m4/utime.m4: Likewise.
44973         * m4/utimes-null.m4: Likewise.
44974         * m4/utimes.m4: Likewise.
44975         * m4/vararrays.m4: Likewise.
44976         * m4/vasnprintf.m4: Likewise.
44977         * m4/vfprintf-posix.m4: Likewise.
44978         * m4/vprintf-posix.m4: Likewise.
44979         * m4/wait-process.m4: Likewise.
44980         * m4/wchar_t.m4: Likewise.
44981         * m4/wint_t.m4: Likewise.
44982         * m4/write-any-file.m4: Likewise.
44983         * m4/yield.m4: Likewise.
44984
44985 2009-01-13  Bruno Haible  <bruno@clisp.org>
44986
44987         Avoid test-copy-file.sh failures when ACL support insufficient.
44988         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
44989         TESTS_ENVIRONMENT.
44990         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
44991         Reported by Jim Meyering.
44992
44993 2009-01-13  Bruno Haible  <bruno@clisp.org>
44994
44995         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
44996         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
44997         * modules/unistdio/u8-printf-parse (Files): Likewise.
44998         * modules/unistdio/u32-printf-parse (Files): Likewise.
44999         * modules/unistdio/ulc-printf-parse (Files): Likewise.
45000
45001 2009-01-13  Simon Josefsson  <simon@josefsson.org>
45002
45003         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
45004         and m4/inttypes_h.m4 too.
45005
45006 2009-01-12  Eric Blake  <ebb9@byu.net>
45007
45008         tests: IRIX 6.2 cc can't compile -0.0 into .data
45009         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
45010         rather than at compile-time.
45011         * tests/test-floorl.c (minus_zero): Likewise.
45012         * tests/test-frexpl.c (minus_zero): Likewise.
45013         * tests/test-isnan.c (minus_zerol): Likewise.
45014         * tests/test-isnanl.h (minus_zero): Likewise.
45015         * tests/test-ldexpl.c (minus_zero): Likewise.
45016         * tests/test-roundl.c (minus_zero): Likewise.
45017         * tests/test-signbit.c (minus_zerol): Likewise.
45018         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
45019         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
45020         * tests/test-truncl.c (minus_zero): Likewise.
45021         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
45022         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
45023         Reported by Tom G. Christensen and Nelson H. F. Beebe.
45024
45025 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
45026
45027         regex: fix glibc bug 9697
45028         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
45029         handling.
45030
45031 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
45032
45033         regex: fix glibc bug 697
45034         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
45035         being NULL also if there are no backreferences.
45036
45037 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
45038
45039         regex: merge glibc changes
45040         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
45041         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
45042         re_string_skip_chars, re_string_reconstruct): Likewise.
45043         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
45044
45045 2009-01-07  Jim Meyering  <meyering@redhat.com>
45046
45047         poll: filter through cppi
45048         * lib/poll.c: Indent cpp directives to reflect nesting.
45049
45050 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
45051
45052         poll: don't return uninitialized
45053         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
45054
45055 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
45056
45057         avoid compile failure on AIX 6.1
45058         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
45059         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
45060
45061 2009-01-04  Jim Meyering  <meyering@redhat.com>
45062
45063         remove duplicate inclusion of <stdio.h>
45064         * tests/test-fprintf-posix.c: Likewise.
45065         * tests/test-printf-posix.c: Likewise.
45066         * tests/test-snprintf-posix.c: Likewise.
45067         * tests/test-sprintf-posix.c: Likewise.
45068         * tests/test-vasprintf-posix.c: Likewise.
45069         * tests/test-vfprintf-posix.c: Likewise.
45070         * tests/test-vprintf-posix.c: Likewise.
45071         * tests/test-vsnprintf-posix.c: Likewise.
45072         * tests/test-vsprintf-posix.c: Likewise.
45073
45074 2009-01-03  Jim Meyering  <meyering@redhat.com>
45075
45076         gnulib-tool: fix sed-based filtering
45077         * gnulib-tool (func_filter_filelist): Remove extra backslash
45078         in sed_fff_filter definition.
45079
45080 2009-01-02  Jim Meyering  <meyering@redhat.com>
45081
45082         strftime: avoid compilation failure on Solaris 2.6
45083         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
45084         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
45085         Don't #define mbrlen or mbsinit, since now they're guaranteed to
45086         be available.  Reported by Tom G. Christensen.  Details in
45087         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
45088
45089 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45090             Bruno Haible  <bruno@clisp.org>
45091
45092         Speed up gnulib-tool by doing more string processing through shell
45093         built-ins.
45094         * gnulib-tool (fast_func_append): New variable.
45095         (func_remove_prefix, func_remove_suffix): New functions.
45096         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
45097         (func_filter_filelist): New function.
45098         (func_get_dependencies): Use func_remove_suffix instead of sed.
45099         (func_get_automake_snippet): Use func_filter_filelist instead of a
45100         subshell and sed invocation.
45101
45102 2009-01-01  Bruno Haible  <bruno@clisp.org>
45103
45104         Fix a security bug.
45105         * gnulib-tool (func_import, import, update): Don't allow the characters
45106         '"', '$', '`', '\' in macro arguments that become part of commands that
45107         are evaluated.
45108
45109 2009-01-01  Bruno Haible  <bruno@clisp.org>
45110
45111         * gnulib-tool (func_reset_sigpipe): Add more comments.
45112
45113 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45114
45115         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
45116         func_emit_tests_Makefile_am, func_import): Abort loops early if we
45117         already know the answer.
45118
45119 2009-01-01  Jim Meyering  <meyering@redhat.com>
45120
45121         * lib/version-etc.c (version_etc_va): Update copyright year.
45122
45123 2008-12-30  Bruno Haible  <bruno@clisp.org>
45124
45125         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
45126         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
45127         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
45128
45129 2008-12-29  Eric Blake  <ebb9@byu.net>
45130
45131         multiarch: avoid autoconf AC_REQUIRE bug
45132         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
45133         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
45134         2.63 and older.
45135         Reported by Bruno Haible, and analyzed in
45136         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
45137
45138 2008-12-29  Bruno Haible  <bruno@clisp.org>
45139
45140         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
45141         files in subdirectories correctly.
45142         Reported by Ralf Wildenhues.
45143
45144 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45145
45146         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
45147         rather than 'join FILE -', for Solaris join.
45148
45149 2008-12-29  Bruno Haible  <bruno@clisp.org>
45150
45151         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
45152         quoting.
45153         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
45154         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
45155         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
45156         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
45157         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
45158         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
45159         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
45160         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
45161         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
45162         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
45163         * m4/nls.m4 (AM_NLS): Likewise.
45164         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
45165         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
45166         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
45167         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
45168         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
45169         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
45170         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
45171         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
45172         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
45173         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
45174         * m4/xsize.m4 (gl_XSIZE): Likewise.
45175         Suggested by Jim Meyering.
45176
45177 2008-11-17  Bruce Korb  <bkorb@gnu.org>
45178
45179         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
45180         * lib/parse-duration.c: use a switch instead of cascading if's.
45181
45182 2008-12-29  Eric Blake  <ebb9@byu.net>
45183
45184         wchar.h: supply WEOF on Irix 5.3
45185         * lib/wchar.in.h (wint_t): Also supply WEOF.
45186         * lib/wctype.in.h (wint_t): Likewise.
45187         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
45188         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
45189         Reported by Tom G. Christensen.
45190
45191 2008-12-26  Bruno Haible  <bruno@clisp.org>
45192
45193         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
45194         i486, i586, i686.
45195
45196 2008-12-26  Bruno Haible  <bruno@clisp.org>
45197
45198         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
45199
45200 2008-12-26  Bruno Haible  <bruno@clisp.org>
45201
45202         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
45203         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
45204         not __STDC_CONSTANT_MACROS.
45205         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
45206
45207 2008-12-25  Bruno Haible  <bruno@clisp.org>
45208
45209         Add support for universal builds to vasnprintf.
45210         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
45211         universal builds, guess no.
45212         * modules/vasnprintf-posix (Depends-on): Add multiarch.
45213         * modules/vasprintf-posix (Depends-on): Likewise.
45214         * modules/fprintf-posix (Depends-on): Likewise.
45215         * modules/vfprintf-posix (Depends-on): Likewise.
45216         * modules/snprintf-posix (Depends-on): Likewise.
45217         * modules/vsnprintf-posix (Depends-on): Likewise.
45218         * modules/sprintf-posix (Depends-on): Likewise.
45219         * modules/vsprintf-posix (Depends-on): Likewise.
45220         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
45221         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45222         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45223         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45224         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45225         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45226         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45227
45228         Add support for universal builds to <inttypes.h>.
45229         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
45230         _SCNu64_PREFIX): In Apple
45231         universal builds, define directly, using _LP64.
45232         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
45233         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
45234         * modules/inttypes (Depends-on): Add multiarch.
45235         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
45236
45237         Add support for universal builds to <stdint.h>.
45238         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
45239         universal builds, define directly, using _LP64.
45240         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
45241         Apple universal builds, don't test for the size and suffix of ptrdiff_t
45242         and size_t.
45243         * modules/stdint (Depends-on): Add multiarch.
45244         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
45245
45246         New module 'multiarch'.
45247         * modules/multiarch: New file.
45248         * m4/multiarch.m4: New file.
45249
45250 2008-12-25  Bruno Haible  <bruno@clisp.org>
45251
45252         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
45253
45254 2008-12-25  Bruno Haible  <bruno@clisp.org>
45255
45256         * modules/btowc (License): Relicense under LGPLv2+.
45257         * modules/mbsinit (License): Likewise.
45258         * modules/mbrtowc (License): Likewise.
45259         * modules/wcrtomb (License): Likewise.
45260         * modules/streq (License): Likewise.
45261         Reported by David Lutterkort <lutter@redhat.com>.
45262
45263 2008-12-23  Bruno Haible  <bruno@clisp.org>
45264
45265         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
45266
45267 2008-12-23  Bruno Haible  <bruno@clisp.org>
45268
45269         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
45270         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
45271         GETADDRINFO_LIB, not in LIBS.
45272         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
45273         * modules/canon-host (Link): Likewise.
45274         * NEWS: Mention the change.
45275         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
45276         GETADDRINFO_LIB.
45277
45278 2008-12-22  Bruno Haible  <bruno@clisp.org>
45279
45280         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
45281         * doc/posix-functions/iswalpha_l.texi: Likewise.
45282         * doc/posix-functions/iswblank_l.texi: Likewise.
45283         * doc/posix-functions/iswcntrl_l.texi: Likewise.
45284         * doc/posix-functions/iswctype_l.texi: Likewise.
45285         * doc/posix-functions/iswdigit_l.texi: Likewise.
45286         * doc/posix-functions/iswgraph_l.texi: Likewise.
45287         * doc/posix-functions/iswlower_l.texi: Likewise.
45288         * doc/posix-functions/iswprint_l.texi: Likewise.
45289         * doc/posix-functions/iswpunct_l.texi: Likewise.
45290         * doc/posix-functions/iswspace_l.texi: Likewise.
45291         * doc/posix-functions/iswupper_l.texi: Likewise.
45292         * doc/posix-functions/iswxdigit_l.texi: Likewise.
45293         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
45294         * doc/posix-functions/open_wmemstream.texi: Likewise.
45295         * doc/posix-functions/swscanf.texi: Likewise.
45296         * doc/posix-functions/towctrans_l.texi: Likewise.
45297         * doc/posix-functions/towlower.texi: Likewise.
45298         * doc/posix-functions/towlower_l.texi: Likewise.
45299         * doc/posix-functions/towupper.texi: Likewise.
45300         * doc/posix-functions/towupper_l.texi: Likewise.
45301         * doc/posix-functions/vfwprintf.texi: Likewise.
45302         * doc/posix-functions/vfwscanf.texi: Likewise.
45303         * doc/posix-functions/vswscanf.texi: Likewise.
45304         * doc/posix-functions/vwprintf.texi: Likewise.
45305         * doc/posix-functions/vwscanf.texi: Likewise.
45306         * doc/posix-functions/wcpcpy.texi: Likewise.
45307         * doc/posix-functions/wcpncpy.texi: Likewise.
45308         * doc/posix-functions/wcscasecmp.texi: Likewise.
45309         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
45310         * doc/posix-functions/wcscoll_l.texi: Likewise.
45311         * doc/posix-functions/wcsdup.texi: Likewise.
45312         * doc/posix-functions/wcsncasecmp.texi: Likewise.
45313         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
45314         * doc/posix-functions/wcsnlen.texi: Likewise.
45315         * doc/posix-functions/wcsnrtombs.texi: Likewise.
45316         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
45317         * doc/posix-functions/wctrans_l.texi: Likewise.
45318         * doc/posix-functions/wctype_l.texi: Likewise.
45319         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
45320         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
45321         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
45322         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
45323         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
45324         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
45325         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
45326         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
45327         * doc/glibc-functions/wcschrnul.texi: Likewise.
45328         * doc/glibc-functions/wcsftime_l.texi: Likewise.
45329         * doc/glibc-functions/wcstod_l.texi: Likewise.
45330         * doc/glibc-functions/wcstof_l.texi: Likewise.
45331         * doc/glibc-functions/wcstol_l.texi: Likewise.
45332         * doc/glibc-functions/wcstold_l.texi: Likewise.
45333         * doc/glibc-functions/wcstoll_l.texi: Likewise.
45334         * doc/glibc-functions/wcstoq.texi: Likewise.
45335         * doc/glibc-functions/wcstoul_l.texi: Likewise.
45336         * doc/glibc-functions/wcstoull_l.texi: Likewise.
45337         * doc/glibc-functions/wcstouq.texi: Likewise.
45338         * doc/glibc-functions/wmempcpy.texi: Likewise.
45339
45340 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
45341             Eric Blake  <ebb9@byu.net>
45342             Paolo Bonzini  <bonzini@gnu.org>
45343             Bruno Haible  <bruno@clisp.org>
45344
45345         Make c-stack work on Haiku.
45346         * lib/c-stack.c (SA_ONSTACK): Define fallback.
45347         (c_stack_action): Use SA_ONSTACK flag.
45348
45349 2008-12-22  Bruno Haible  <bruno@clisp.org>
45350
45351         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
45352
45353 2008-12-22  Bruno Haible  <bruno@clisp.org>
45354
45355         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
45356         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
45357         being overridden.
45358         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
45359         New macros.
45360         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
45361         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
45362         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
45363         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
45364
45365 2008-12-22  Bruno Haible  <bruno@clisp.org>
45366
45367         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
45368         from test code.
45369
45370 2008-12-22  Eric Blake  <ebb9@byu.net>
45371
45372         Avoid gcc warnings on cygwin.
45373         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
45374         Avoid unused variable.
45375         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
45376         Likewise.
45377
45378 2008-12-22  Bruno Haible  <bruno@clisp.org>
45379
45380         Remove HAVE_MBRTOWC conditionals.
45381         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
45382         (mbscasecmp): Assume mbrtowc function.
45383         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
45384         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
45385         * lib/mbschr.c: Include mbuiter.h unconditionally.
45386         (mbschr): Assume mbrtowc function.
45387         * lib/mbscspn.c: Include mbuiter.h unconditionally.
45388         (mbscspn): Assume mbrtowc function.
45389         * lib/mbslen.c: Include mbuiter.h unconditionally.
45390         (mbslen): Assume mbrtowc function.
45391         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
45392         (mbsncasecmp): Assume mbrtowc function.
45393         * lib/mbsnlen.c: Include mbiter.h unconditionally.
45394         (mbsnlen): Assume mbrtowc function.
45395         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
45396         (mbspbrk): Assume mbrtowc function.
45397         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
45398         (mbspcasecmp): Assume mbrtowc function.
45399         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
45400         (mbsrchr): Assume mbrtowc function.
45401         * lib/mbssep.c: Include mbuiter.h unconditionally.
45402         (mbssep): Assume mbrtowc function.
45403         * lib/mbsspn.c: Include mbuiter.h unconditionally.
45404         (mbsspn): Assume mbrtowc function.
45405         * lib/mbsstr.c: Include mbuiter.h unconditionally.
45406         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
45407         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
45408         (mbstok_r): Assume mbrtowc function.
45409         * lib/propername.c: Include mbuiter.h unconditionally.
45410         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
45411         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
45412         (trim2): Assume mbrtowc function.
45413         * lib/mbswidth.c (mbsinit): Remove fallback definition.
45414         (mbsnwidth): Assume mbrtowc function.
45415         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
45416         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
45417         fallback definitions.
45418         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
45419
45420 2008-12-22  Bruno Haible  <bruno@clisp.org>
45421
45422         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
45423
45424 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
45425
45426         * modules/regex: Request emulations for the mb*/wc* functions we need.
45427         * m4/regex.m4: Don't look for those functions here.
45428         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
45429
45430 2008-12-22  Bruno Haible  <bruno@clisp.org>
45431
45432         * modules/fnmatch (Depends-on): Remove duplicated dependency.
45433
45434 2008-12-21  Bruno Haible  <bruno@clisp.org>
45435
45436         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
45437         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
45438         (Include): Remove conditionalization.
45439         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
45440         (Include): Remove conditionalization.
45441         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
45442         (Include): Remove conditionalization.
45443         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
45444         * m4/mbfile.m4 (gl_MBFILE): Likewise.
45445         * NEWS: Mention the change.
45446         Reported by Alan Hourihane <alanh@fairlite.co.uk>
45447         via Sergey Poznyakoff <gray@gnu.org.ua>.
45448
45449 2008-12-21  Bruno Haible  <bruno@clisp.org>
45450
45451         * MODULES.html.sh (Extended multibyte and wide character utilities
45452         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
45453         wcrtomb, wcsrtombs.
45454         (Support for systems lacking POSIX:2008): Add accept, bind, close,
45455         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
45456         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
45457         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
45458
45459 2008-12-21  Bruno Haible  <bruno@clisp.org>
45460
45461         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
45462
45463 2008-12-21  Bruno Haible  <bruno@clisp.org>
45464
45465         * modules/wcsnrtombs-tests: New file.
45466         * tests/test-wcsnrtombs1.sh: New file.
45467         * tests/test-wcsnrtombs2.sh: New file.
45468         * tests/test-wcsnrtombs3.sh: New file.
45469         * tests/test-wcsnrtombs4.sh: New file.
45470         * tests/test-wcsnrtombs.c: New file.
45471
45472         New module 'wcsnrtombs'.
45473         * lib/wchar.in.h (wcsnrtombs): New declaration.
45474         * lib/wcsnrtombs.c: New file.
45475         * lib/wcsrtombs-state.c: New file.
45476         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
45477         (internal_state): Remove variable.
45478         * m4/wcsnrtombs.m4: New file.
45479         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
45480         compilation units.
45481         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
45482         HAVE_WCSNRTOMBS.
45483         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
45484         HAVE_WCSNRTOMBS.
45485         * modules/wcsnrtombs: New file.
45486         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
45487         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
45488
45489 2008-12-21  Bruno Haible  <bruno@clisp.org>
45490
45491         * modules/wcsrtombs-tests: New file.
45492         * tests/test-wcsrtombs1.sh: New file.
45493         * tests/test-wcsrtombs2.sh: New file.
45494         * tests/test-wcsrtombs3.sh: New file.
45495         * tests/test-wcsrtombs4.sh: New file.
45496         * tests/test-wcsrtombs.c: New file.
45497
45498         New module 'wcsrtombs'.
45499         * lib/wchar.in.h (wcsrtombs): New declaration.
45500         * lib/wcsrtombs.c: New file.
45501         * m4/wcsrtombs.m4: New file.
45502         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
45503         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
45504         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
45505         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
45506         * modules/wcsrtombs: New file.
45507         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
45508         bugs.
45509
45510 2008-12-21  Bruno Haible  <bruno@clisp.org>
45511
45512         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
45513         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
45514         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
45515         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
45516         if not correct.
45517         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
45518         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
45519         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
45520         m4/locale-zh.m4, m4/codeset.m4.
45521         * doc/posix-functions/wcrtomb.texi: Document the bug.
45522
45523 2008-12-21  Bruno Haible  <bruno@clisp.org>
45524
45525         Work around a btowc() bug on IRIX 6.5.
45526         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
45527         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
45528         REPLACE_WTOBC if not.
45529         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
45530         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
45531         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
45532
45533 2008-12-21  Bruno Haible  <bruno@clisp.org>
45534
45535         * modules/wcrtomb-tests: New file.
45536         * tests/test-wcrtomb.sh: New file.
45537         * tests/test-wcrtomb.c: New file.
45538
45539         New module 'wcrtomb'.
45540         * lib/wchar.in.h (wcrtomb): New declaration.
45541         * lib/wcrtomb.c: New file.
45542         * m4/wcrtomb.m4: New file.
45543         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
45544         HAVE_WCRTOMB.
45545         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
45546         HAVE_WCRTOMB.
45547         * modules/wcrtomb: New file.
45548         * doc/posix-functions/wcrtomb.texi: Mention the new module.
45549
45550 2008-12-21  Bruno Haible  <bruno@clisp.org>
45551
45552         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
45553         * modules/mbsrtowcs (Files): Likewise.
45554         * modules/wctob (Files): Likewise.
45555         * modules/c-strcase-tests (Files): Likewise.
45556         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
45557         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
45558         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
45559         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
45560         * modules/vasnprintf-posix-tests (Files): Likewise.
45561
45562 2008-12-21  William Pursell  <bill.pursell@gmail.com>
45563
45564         gitlog-to-changelog: pass all command-line arguments to git-log
45565         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
45566         it is sometimes convenient to filter the commits in various ways.
45567         gitlog-to-changelog only allows --since to specify a start date,
45568         but git-log itself supports many other filtering mechanisms.
45569         At the moment, I want to filter by branch name.  Rather than
45570         adding a --branch option to gitlog-to-changelog, it seems more
45571         flexible to simply pass all options directly to git-log and let
45572         git do the work.  Notice that this effectively makes --since a
45573         redundant option for gitlog-to-changelog, but removing it would
45574         require current usage to change since calls would then require
45575         an additional '--'.
45576
45577 2008-12-21  Bruno Haible  <bruno@clisp.org>
45578
45579         * modules/mbsnrtowcs-tests: New file.
45580         * tests/test-mbsnrtowcs1.sh: New file.
45581         * tests/test-mbsnrtowcs2.sh: New file.
45582         * tests/test-mbsnrtowcs3.sh: New file.
45583         * tests/test-mbsnrtowcs4.sh: New file.
45584         * tests/test-mbsnrtowcs.c: New file.
45585
45586         New module 'mbsnrtowcs'.
45587         * lib/wchar.in.h (mbsnrtowcs): New declaration.
45588         * lib/mbsnrtowcs.c: New file.
45589         * lib/mbsrtowcs-state.c: New file.
45590         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
45591         (internal_state): Remove variable.
45592         * m4/mbsnrtowcs.m4: New file.
45593         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
45594         compilation units.
45595         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
45596         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
45597         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
45598         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
45599         * modules/mbsnrtowcs: New file.
45600         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
45601         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
45602         portability problem.
45603
45604 2008-12-21  Bruno Haible  <bruno@clisp.org>
45605
45606         Work around mbsrtowcs bug.
45607         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
45608         (gl_FUNC_MBSRTOWCS): Invoke it.
45609         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
45610         m4/locale-zh.m4.
45611         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
45612
45613 2008-12-21  Bruno Haible  <bruno@clisp.org>
45614
45615         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
45616
45617 2008-12-21  Bruno Haible  <bruno@clisp.org>
45618
45619         Update doc for AIX.
45620         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
45621         16-bit wchar_t type.
45622         * doc/posix-functions/btowc.texi: Likewise.
45623         * doc/posix-functions/fgetwc.texi: Likewise.
45624         * doc/posix-functions/fgetws.texi: Likewise.
45625         * doc/posix-functions/fputwc.texi: Likewise.
45626         * doc/posix-functions/fputws.texi: Likewise.
45627         * doc/posix-functions/fwide.texi: Likewise.
45628         * doc/posix-functions/fwprintf.texi: Likewise.
45629         * doc/posix-functions/fwscanf.texi: Likewise.
45630         * doc/posix-functions/getwchar.texi: Likewise.
45631         * doc/posix-functions/getwc.texi: Likewise.
45632         * doc/posix-functions/iswalnum.texi: Likewise.
45633         * doc/posix-functions/iswalpha.texi: Likewise.
45634         * doc/posix-functions/iswblank.texi: Likewise.
45635         * doc/posix-functions/iswcntrl.texi: Likewise.
45636         * doc/posix-functions/iswctype.texi: Likewise.
45637         * doc/posix-functions/iswdigit.texi: Likewise.
45638         * doc/posix-functions/iswgraph.texi: Likewise.
45639         * doc/posix-functions/iswlower.texi: Likewise.
45640         * doc/posix-functions/iswprint.texi: Likewise.
45641         * doc/posix-functions/iswpunct.texi: Likewise.
45642         * doc/posix-functions/iswspace.texi: Likewise.
45643         * doc/posix-functions/iswupper.texi: Likewise.
45644         * doc/posix-functions/iswxdigit.texi: Likewise.
45645         * doc/posix-functions/mbrtowc.texi: Likewise.
45646         * doc/posix-functions/mbsrtowcs.texi: Likewise.
45647         * doc/posix-functions/mbstowcs.texi: Likewise.
45648         * doc/posix-functions/mbtowc.texi: Likewise.
45649         * doc/posix-functions/putwchar.texi: Likewise.
45650         * doc/posix-functions/putwc.texi: Likewise.
45651         * doc/posix-functions/swprintf.texi: Likewise.
45652         * doc/posix-functions/tolower.texi: Likewise.
45653         * doc/posix-functions/toupper.texi: Likewise.
45654         * doc/posix-functions/towctrans.texi: Likewise.
45655         * doc/posix-functions/ungetwc.texi: Likewise.
45656         * doc/posix-functions/vswprintf.texi: Likewise.
45657         * doc/posix-functions/wcrtomb.texi: Likewise.
45658         * doc/posix-functions/wcscat.texi: Likewise.
45659         * doc/posix-functions/wcschr.texi: Likewise.
45660         * doc/posix-functions/wcscmp.texi: Likewise.
45661         * doc/posix-functions/wcscoll.texi: Likewise.
45662         * doc/posix-functions/wcscpy.texi: Likewise.
45663         * doc/posix-functions/wcscspn.texi: Likewise.
45664         * doc/posix-functions/wcsftime.texi: Likewise.
45665         * doc/posix-functions/wcslen.texi: Likewise.
45666         * doc/posix-functions/wcsncat.texi: Likewise.
45667         * doc/posix-functions/wcsncmp.texi: Likewise.
45668         * doc/posix-functions/wcsncpy.texi: Likewise.
45669         * doc/posix-functions/wcspbrk.texi: Likewise.
45670         * doc/posix-functions/wcsrchr.texi: Likewise.
45671         * doc/posix-functions/wcsrtombs.texi: Likewise.
45672         * doc/posix-functions/wcsspn.texi: Likewise.
45673         * doc/posix-functions/wcsstr.texi: Likewise.
45674         * doc/posix-functions/wcstod.texi: Likewise.
45675         * doc/posix-functions/wcstof.texi: Likewise.
45676         * doc/posix-functions/wcstoimax.texi: Likewise.
45677         * doc/posix-functions/wcstok.texi: Likewise.
45678         * doc/posix-functions/wcstold.texi: Likewise.
45679         * doc/posix-functions/wcstoll.texi: Likewise.
45680         * doc/posix-functions/wcstol.texi: Likewise.
45681         * doc/posix-functions/wcstombs.texi: Likewise.
45682         * doc/posix-functions/wcstoull.texi: Likewise.
45683         * doc/posix-functions/wcstoul.texi: Likewise.
45684         * doc/posix-functions/wcstoumax.texi: Likewise.
45685         * doc/posix-functions/wcswidth.texi: Likewise.
45686         * doc/posix-functions/wcsxfrm.texi: Likewise.
45687         * doc/posix-functions/wctob.texi: Likewise.
45688         * doc/posix-functions/wctomb.texi: Likewise.
45689         * doc/posix-functions/wctrans.texi: Likewise.
45690         * doc/posix-functions/wctype.texi: Likewise.
45691         * doc/posix-functions/wcwidth.texi: Likewise.
45692         * doc/posix-functions/wmemchr.texi: Likewise.
45693         * doc/posix-functions/wmemcmp.texi: Likewise.
45694         * doc/posix-functions/wmemcpy.texi: Likewise.
45695         * doc/posix-functions/wmemmove.texi: Likewise.
45696         * doc/posix-functions/wmemset.texi: Likewise.
45697         * doc/posix-functions/wprintf.texi: Likewise.
45698         * doc/posix-functions/wscanf.texi: Likewise.
45699
45700 2008-12-21  Bruno Haible  <bruno@clisp.org>
45701
45702         Update doc for HP-UX 11.11.
45703         * doc/posix-functions/btowc.texi: Clarify that the function is missing
45704         in HP-UX version 11.00, not in all versions of HP-UX 11.
45705         * doc/posix-functions/fwide.texi: Likewise.
45706         * doc/posix-functions/fwprintf.texi: Likewise.
45707         * doc/posix-functions/fwscanf.texi: Likewise.
45708         * doc/posix-functions/inet_ntop.texi: Likewise.
45709         * doc/posix-functions/inet_pton.texi: Likewise.
45710         * doc/posix-functions/mbrlen.texi: Likewise.
45711         * doc/posix-functions/mbrtowc.texi: Likewise.
45712         * doc/posix-functions/mbsinit.texi: Likewise.
45713         * doc/posix-functions/mbsrtowcs.texi: Likewise.
45714         * doc/posix-functions/swprintf.texi: Likewise.
45715         * doc/posix-functions/swscanf.texi: Likewise.
45716         * doc/posix-functions/towctrans.texi: Likewise.
45717         * doc/posix-functions/vfwprintf.texi: Likewise.
45718         * doc/posix-functions/vswprintf.texi: Likewise.
45719         * doc/posix-functions/vwprintf.texi: Likewise.
45720         * doc/posix-functions/wcrtomb.texi: Likewise.
45721         * doc/posix-functions/wcsrtombs.texi: Likewise.
45722         * doc/posix-functions/wcsstr.texi: Likewise.
45723         * doc/posix-functions/wctob.texi: Likewise.
45724         * doc/posix-functions/wctrans.texi: Likewise.
45725         * doc/posix-functions/wmemchr.texi: Likewise.
45726         * doc/posix-functions/wmemcmp.texi: Likewise.
45727         * doc/posix-functions/wmemcpy.texi: Likewise.
45728         * doc/posix-functions/wmemmove.texi: Likewise.
45729         * doc/posix-functions/wmemset.texi: Likewise.
45730         * doc/posix-functions/wprintf.texi: Likewise.
45731         * doc/posix-functions/wscanf.texi: Likewise.
45732
45733 2008-12-21  Bruno Haible  <bruno@clisp.org>
45734
45735         Work around a portability problem.
45736         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
45737         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
45738
45739 2008-12-20  Bruno Haible  <bruno@clisp.org>
45740
45741         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
45742         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
45743         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
45744         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
45745         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
45746
45747         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
45748         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
45749         set.
45750         (GNULIB_defined_mbstate_t): New macro.
45751         (mbsinit): Redefine if REPLACE_MBSINIT is set.
45752         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
45753         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
45754         reuses the system's mbrtowc function but works around the bugs.
45755         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
45756         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
45757         macros.
45758         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
45759         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
45760         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
45761         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
45762         REPLACE_MBSINIT if mbsinit needs to be overridden.
45763         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
45764         REPLACE_MBSINIT, REPLACE_MBRTOWC.
45765         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
45766         REPLACE_MBSINIT, REPLACE_MBRTOWC.
45767         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
45768         m4/locale-zh.m4.
45769         (Depends): Add mbsinit.
45770         * modules/mbsinit (Depends): Add mbrtowc.
45771         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
45772
45773 2008-12-20  Bruno Haible  <bruno@clisp.org>
45774
45775         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
45776         so that there are no conversion errors on AIX.
45777         * tests/test-mbsrtowcs.c (main): LIkewise.
45778
45779 2008-12-20  Bruno Haible  <bruno@clisp.org>
45780
45781         Work around wctob bug on Solaris <= 9.
45782         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
45783         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
45784         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
45785         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
45786         * modules/wctob (Files): Add m4/locale-fr.m4.
45787         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
45788
45789 2008-12-20  Bruno Haible  <bruno@clisp.org>
45790
45791         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
45792         /dev/null.
45793         * tests/test-select-in.sh: Likewise.
45794         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45795
45796 2008-12-20  Bruno Haible  <bruno@clisp.org>
45797
45798         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
45799         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
45800         Cygwin 1.5.x.
45801
45802 2008-12-20  Bruno Haible  <bruno@clisp.org>
45803
45804         Ensure mbstate_t is defined on HP-UX 11.11.
45805         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
45806         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
45807         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
45808         AC_USE_SYSTEM_EXTENSIONS.
45809         * modules/fnmatch (Depends-on): Add extensions.
45810         * modules/mbrlen (Depends-on): Likewise.
45811         * modules/mbrtowc (Depends-on): Likewise.
45812         * modules/mbsinit (Depends-on): Likewise.
45813         * modules/mbsrtowcs (Depends-on): Likewise.
45814         * modules/mbswidth (Depends-on): Likewise.
45815         * modules/quotearg (Depends-on): Likewise.
45816         * modules/strftime (Depends-on): Likewise.
45817
45818 2008-12-20  Bruno Haible  <bruno@clisp.org>
45819
45820         Ensure wctob is declared on IRIX 6.5.
45821         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
45822         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
45823         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
45824         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
45825         of HAVE_WCTOB.
45826         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
45827         HAVE_WCTOB.
45828         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
45829
45830 2008-12-19  Bruno Haible  <bruno@clisp.org>
45831
45832         * modules/mbsrtowcs-tests: New file.
45833         * tests/test-mbsrtowcs1.sh: New file.
45834         * tests/test-mbsrtowcs2.sh: New file.
45835         * tests/test-mbsrtowcs3.sh: New file.
45836         * tests/test-mbsrtowcs4.sh: New file.
45837         * tests/test-mbsrtowcs.c: New file.
45838
45839         New module 'mbsrtowcs'.
45840         * lib/wchar.in.h (mbsrtowcs): New declaration.
45841         * lib/mbsrtowcs.c: New file.
45842         * m4/mbsrtowcs.m4: New file.
45843         * modules/mbsrtowcs: New file.
45844         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
45845         HAVE_MBSRTOWCS.
45846         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
45847         HAVE_MBSRTOWCS.
45848         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
45849
45850 2008-12-19  Bruno Haible  <bruno@clisp.org>
45851
45852         New module 'mbrlen'.
45853         * lib/wchar.in.h (mbrlen): New declaration.
45854         * lib/mbrlen.c: New file.
45855         * m4/mbrlen.m4: New file.
45856         * modules/mbrlen: New file.
45857         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
45858         HAVE_MBRLEN.
45859         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
45860         HAVE_MBRLEN.
45861         * doc/posix-functions/mbrlen.texi: Document the new module.
45862
45863 2008-12-19  Bruno Haible  <bruno@clisp.org>
45864
45865         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
45866         * modules/mbrtowc (Depends-on): Add verify.
45867         Suggested by Paul Eggert.
45868
45869 2008-12-18  Bruno Haible  <bruno@clisp.org>
45870
45871         * modules/mbsinit-tests: New file.
45872         * tests/test-mbsinit.sh: New file.
45873         * tests/test-mbsinit.c: New file.
45874
45875 2008-12-18  Bruno Haible  <bruno@clisp.org>
45876
45877         * modules/mbrtowc-tests: New file.
45878         * tests/test-mbrtowc1.sh: New file.
45879         * tests/test-mbrtowc2.sh: New file.
45880         * tests/test-mbrtowc3.sh: New file.
45881         * tests/test-mbrtowc4.sh: New file.
45882         * tests/test-mbrtowc.c: New file.
45883
45884         New module 'mbrtowc'.
45885         * lib/wchar.in.h (mbstate_t): Override when the system does not have
45886         mbsinit and mbrtowc.
45887         (mbrtowc): New declaration.
45888         * lib/mbrtowc.c: New file.
45889         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
45890         * modules/mbrtowc: New file.
45891         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
45892         HAVE_MBRTOWC.
45893         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
45894         HAVE_MBRTOWC.
45895         * doc/posix-functions/mbrtowc.texi: Document the new module.
45896
45897 2008-12-18  Bruno Haible  <bruno@clisp.org>
45898
45899         New module 'wctob'.
45900         * lib/wchar.in.h (wctob): New declaration.
45901         * lib/wctob.c: New file.
45902         * m4/wctob.m4: New file.
45903         * modules/wctob: New file.
45904         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
45905         HAVE_WCTOB.
45906         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
45907         * doc/posix-functions/wctob.texi: Document the new module.
45908
45909 2008-12-18  Bruno Haible  <bruno@clisp.org>
45910
45911         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
45912         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
45913
45914 2008-12-18  Simon Josefsson  <simon@josefsson.org>
45915
45916         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
45917         G. Christensen" <tgc@jupiterrise.com>.
45918
45919         * lib/flock.c: Need to include errno.h.  Reported by "Tom
45920         G. Christensen" <tgc@jupiterrise.com>.
45921
45922         * lib/flock.c: Need to include string.h.  Reported by "Tom
45923         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
45924         <ebb9@byu.net>.
45925
45926 2008-12-18  Bruno Haible  <bruno@clisp.org>
45927
45928         * m4/locale-ja.m4: New file, from GNU gettext.
45929
45930 2008-12-17  Bruno Haible  <bruno@clisp.org>
45931
45932         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
45933         Suggested by Eric Blake.
45934
45935 2008-12-17  Bruno Haible  <bruno@clisp.org>
45936
45937         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
45938
45939 2008-12-17  Bruno Haible  <bruno@clisp.org>
45940
45941         * lib/mbsinit.c: Include verify.h. Verify an assumption.
45942         * modules/mbsinit (Depends-on): Add verify.
45943         Suggested by Paul Eggert.
45944
45945 2008-12-17  Bruno Haible  <bruno@clisp.org>
45946
45947         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
45948         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
45949         gl_FUNC_MBRTOWC.
45950         * m4/mbiter.m4 (gl_MBITER): LIkewise.
45951         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
45952         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
45953         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
45954         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
45955         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
45956         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
45957         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
45958         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
45959         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
45960         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
45961         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
45962         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
45963         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
45964         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
45965         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
45966         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
45967         * modules/trim (configure.ac): Likewise.
45968
45969 2008-12-17  Bruno Haible  <bruno@clisp.org>
45970
45971         * modules/btowc-tests: New file.
45972         * tests/test-btowc1.sh: New file.
45973         * tests/test-btowc2.sh: New file.
45974         * tests/test-btowc.c: New file.
45975
45976         New module 'btowc'.
45977         * lib/wchar.in.h (btowc): New declaration.
45978         * lib/btowc.c: New file.
45979         * m4/btowc.m4: New file.
45980         * modules/btowc: New file.
45981         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
45982         HAVE_BTOWC.
45983         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
45984         * doc/posix-functions/btowc.texi: Document the new module.
45985
45986 2008-12-17  Bruno Haible  <bruno@clisp.org>
45987
45988         New module 'mbsinit'.
45989         * lib/wchar.in.h (mbsinit): New declaration.
45990         * lib/mbsinit.c: New file.
45991         * m4/mbsinit.m4: New file.
45992         * modules/mbsinit: New file.
45993         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
45994         HAVE_MBSINIT.
45995         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
45996         HAVE_MBSINIT.
45997         * doc/posix-functions/mbsinit.texi: Document the new module.
45998
45999 2008-12-16  Bruno Haible  <bruno@clisp.org>
46000
46001         * lib/unistd.in.h: Add comment.
46002         * tests/test-environ.c: Don't include <stdlib.h>.
46003
46004 2008-12-16  Bruno Haible  <bruno@clisp.org>
46005
46006         * lib/parse-duration.h (parse_duration): Document return value
46007         convention.
46008         * lib/parse-duration.c: Include specification header first. Add
46009         comments.
46010         (_): Remove macro.
46011         (parse_year_month_day, parse_hour_minute_second): Move side effects
46012         outside of strchr call.
46013         (parse_non_iso8601): Move side effects outside of isspace call.
46014         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
46015         call.
46016
46017 2008-12-16  Bruno Haible  <bruno@clisp.org>
46018
46019         * tests/test-parse-duration.sh: Produce no output when the test
46020         succeeds.
46021
46022 2008-12-16  Bruno Haible  <bruno@clisp.org>
46023
46024         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
46025         expressions.
46026
46027 2008-12-15  Bruno Haible  <bruno@clisp.org>
46028
46029         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
46030         * doc/glibc-functions/flistxattr.texi: Likewise.
46031         * doc/glibc-functions/fopencookie.texi: Likewise.
46032         * doc/glibc-functions/fremovexattr.texi: Likewise.
46033         * doc/glibc-functions/fsetxattr.texi: Likewise.
46034         * doc/glibc-functions/getxattr.texi: Likewise.
46035         * doc/glibc-functions/lgetxattr.texi: Likewise.
46036         * doc/glibc-functions/listxattr.texi: Likewise.
46037         * doc/glibc-functions/llistxattr.texi: Likewise.
46038         * doc/glibc-functions/lremovexattr.texi: Likewise.
46039         * doc/glibc-functions/lsetxattr.texi: Likewise.
46040         * doc/glibc-functions/removexattr.texi: Likewise.
46041         * doc/glibc-functions/setxattr.texi: Likewise.
46042         * doc/posix-functions/open_memstream.texi: Likewise.
46043
46044 2008-12-15  Eric Blake  <ebb9@byu.net>
46045
46046         Update doc for cygwin 1.7.
46047         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
46048         functions.
46049         * doc/posix-functions/fchmodat.texi: Likewise.
46050         * doc/posix-functions/fchownat.texi: Likewise.
46051         * doc/posix-functions/fdopendir.texi: Likewise.
46052         * doc/posix-functions/fmemopen.texi: Likewise.
46053         * doc/posix-functions/freeaddrinfo.texi: Likewise.
46054         * doc/posix-functions/fstatat.texi: Likewise.
46055         * doc/posix-functions/futimens.texi: Likewise.
46056         * doc/posix-functions/gai_strerror.texi: Likewise.
46057         * doc/posix-functions/getaddrinfo.texi: Likewise.
46058         * doc/posix-functions/getnameinfo.texi: Likewise.
46059         * doc/posix-functions/if_freenameindex.texi: Likewise.
46060         * doc/posix-functions/if_indextoname.texi: Likewise.
46061         * doc/posix-functions/if_nameindex.texi: Likewise.
46062         * doc/posix-functions/if_nametoindex.texi: Likewise.
46063         * doc/posix-functions/insque.texi: Likewise.
46064         * doc/posix-functions/linkat.texi: Likewise.
46065         * doc/posix-functions/llrint.texi: Likewise.
46066         * doc/posix-functions/llrintf.texi: Likewise.
46067         * doc/posix-functions/llrintl.texi: Likewise.
46068         * doc/posix-functions/lockf.texi: Likewise.
46069         * doc/posix-functions/lrintl.texi: Likewise.
46070         * doc/posix-functions/mkdirat.texi: Likewise.
46071         * doc/posix-functions/mkfifoat.texi: Likewise.
46072         * doc/posix-functions/mknodat.texi: Likewise.
46073         * doc/posix-functions/mq_close.texi: Likewise.
46074         * doc/posix-functions/mq_getattr.texi: Likewise.
46075         * doc/posix-functions/mq_notify.texi: Likewise.
46076         * doc/posix-functions/mq_open.texi: Likewise.
46077         * doc/posix-functions/mq_receive.texi: Likewise.
46078         * doc/posix-functions/mq_send.texi: Likewise.
46079         * doc/posix-functions/mq_setattr.texi: Likewise.
46080         * doc/posix-functions/mq_timedreceive.texi: Likewise.
46081         * doc/posix-functions/mq_timedsend.texi: Likewise.
46082         * doc/posix-functions/mq_unlink.texi: Likewise.
46083         * doc/posix-functions/open_memstream.texi: Likewise.
46084         * doc/posix-functions/openat.texi: Likewise.
46085         * doc/posix-functions/posix_fadvise.texi: Likewise.
46086         * doc/posix-functions/posix_fallocate.texi: Likewise.
46087         * doc/posix-functions/posix_madvise.texi: Likewise.
46088         * doc/posix-functions/posix_memalign.texi: Likewise.
46089         * doc/posix-functions/posix_openpt.texi: Likewise.
46090         * doc/posix-functions/readlinkat.texi: Likewise.
46091         * doc/posix-functions/remque.texi: Likewise.
46092         * doc/posix-functions/renameat.texi: Likewise.
46093         * doc/posix-functions/rintl.texi: Likewise.
46094         * doc/posix-functions/sem_unlink.texi: Likewise.
46095         * doc/posix-functions/shm_open.texi: Likewise.
46096         * doc/posix-functions/shm_unlink.texi: Likewise.
46097         * doc/posix-functions/signgam.texi: Likewise.
46098         * doc/posix-functions/sigset.texi: Likewise.
46099         * doc/posix-functions/stpcpy.texi: Likewise.
46100         * doc/posix-functions/stpncpy.texi: Likewise.
46101         * doc/posix-functions/strerror.texi: Likewise.
46102         * doc/posix-functions/strtod.texi: Likewise.
46103         * doc/posix-functions/symlinkat.texi: Likewise.
46104         * doc/posix-functions/unlinkat.texi: Likewise.
46105         * doc/posix-functions/utimensat.texi: Likewise.
46106         * doc/glibc-functions/bindresvport.texi: Likewise.
46107         * doc/glibc-functions/dn_expand.texi: Likewise.
46108         * doc/glibc-functions/exp10.texi: Likewise.
46109         * doc/glibc-functions/exp10f.texi: Likewise.
46110         * doc/glibc-functions/fgetxattr.texi: Likewise.
46111         * doc/glibc-functions/flistxattr.texi: Likewise.
46112         * doc/glibc-functions/fopencookie.texi: Likewise.
46113         * doc/glibc-functions/freeifaddrs.texi: Likewise.
46114         * doc/glibc-functions/fremovexattr.texi: Likewise.
46115         * doc/glibc-functions/fsetxattr.texi: Likewise.
46116         * doc/glibc-functions/getifaddrs.texi: Likewise.
46117         * doc/glibc-functions/getxattr.texi: Likewise.
46118         * doc/glibc-functions/lgetxattr.texi: Likewise.
46119         * doc/glibc-functions/listxattr.texi: Likewise.
46120         * doc/glibc-functions/llistxattr.texi: Likewise.
46121         * doc/glibc-functions/lremovexattr.texi: Likewise.
46122         * doc/glibc-functions/lsetxattr.texi: Likewise.
46123         * doc/glibc-functions/pow10.texi: Likewise.
46124         * doc/glibc-functions/pow10f.texi: Likewise.
46125         * doc/glibc-functions/rcmd_af.texi: Likewise.
46126         * doc/glibc-functions/removexattr.texi: Likewise.
46127         * doc/glibc-functions/res_init.texi: Likewise.
46128         * doc/glibc-functions/res_mkquery.texi: Likewise.
46129         * doc/glibc-functions/res_query.texi: Likewise.
46130         * doc/glibc-functions/res_querydomain.texi: Likewise.
46131         * doc/glibc-functions/res_send.texi: Likewise.
46132         * doc/glibc-functions/rresvport_af.texi: Likewise.
46133         * doc/glibc-functions/setxattr.texi: Likewise.
46134         * doc/glibc-functions/strcasestr.texi: Likewise.
46135
46136 2008-12-15  Bruno Haible  <bruno@clisp.org>
46137
46138         Fix compilation error on OSF/1 4.0.
46139         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
46140         <sys/time.h>, simply delegate to the system header.
46141         Reported by Daniel Richard G. <oss@teragram.com>.
46142
46143 2008-12-15  Bruno Haible  <bruno@clisp.org>
46144
46145         * doc/posix-functions/openat.texi: Mention the 'openat' module.
46146         * doc/posix-functions/fchmodat.texi: Likewise.
46147         * doc/posix-functions/fchownat.texi: Likewise.
46148         * doc/posix-functions/fdopendir.texi: Likewise.
46149         * doc/posix-functions/fstatat.texi: Likewise.
46150         * doc/posix-functions/mkdirat.texi: Likewise.
46151         * doc/posix-functions/unlinkat.texi: Likewise.
46152
46153 2008-12-14  Bruno Haible  <bruno@clisp.org>
46154
46155         Update doc for POSIX:2008.
46156         * doc/posix-functions/faccessat.texi: New file.
46157         * doc/posix-functions/fchmodat.texi: New file.
46158         * doc/posix-functions/fchownat.texi: New file.
46159         * doc/posix-functions/fdopendir.texi: New file.
46160         * doc/posix-functions/fstatat.texi: New file.
46161         * doc/posix-functions/futimens.texi: New file.
46162         * doc/posix-functions/linkat.texi: New file.
46163         * doc/posix-functions/mkdirat.texi: New file.
46164         * doc/posix-functions/mkfifoat.texi: New file.
46165         * doc/posix-functions/mknodat.texi: New file.
46166         * doc/posix-functions/open_wmemstream.texi: New file.
46167         * doc/posix-functions/openat.texi: New file.
46168         * doc/posix-functions/psiginfo.texi: New file.
46169         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
46170         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
46171         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
46172         * doc/posix-functions/readlinkat.texi: New file.
46173         * doc/posix-functions/renameat.texi: New file.
46174         * doc/posix-functions/strerror_l.texi: New file.
46175         * doc/posix-functions/symlinkat.texi: New file.
46176         * doc/posix-functions/unlinkat.texi: New file.
46177         * doc/posix-functions/utimensat.texi: New file.
46178         * doc/gnulib.texi (Function Substitutes): Add these subsections.
46179
46180 2008-12-14  Bruno Haible  <bruno@clisp.org>
46181
46182         Update doc for POSIX:2008.
46183         * doc/posix-functions/alphasort.texi: Renamed from
46184         doc/glibc-functions/alphasort.texi.
46185         * doc/posix-functions/dirfd.texi: Renamed from
46186         doc/glibc-functions/dirfd.texi.
46187         * doc/posix-functions/dprintf.texi: Renamed from
46188         doc/glibc-functions/dprintf.texi.
46189         * doc/posix-functions/duplocale.texi: Renamed from
46190         doc/glibc-functions/duplocale.texi.
46191         * doc/posix-functions/fexecve.texi: Renamed from
46192         doc/glibc-functions/fexecve.texi.
46193         * doc/posix-functions/fmemopen.texi: Renamed from
46194         doc/glibc-functions/fmemopen.texi.
46195         * doc/posix-functions/freelocale.texi: Renamed from
46196         doc/glibc-functions/freelocale.texi.
46197         * doc/posix-functions/getdate_err.texi: Renamed from
46198         doc/glibc-functions/getdate_err.texi.
46199         * doc/posix-functions/isalnum_l.texi: Renamed from
46200         doc/glibc-functions/isalnum_l.texi.
46201         * doc/posix-functions/isalpha_l.texi: Renamed from
46202         doc/glibc-functions/isalpha_l.texi.
46203         * doc/posix-functions/isblank_l.texi: Renamed from
46204         doc/glibc-functions/isblank_l.texi.
46205         * doc/posix-functions/iscntrl_l.texi: Renamed from
46206         doc/glibc-functions/iscntrl_l.texi.
46207         * doc/posix-functions/isdigit_l.texi: Renamed from
46208         doc/glibc-functions/isdigit_l.texi.
46209         * doc/posix-functions/isgraph_l.texi: Renamed from
46210         doc/glibc-functions/isgraph_l.texi.
46211         * doc/posix-functions/islower_l.texi: Renamed from
46212         doc/glibc-functions/islower_l.texi.
46213         * doc/posix-functions/isprint_l.texi: Renamed from
46214         doc/glibc-functions/isprint_l.texi.
46215         * doc/posix-functions/ispunct_l.texi: Renamed from
46216         doc/glibc-functions/ispunct_l.texi.
46217         * doc/posix-functions/isspace_l.texi: Renamed from
46218         doc/glibc-functions/isspace_l.texi.
46219         * doc/posix-functions/isupper_l.texi: Renamed from
46220         doc/glibc-functions/isupper_l.texi.
46221         * doc/posix-functions/iswalnum_l.texi: Renamed from
46222         doc/glibc-functions/iswalnum_l.texi.
46223         * doc/posix-functions/iswalpha_l.texi: Renamed from
46224         doc/glibc-functions/iswalpha_l.texi.
46225         * doc/posix-functions/iswblank_l.texi: Renamed from
46226         doc/glibc-functions/iswblank_l.texi.
46227         * doc/posix-functions/iswcntrl_l.texi: Renamed from
46228         doc/glibc-functions/iswcntrl_l.texi.
46229         * doc/posix-functions/iswctype_l.texi: Renamed from
46230         doc/glibc-functions/iswctype_l.texi.
46231         * doc/posix-functions/iswdigit_l.texi: Renamed from
46232         doc/glibc-functions/iswdigit_l.texi.
46233         * doc/posix-functions/iswgraph_l.texi: Renamed from
46234         doc/glibc-functions/iswgraph_l.texi.
46235         * doc/posix-functions/iswlower_l.texi: Renamed from
46236         doc/glibc-functions/iswlower_l.texi.
46237         * doc/posix-functions/iswprint_l.texi: Renamed from
46238         doc/glibc-functions/iswprint_l.texi.
46239         * doc/posix-functions/iswpunct_l.texi: Renamed from
46240         doc/glibc-functions/iswpunct_l.texi.
46241         * doc/posix-functions/iswspace_l.texi: Renamed from
46242         doc/glibc-functions/iswspace_l.texi.
46243         * doc/posix-functions/iswupper_l.texi: Renamed from
46244         doc/glibc-functions/iswupper_l.texi.
46245         * doc/posix-functions/iswxdigit_l.texi: Renamed from
46246         doc/glibc-functions/iswxdigit_l.texi.
46247         * doc/posix-functions/isxdigit_l.texi: Renamed from
46248         doc/glibc-functions/isxdigit_l.texi.
46249         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
46250         doc/glibc-functions/mbsnrtowcs.texi.
46251         * doc/posix-functions/mkdtemp.texi: Renamed from
46252         doc/glibc-functions/mkdtemp.texi.
46253         * doc/posix-functions/newlocale.texi: Renamed from
46254         doc/glibc-functions/newlocale.texi.
46255         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
46256         doc/glibc-functions/nl_langinfo_l.texi.
46257         * doc/posix-functions/open_memstream.texi: Renamed from
46258         doc/glibc-functions/open_memstream.texi.
46259         * doc/posix-functions/opterr.texi: Renamed from
46260         doc/glibc-functions/opterr.texi.
46261         * doc/posix-functions/optind.texi: Renamed from
46262         doc/glibc-functions/optind.texi.
46263         * doc/posix-functions/optopt.texi: Renamed from
46264         doc/glibc-functions/optopt.texi.
46265         * doc/posix-functions/psignal.texi: Renamed from
46266         doc/glibc-functions/psignal.texi.
46267         * doc/posix-functions/scandir.texi: Renamed from
46268         doc/glibc-functions/scandir.texi.
46269         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
46270         doc/glibc-functions/sched_get_priority_min.texi.
46271         * doc/posix-functions/signgam.texi: Renamed from
46272         doc/glibc-functions/signgam.texi.
46273         * doc/posix-functions/stpcpy.texi: Renamed from
46274         doc/glibc-functions/stpcpy.texi.
46275         * doc/posix-functions/stpncpy.texi: Renamed from
46276         doc/glibc-functions/stpncpy.texi.
46277         * doc/posix-functions/strcasecmp_l.texi: Renamed from
46278         doc/glibc-functions/strcasecmp_l.texi.
46279         * doc/posix-functions/strcoll_l.texi: Renamed from
46280         doc/glibc-functions/strcoll_l.texi.
46281         * doc/posix-functions/strfmon_l.texi: Renamed from
46282         doc/glibc-functions/strfmon_l.texi.
46283         * doc/posix-functions/strftime_l.texi: Renamed from
46284         doc/glibc-functions/strftime_l.texi.
46285         * doc/posix-functions/strncasecmp_l.texi: Renamed from
46286         doc/glibc-functions/strncasecmp_l.texi.
46287         * doc/posix-functions/strndup.texi: Renamed from
46288         doc/glibc-functions/strndup.texi.
46289         * doc/posix-functions/strnlen.texi: Renamed from
46290         doc/glibc-functions/strnlen.texi.
46291         * doc/posix-functions/strsignal.texi: Renamed from
46292         doc/glibc-functions/strsignal.texi.
46293         * doc/posix-functions/strxfrm_l.texi: Renamed from
46294         doc/glibc-functions/strxfrm_l.texi.
46295         * doc/posix-functions/timer_gettime.texi: Renamed from
46296         doc/glibc-functions/timer_gettime.texi.
46297         * doc/posix-functions/tolower_l.texi: Renamed from
46298         doc/glibc-functions/tolower_l.texi.
46299         * doc/posix-functions/toupper_l.texi: Renamed from
46300         doc/glibc-functions/toupper_l.texi.
46301         * doc/posix-functions/towctrans_l.texi: Renamed from
46302         doc/glibc-functions/towctrans_l.texi.
46303         * doc/posix-functions/towlower_l.texi: Renamed from
46304         doc/glibc-functions/towlower_l.texi.
46305         * doc/posix-functions/towupper_l.texi: Renamed from
46306         doc/glibc-functions/towupper_l.texi.
46307         * doc/posix-functions/uselocale.texi: Renamed from
46308         doc/glibc-functions/uselocale.texi.
46309         * doc/posix-functions/vdprintf.texi: Renamed from
46310         doc/glibc-functions/vdprintf.texi.
46311         * doc/posix-functions/wcpcpy.texi:
46312         Renamed from doc/glibc-functions/wcpcpy.texi.
46313         * doc/posix-functions/wcpncpy.texi: Renamed from
46314         doc/glibc-functions/wcpncpy.texi.
46315         * doc/posix-functions/wcscasecmp.texi: Renamed from
46316         doc/glibc-functions/wcscasecmp.texi.
46317         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
46318         doc/glibc-functions/wcscasecmp_l.texi.
46319         * doc/posix-functions/wcscoll_l.texi: Renamed from
46320         doc/glibc-functions/wcscoll_l.texi.
46321         * doc/posix-functions/wcsdup.texi: Renamed from
46322         doc/glibc-functions/wcsdup.texi.
46323         * doc/posix-functions/wcsncasecmp.texi: Renamed from
46324         doc/glibc-functions/wcsncasecmp.texi.
46325         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
46326         doc/glibc-functions/wcsncasecmp_l.texi.
46327         * doc/posix-functions/wcsnlen.texi: Renamed from
46328         doc/glibc-functions/wcsnlen.texi.
46329         * doc/posix-functions/wcsnrtombs.texi: Renamed from
46330         doc/glibc-functions/wcsnrtombs.texi.
46331         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
46332         doc/glibc-functions/wcsxfrm_l.texi.
46333         * doc/posix-functions/wctrans_l.texi: Renamed from
46334         doc/glibc-functions/wctrans_l.texi.
46335         * doc/posix-functions/wctype_l.texi: Renamed from
46336         doc/glibc-functions/wctype_l.texi.
46337         * doc/gnulib.texi (Function Substitutes): Add these subsections.
46338         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
46339         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
46340         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
46341         these subsections.
46342         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
46343         Remove sections.
46344
46345 2008-12-14  Bruno Haible  <bruno@clisp.org>
46346
46347         Update doc for POSIX:2008.
46348         * doc/posix-functions/*.texi: Update URL of POSIX specification.
46349
46350 2008-12-14  Bruno Haible  <bruno@clisp.org>
46351
46352         Update doc for POSIX:2008.
46353         * doc/pastposix-functions/bcmp.texi: Renamed from
46354         doc/posix-functions/bcmp.texi.
46355         * doc/pastposix-functions/bcopy.texi: Renamed from
46356         doc/posix-functions/bcopy.texi.
46357         * doc/pastposix-functions/bsd_signal.texi: Renamed from
46358         doc/posix-functions/bsd_signal.texi.
46359         * doc/pastposix-functions/bzero.texi: Renamed from
46360         doc/posix-functions/bzero.texi.
46361         * doc/pastposix-functions/ecvt.texi: Renamed from
46362         doc/posix-functions/ecvt.texi.
46363         * doc/pastposix-functions/fcvt.texi: Renamed from
46364         doc/posix-functions/fcvt.texi.
46365         * doc/pastposix-functions/ftime.texi: Renamed from
46366         doc/posix-functions/ftime.texi.
46367         * doc/pastposix-functions/gcvt.texi: Renamed from
46368         doc/posix-functions/gcvt.texi.
46369         * doc/pastposix-functions/getcontext.texi: Renamed from
46370         doc/posix-functions/getcontext.texi.
46371         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
46372         doc/posix-functions/gethostbyaddr.texi.
46373         * doc/pastposix-functions/gethostbyname.texi: Renamed from
46374         doc/posix-functions/gethostbyname.texi.
46375         * doc/pastposix-functions/getwd.texi: Renamed from
46376         doc/posix-functions/getwd.texi.
46377         * doc/pastposix-functions/h_errno.texi: Renamed from
46378         doc/posix-functions/h_errno.texi.
46379         * doc/pastposix-functions/index.texi: Renamed from
46380         doc/posix-functions/index.texi.
46381         * doc/pastposix-functions/makecontext.texi: Renamed from
46382         doc/posix-functions/makecontext.texi.
46383         * doc/pastposix-functions/mktemp.texi: Renamed from
46384         doc/posix-functions/mktemp.texi.
46385         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
46386         doc/posix-functions/pthread_attr_getstackaddr.texi.
46387         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
46388         doc/posix-functions/pthread_attr_setstackaddr.texi.
46389         * doc/pastposix-functions/rindex.texi: Renamed from
46390         doc/posix-functions/rindex.texi.
46391         * doc/pastposix-functions/scalb.texi: Renamed from
46392         doc/posix-functions/scalb.texi.
46393         * doc/pastposix-functions/setcontext.texi: Renamed from
46394         doc/posix-functions/setcontext.texi.
46395         * doc/pastposix-functions/swapcontext.texi: Renamed from
46396         doc/posix-functions/swapcontext.texi.
46397         * doc/pastposix-functions/ualarm.texi: Renamed from
46398         doc/posix-functions/ualarm.texi.
46399         * doc/pastposix-functions/usleep.texi: Renamed from
46400         doc/posix-functions/usleep.texi.
46401         * doc/pastposix-functions/vfork.texi: Renamed from
46402         doc/posix-functions/vfork.texi.
46403         * doc/pastposix-functions/wcswcs.texi: Renamed from
46404         doc/posix-functions/wcswcs.texi.
46405         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
46406         (Function Substitutes): Update.
46407
46408 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46409
46410         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
46411         m4/strerror.m4.
46412
46413 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46414             Bruno Haible  <bruno@clisp.org>
46415
46416         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
46417
46418 2008-12-13  Bruno Haible  <bruno@clisp.org>
46419
46420         * modules/strtoull (Depends-on): Remove unistd.
46421
46422 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46423
46424         * modules/strtoull (Depends-on): Add stdlib.
46425
46426 2008-12-11  Simon Josefsson  <simon@josefsson.org>
46427
46428         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
46429
46430 2008-12-10  Jim Meyering  <meyering@redhat.com>
46431
46432         gl_ASSERT: don't say assertions are disabled when they're not
46433         * m4/assert.m4 (gl_ASSERT): Do not make configure report
46434         "checking whether to enable assertions... no", when they are in
46435         fact enabled.  This is solely a bug in the output of configure.
46436         In spite of saying "no", NDEBUG was not defined in that case.
46437         Also, as noted by Eric Blake, leave assertions enabled upon
46438         --enable-assert=INVALID.
46439
46440 2008-12-10  Bruno Haible  <bruno@clisp.org>
46441
46442         Change MODULES.html to refer to POSIX:2008 where possible.
46443         * MODULES.html.sh (POSIX2008_URL): New variable.
46444         (posix_headers): Remove sys/timeb, ucontext.
46445         (posix2001_headers): New variable.
46446         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
46447         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
46448         index, makecontext, mktemp, pthread_attr_getstackaddr,
46449         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
46450         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
46451         (posix2001_functions): New variable.
46452         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
46453         otherwise.
46454
46455 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46456
46457         add missing include to parse-duration.c
46458         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
46459         * modules/parse-duration (Depends-on): Add xalloc.
46460
46461         fix sed script reading maint.mk
46462         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
46463         (syntax-check-rules): Use it.
46464
46465 2008-12-09  Bruno Haible  <bruno@clisp.org>
46466
46467         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
46468         MacOS X 10.4/PowerPC.
46469         Reported by Simon Josefsson.
46470
46471 2008-12-08  Jim Meyering  <meyering@redhat.com>
46472
46473         work around mingw's lack of some S_IF definitions
46474         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
46475         Reported by Simon Josefsson.
46476
46477 2008-12-08  Bruno Haible  <bruno@clisp.org>
46478
46479         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
46480         applied to variables. Needed on MacOS X 10.4/PowerPC.
46481         Reported by Simon Josefsson.
46482
46483 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
46484         and Eric Blake  <ebb9@byu.net>
46485
46486         assert: honor --enable-assert
46487         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
46488         order to honor --enable-assert, rather than treating it as a
46489         synonym for --disable-assert.
46490
46491 2008-12-08  Jim Meyering  <meyering@redhat.com>
46492
46493         * lib/posixtm.c: Remove now-useless declaration of mktime.
46494
46495         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
46496
46497 2008-12-07  Bruno Haible  <bruno@clisp.org>
46498
46499         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
46500         test_once): Mark functions as static.
46501         * tests/test-tls.c (test_tls): Likewise.
46502
46503 2008-12-07  Bruno Haible  <bruno@clisp.org>
46504
46505         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
46506         iconv_register_autodetect.
46507
46508 2008-12-07  Jim Meyering  <meyering@redhat.com>
46509
46510         posixtm.c: avoid a warning
46511         * lib/posixtm.c (posixtime): Don't initialize tm0.
46512         It's no longer needed to placate gcc4's -Wuninitialized,
46513         and the attempt to placate would elicit a new warning.
46514
46515         unicodeio.c: mark unused parameters
46516         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
46517         (fallback_failure_callback): Likewise.
46518
46519 2008-12-07  Bruno Haible  <bruno@clisp.org>
46520
46521         * gnulib-tool (func_create_testdir): When building the tests
46522         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
46523         Reported by Simon Josefsson.
46524
46525 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46526
46527         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
46528
46529 2008-12-06  Bruno Haible  <bruno@clisp.org>
46530
46531         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
46532         Suggested by Eric Blake.
46533
46534 2008-12-06  Bruno Haible  <bruno@clisp.org>
46535
46536         Fix a c-stack test failure on MacOS X.
46537         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
46538         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
46539         handler for SIGBUS as well.
46540         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
46541         install a signal handler for SIGBUS as well.
46542         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
46543
46544 2008-12-06  Bruno Haible  <bruno@clisp.org>
46545
46546         Advocacy documentation.
46547         * doc/gnulib-intro.texi (Benefits): New section.
46548         * doc/gnulib.texi: Update.
46549
46550 2008-12-06  Bruno Haible  <bruno@clisp.org>
46551
46552         Document the 'manywarnings' module.
46553         * doc/manywarnings.texi: New file.
46554         * doc/gnulib.texi: Include it.
46555
46556 2008-12-05  Eric Blake  <ebb9@byu.net>
46557
46558         tests: silence some gcc warnings
46559         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
46560         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
46561         type mismatches.
46562
46563 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46564             Bruno Haible  <bruno@clisp.org>
46565
46566         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
46567
46568 2008-11-29  Jim Meyering  <meyering@redhat.com>
46569
46570         unicodeio.c: mark unused parameters
46571         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
46572         (fallback_failure_callback): Likewise.
46573
46574         fts: fix a thinko
46575         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
46576         (set_stat_type): Return S_IF*-valued "type" directly.
46577         Prompted by James Youngman's spotting a related bug.
46578         Confirmed by further testing through find.
46579
46580         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
46581         * lib/fts.c (D_TYPE): Define.
46582         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
46583         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
46584         (s_ifmt_shift_bits): New function.
46585         (set_stat_type): New function.
46586         (fts_build): When not calling fts_stat, call set_stat_type
46587         to propagate dirent.d_type info to fts_read caller.
46588         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
46589         fts_statp->st_mode type information may be valid.
46590
46591 2008-11-28  Simon Josefsson  <simon@josefsson.org>
46592
46593         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
46594         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
46595         <sds@gnu.org>.
46596
46597 2008-11-20  Bruno Haible  <bruno@clisp.org>
46598
46599         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
46600         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
46601         INCLUDE_NEXT.
46602         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
46603         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
46604         * modules/math (Makefile.am): Substitute
46605         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
46606         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46607
46608 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
46609             Bruno Haible  <bruno@clisp.org>
46610
46611         * lib/stdint.in.h: Define all type macros so that their expansion is
46612         a single typedef'ed token. Fixes a compilation failure in Boost which
46613         does "using ::int8_t;".
46614
46615 2008-11-18  Simon Josefsson  <simon@josefsson.org>
46616
46617         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
46618         gl_MANYWARN_ALL_GCC.
46619         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
46620         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
46621         * modules/manywarnings: New file.
46622         * MODULES.html.sh: Mention manywarnings module.
46623
46624 2008-11-18  Bruno Haible  <bruno@clisp.org>
46625
46626         * doc/gnulib-tool.texi (Unit tests): New section.
46627
46628 2008-11-18  Simon Josefsson  <simon@josefsson.org>
46629
46630         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
46631         paths like 'lib/po/foo.po'.
46632
46633 2008-11-17  Simon Josefsson  <simon@josefsson.org>
46634
46635         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
46636         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
46637
46638 2008-11-17  Simon Josefsson  <simon@josefsson.org>
46639
46640         * m4/warnings.m4: Use CPPFLAGS to really check whether the
46641         parameter works.
46642
46643 2008-11-17  Simon Josefsson  <simon@josefsson.org>
46644
46645         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
46646
46647 2008-11-17  Bruce Korb  <bkorb@gnu.org>
46648
46649         * modules/parse-duration-tests: New file.
46650         * tests/test-parse-duration.sh: New file.
46651         * tests/test-parse-duration.c: New file.
46652
46653         New module 'parse-duration'.
46654         * lib/parse-duration.h: New file.
46655         * lib/parse-duration.c: New file.
46656         * modules/parse-duration: New file.
46657
46658 2008-11-17  Bruno Haible  <bruno@clisp.org>
46659
46660         * tests/test-select-out.sh: Comment out the first pipe test.
46661         Reported by Simon Josefsson.
46662
46663 2008-11-17  Bruno Haible  <bruno@clisp.org>
46664
46665         * modules/getaddrinfo (Depends-on): Add servent, hostent.
46666         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
46667         gl_HOSTENT.
46668
46669 2008-11-17  Bruno Haible  <bruno@clisp.org>
46670
46671         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
46672         -lnetwork and -lnet. Needed for Haiku and BeOS.
46673
46674 2008-11-16  Bruno Haible  <bruno@clisp.org>
46675
46676         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
46677
46678 2008-11-16  Bruno Haible  <bruno@clisp.org>
46679
46680         Avoid test failure on Haiku.
46681         * tests/test-fsync.c: Include <errno.h>.
46682         (main): Don't require that fsync (0) fails.
46683
46684 2008-11-15  Bruno Haible  <bruno@clisp.org>
46685
46686         New module 'hostent'.
46687         * modules/hostent: New file.
46688         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
46689
46690 2008-11-15  Bruno Haible  <bruno@clisp.org>
46691
46692         New module 'servent'.
46693         * modules/servent: New file.
46694         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
46695
46696 2008-11-15  Bruno Haible  <bruno@clisp.org>
46697
46698         Avoid generating same test program with two different rules.
46699         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
46700         test-frexp to test-frexp-nolibm.
46701         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
46702         test-frexpl to test-frexpl-nolibm.
46703
46704 2008-11-15  Bruno Haible  <bruno@clisp.org>
46705
46706         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
46707         $(FREXPL_LIBM).
46708
46709 2008-11-15  Bruno Haible  <bruno@clisp.org>
46710
46711         * lib/netdb.in.h: Activate the definitions also when the system's
46712         <netdb.h> has 'struct addrinfo'.
46713         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
46714         EAI_OVERFLOW or AI_NUMERICSERV.
46715         * doc/posix-headers/netdb.texi: Document the problem.
46716
46717 2008-11-15  Bruno Haible  <bruno@clisp.org>
46718
46719         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
46720
46721         Make the 'sched' module work on platforms where <sched.h> exists but
46722         is incomplete (such as Haiku).
46723         * lib/sched.in.h; Include the system's <sched.h> if it exists.
46724         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
46725         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
46726         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
46727         HAVE_STRUCT_SCHED_PARAM.
46728         * modules/sched (Depends-on): Add include_next.
46729         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
46730         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
46731         * doc/posix-headers/sched.texi: Document the issue.
46732
46733 2008-11-13  Jim Meyering  <meyering@redhat.com>
46734
46735         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
46736         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
46737         test would fail due to the difference in the Report bugs to ...
46738         line.  The expected address is empty, "<>", while the actual
46739         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
46740
46741 2008-11-12  Bruno Haible  <bruno@clisp.org>
46742
46743         lstat: don't compile lstat.c on systems lacking lstat
46744         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
46745         which don't have lstat; this is handled by lib/sys_stat.in.h already.
46746         Reported by Daniel P. Berrange via Jim Meyering.
46747
46748 2008-11-12  Jim Meyering  <meyering@redhat.com>
46749
46750         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
46751
46752 2008-11-12  Simon Josefsson  <simon@josefsson.org>
46753
46754         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
46755         instead.
46756
46757 2008-11-12  Bruno Haible  <bruno@clisp.org>
46758
46759         * lib/unicodeio.c: Include unistr.h.
46760         (utf8_wctomb): Remove function.
46761         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
46762
46763 2008-11-12  Simon Josefsson  <simon@josefsson.org>
46764
46765         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
46766         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
46767         <bruno@clisp.org>.
46768         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
46769
46770 2008-11-12  Simon Josefsson  <simon@josefsson.org>
46771
46772         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
46773         * doc/gnulib.texi: Add section for warnings.
46774
46775 2008-11-11  Bruno Haible  <bruno@clisp.org>
46776
46777         * lib/sockets.h: Add a comment.
46778
46779 2008-11-11  Karl Berry  <karl@gnu.org>
46780
46781         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
46782
46783 2008-11-11  Eric Blake  <ebb9@byu.net>
46784
46785         fdl.texi: avoid git symlinks
46786         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
46787
46788 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46789
46790         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
46791
46792 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46793
46794         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
46795         (gl_WARN_ADD): Substitute $2 if literal.
46796
46797 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46798
46799         * m4/warning.m4: Remove.
46800
46801 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46802
46803         * m4/warnings.m4: Almost complete rewrite. :-)
46804
46805 2008-11-10  Simon Josefsson  <simon@josefsson.org>
46806
46807         * modules/warnings: New module.
46808         * m4/warnings.m4: New file.
46809         * MODULES.html.sh: Mention warnings module.
46810         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
46811         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46812
46813 2008-11-10  Eric Blake  <ebb9@byu.net>
46814
46815         fdl.texi: make a symlink to the latest version
46816         * doc/standards.texi: Revert today's earlier change.
46817         * doc/fdl-1.2.texi: Rename from old fdl.texi...
46818         * doc/fdl.texi: ...and replace this with a symlink to the newer
46819         fdl-1.3.texi.
46820
46821 2008-11-10  Bruno Haible  <bruno@clisp.org>
46822
46823         * tests/test-select-fd.c (main): Accept the result file name as fourth
46824         argument.
46825         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
46826         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
46827
46828 2008-11-10  Bruno Haible  <bruno@clisp.org>
46829
46830         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
46831         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
46832         as autoconf-substituted macros.
46833         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
46834         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
46835         gl_NETDB_H_DEFAULTS. Set these variables.
46836         * modules/netdb (Makefile.am): Substitute these variables.
46837
46838 2008-11-10  Eric Blake  <ebb9@byu.net>
46839
46840         standards.texi: include correct file for FDL 1.3
46841         * doc/standards.texi (GNU Free Documentation License): Change
46842         include file to pull in FDL 1.3, not 1.2.
46843
46844         fdl.texi: revert accidental change to license
46845         * doc/fdl.texi: This is FDL 1.2, not 1.3.
46846
46847 2008-11-10  Bruno Haible  <bruno@clisp.org>
46848
46849         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
46850         cross-compiling guesses also when the native compile gives no result.
46851
46852 2008-11-10  Bruno Haible  <bruno@clisp.org>
46853
46854         * lib/spawni.c (__spawni): Force variable into the stack.
46855
46856 2008-11-10  Bruno Haible  <bruno@clisp.org>
46857
46858         Add support for Haiku.
46859         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
46860         glibc and BeOS, but also on Haiku.
46861         * lib/fpurge.c (fpurge): Likewise.
46862         * lib/freadable.c (freadable): Likewise.
46863         * lib/freadahead.c (freadahead): Likewise.
46864         * lib/freading.c (freading): Likewise.
46865         * lib/freadptr.c (freadptr): Likewise.
46866         * lib/freadseek.c (freadptrinc): Likewise.
46867         * lib/fseeko.c (rpl_fseeko): Likewise.
46868         * lib/fseterr.c (fseterr): Likewise.
46869         * lib/fwritable.c (fwritable): Likewise.
46870         * lib/fwriting.c (fwriting): Likewise.
46871         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
46872
46873 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
46874
46875         * lib/config.charset: Treat Haiku like BeOS.
46876
46877 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
46878
46879         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
46880         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
46881
46882 2008-11-08  Bruno Haible  <bruno@clisp.org>
46883
46884         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
46885         AC_CACHE_CHECK.
46886
46887 2008-11-08  Bruno Haible  <bruno@clisp.org>
46888
46889         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
46890
46891 2008-11-08  Bruno Haible  <bruno@clisp.org>
46892
46893         * tests/test-select-fd.c: New file.
46894         * tests/test-select-in.sh: New file.
46895         * tests/test-select-out.sh: New file.
46896         * tests/test-select-stdin.c: New file.
46897         * modules/select-tests (Files): Add the new files.
46898         (Depends-on): Add gettimeofday.
46899         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
46900         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
46901         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
46902
46903 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
46904             Bruno Haible  <bruno@clisp.org>
46905
46906         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
46907
46908 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
46909
46910         * build-aux/pmccabe2html: Added support for C++ source files.
46911
46912 2008-11-05  Ben Pfaff  <blp@gnu.org>
46913
46914         Fix lib/close.c build on Windows.
46915         * modules/close (Files): Add lib/w32sock.h.
46916
46917 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
46918
46919         Accept Bison's NEWS format.
46920         * build-aux/announce-gen (print_news_deltas): Tweak
46921         $re_prefix.
46922
46923 2008-11-04  Bruno Haible  <bruno@clisp.org>
46924
46925         * modules/random_r (Maintainer): Add glibc.
46926
46927 2008-11-04  Simon Josefsson  <simon@josefsson.org>
46928
46929         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
46930         by karl@freefriends.org (Karl Berry).
46931         * doc/alloca.texi: Likewise.
46932         * doc/c-ctype.texi: Likewise.
46933         * doc/c-strcase.texi: Likewise.
46934         * doc/c-strcaseeq.texi: Likewise.
46935         * doc/c-strcasestr.texi: Likewise.
46936         * doc/c-strstr.texi: Likewise.
46937         * doc/c-strtod.texi: Likewise.
46938         * doc/c-strtold.texi: Likewise.
46939         * doc/ctime.texi: Likewise.
46940         * doc/error.texi: Likewise.
46941         * doc/fdl.texi: Likewise.
46942         * doc/gcd.texi: Likewise.
46943         * doc/getdate.texi: Likewise.
46944         * doc/gnulib-intro.texi: Likewise.
46945         * doc/gnulib-tool.texi: Likewise.
46946         * doc/gnulib.texi: Likewise.
46947         * doc/inet_ntoa.texi: Likewise.
46948         * doc/maintain.texi: Likewise.
46949         * doc/make-stds.texi: Likewise.
46950         * doc/quote.texi: Likewise.
46951         * doc/regexprops-generic.texi: Likewise.
46952         * doc/standards.texi: Likewise.
46953         * doc/verify.texi: Likewise.
46954         * doc/visibility.texi: Likewise.
46955         * doc/gnulib.texi (GNU Free Documentation License): Include
46956         fdl-1.3.texi instead of fdl.texi.
46957
46958 2008-11-04  Simon Josefsson  <simon@josefsson.org>
46959
46960         * doc/fdl-1.3.texi: New file, from
46961         <http://www.gnu.org/licenses/fdl-1.3.texi>.
46962         * modules/fdl-1.3: Add.
46963         * MODULES.html.sh: Add fdl-1.3.
46964
46965 2008-11-03  Bruno Haible  <bruno@clisp.org>
46966
46967         Make determination of absolute name of header file work with AIX xlc.
46968         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
46969         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
46970         preprocessing.
46971         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
46972         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
46973
46974 2008-11-03  Simon Josefsson  <simon@josefsson.org>
46975
46976         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
46977         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
46978         <ludo@gnu.org>.
46979
46980 2008-11-02  Bruno Haible  <bruno@clisp.org>
46981
46982         Mark 'strpbrk' obsolete.
46983         * modules/strpbrk (Status, Notice): New sections.
46984         * modules/strtok_r (Depends-on): Add strpbrk.
46985
46986 2008-11-02  Bruno Haible  <bruno@clisp.org>
46987
46988         Mark 'strdup' obsolete.
46989         * modules/strdup (Status, Notice): New sections.
46990         * modules/findprog (Depends-on): Add strdup.
46991         * modules/getaddrinfo (Depends-on): Likewise.
46992         * modules/localename (Depends-on): Likewise.
46993         * modules/relocatable-lib (Depends-on): Likewise.
46994         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
46995         * modules/relocatable-prog (Depends-on): Likewise.
46996         * modules/trim (Depends-on): Likewise.
46997         * modules/unictype/gen-ctype (Depends-on): Likewise.
46998         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
46999
47000 2008-11-02  Bruno Haible  <bruno@clisp.org>
47001
47002         Mark 'strcspn' obsolete.
47003         * modules/strcspn (Status, Notice): New sections.
47004
47005 2008-11-02  Bruno Haible  <bruno@clisp.org>
47006
47007         Mark 'rmdir' obsolete.
47008         * modules/rmdir (Status, Notice): New sections.
47009         * modules/clean-temp (Depends-on): Add rmdir.
47010         * modules/openat (Depends-on): Likewise.
47011
47012 2008-11-02  Bruno Haible  <bruno@clisp.org>
47013
47014         Mark 'raise' obsolete.
47015         * modules/raise (Status, Notice): New sections.
47016         (Include): Specify <signal.h>.
47017         * modules/stdio (Depends-on): Add raise.
47018         * modules/write (Depends-on): Likewise.
47019
47020 2008-11-02  Bruno Haible  <bruno@clisp.org>
47021
47022         Mark 'memset' obsolete.
47023         * modules/memset (Status, Notice): New sections.
47024
47025 2008-11-02  Bruno Haible  <bruno@clisp.org>
47026
47027         Mark 'memmove' obsolete.
47028         * modules/memmove (Status, Notice): New sections.
47029         * modules/argp (Depends-on): Add memmove.
47030         * modules/argz (Depends-on): Likewise.
47031         * modules/canonicalize (Depends-on): Likewise.
47032         * modules/canonicalize-lgpl (Depends-on): Likewise.
47033         * modules/fts (Depends-on): Likewise.
47034         * modules/getcwd (Depends-on): Likewise.
47035         * modules/human (Depends-on): Likewise.
47036         * modules/regex (Depends-on): Likewise.
47037         * modules/striconveh (Depends-on): Likewise.
47038         * modules/trim (Depends-on): Likewise.
47039         * modules/unistr/u8-move (Depends-on): Likewise.
47040         * modules/unistr/u16-move (Depends-on): Likewise.
47041         * modules/unistr/u32-move (Depends-on): Likewise.
47042
47043 2008-11-02  Bruno Haible  <bruno@clisp.org>
47044
47045         Mark 'memcpy' obsolete.
47046         * modules/memcpy (Status, Notice): New sections.
47047
47048 2008-11-02  Bruno Haible  <bruno@clisp.org>
47049
47050         Mark 'memcmp' obsolete.
47051         * modules/memcmp (Status, Notice): New sections.
47052         * modules/argmatch (Depends-on): Add memchr.
47053         * modules/backupfile (Depends-on): Likewise.
47054         * modules/c-strcasestr (Depends-on): Likewise.
47055         * modules/crypto/des (Depends-on): Likewise.
47056         * modules/csharpcomp (Depends-on): Likewise.
47057         * modules/fnmatch (Depends-on): Likewise.
47058         * modules/git-merge-changelog (Depends-on): Likewise.
47059         * modules/isnand (Depends-on): Likewise.
47060         * modules/isnand-nolibm (Depends-on): Likewise.
47061         * modules/isnanf (Depends-on): Likewise.
47062         * modules/isnanf-nolibm (Depends-on): Likewise.
47063         * modules/isnanl (Depends-on): Likewise.
47064         * modules/isnanl-nolibm (Depends-on): Likewise.
47065         * modules/mbchar (Depends-on): Likewise.
47066         * modules/memcoll (Depends-on): Likewise.
47067         * modules/quotearg (Depends-on): Likewise.
47068         * modules/regex (Depends-on): Likewise.
47069         * modules/relocatable-prog (Depends-on): Likewise.
47070         * modules/same (Depends-on): Likewise.
47071         * modules/signbit (Depends-on): Likewise.
47072         * modules/strcasestr-simple (Depends-on): Likewise.
47073         * modules/unictype/gen-ctype (Depends-on): Likewise.
47074         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
47075         * modules/uniname/uniname (Depends-on): Likewise.
47076         * modules/unistr/u8-cmp (Depends-on): Likewise.
47077
47078 2008-11-02  Bruno Haible  <bruno@clisp.org>
47079
47080         Mark 'memchr' obsolete.
47081         * modules/memchr (Status, Notice): New sections.
47082         * modules/argp (Depends-on): Add memchr.
47083         * modules/base64 (Depends-on): Likewise.
47084         * modules/c-strcasestr (Depends-on): Likewise.
47085         * modules/chdir-long (Depends-on): Likewise.
47086         * modules/fnmatch (Depends-on): Likewise.
47087         * modules/getsubopt (Depends-on): Likewise.
47088         * modules/git-merge-changelog (Depends-on): Likewise.
47089         * modules/glob (Depends-on): Likewise.
47090         * modules/strcasestr-simple (Depends-on): Likewise.
47091         * modules/strnlen (Depends-on): Likewise.
47092
47093 2008-11-02  Bruno Haible  <bruno@clisp.org>
47094
47095         Mark 'atexit' obsolete.
47096         * modules/atexit (Status, Notice): New sections.
47097         * modules/chdir-long (Depends-on): Add atexit.
47098         * modules/wait-process (Depends-on): Likewise.
47099
47100 2008-11-02  Bruno Haible  <bruno@clisp.org>
47101
47102         * gnulib-tool: New option --with-obsolete.
47103         (func_usage): Document it.
47104         (func_modules_transitive_closure): Drop obsolete dependencies if
47105         incobsolete is not true.
47106         (func_import): Read and save the incobsolete variable to the cache.
47107
47108 2008-11-02  Bruno Haible  <bruno@clisp.org>
47109
47110         * modules/TEMPLATE-EXTENDED: New field 'Status'.
47111         * gnulib-tool: New option --extract-status.
47112         (func_usage): Document it.
47113         (sed_extract_prog): Recognize it.
47114         (func_get_status): New function.
47115
47116 2008-10-30  Simon Josefsson  <simon@josefsson.org>
47117
47118         * modules/sockets (License): Change from LGPL to LGPLv2+.
47119
47120 2008-10-28  Simon Josefsson  <simon@josefsson.org>
47121
47122         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
47123
47124 2008-10-28  Simon Josefsson  <simon@josefsson.org>
47125
47126         * MODULES.html.sh (Support for systems lacking POSIX:2001):
47127         Mention times and sys_times.
47128         * modules/sys_times, modules/sys_times-tests: New modules.
47129         * modules/times, modules/times-tests: Likewise
47130         * m4/sys_times_h.m4: New file.
47131         * lib/sys_times.in.h: Likewise
47132         * lib/times.c: Likewise.
47133         * tests/test-sys_times.c: Likewise.
47134         * tests/test-times.c: Likewise.
47135         * doc/posix-headers/sys_times.texi: Update.
47136         * doc/posix-functions/times.texi: Update.
47137
47138 2008-10-28  Jim Meyering  <meyering@redhat.com>
47139
47140         * modules/tempname (Depends-on): Add lstat.
47141
47142         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
47143
47144 2008-10-28  Simon Josefsson  <simon@josefsson.org>
47145
47146         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
47147         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
47148         using idiom used elsewhere in gnulib.
47149
47150 2008-10-27  Jim Meyering  <meyering@redhat.com>
47151
47152         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
47153
47154 2008-10-27  Simon Josefsson  <simon@josefsson.org>
47155
47156         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
47157         TESTS_ENVIRONMENT, for shell scripts that needs to call built
47158         programs.
47159         * tests/test-argp-2.sh: Use $EXEEXT when needed.
47160
47161 2008-10-27  Simon Josefsson  <simon@josefsson.org>
47162
47163         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
47164
47165 2008-10-27  Bruno Haible  <bruno@clisp.org>
47166
47167         * tests/test-lstat.c: Include <stdio.h>.
47168
47169 2008-10-27  Simon Josefsson  <simon@josefsson.org>
47170
47171         * modules/lstat-tests: New module.
47172         * tests/test-lstat.c: New file.
47173
47174 2008-10-26  Jim Meyering  <meyering@redhat.com>
47175
47176         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
47177
47178 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47179             Bruno Haible  <bruno@clisp.org>
47180
47181         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
47182         * modules/configmake (Include): Add a note that the include must come
47183         after all system headers.
47184         * lib/javaversion.c: Include configmake.h after all other includes.
47185
47186 2008-10-26  Bruno Haible  <bruno@clisp.org>
47187
47188         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
47189         HAVE_STRUCT_RANDOM_DATA to 1.
47190         (gl_STDLIB_H): Simplify.
47191
47192 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47193
47194         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
47195         substitute HAVE_STRUCT_RANDOM_DATA.
47196         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
47197         random_data.
47198         * modules/stdlib (Makefile.am): Substitute
47199         HAVE_STRUCT_RANDOM_DATA.
47200
47201 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47202
47203         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
47204         * doc/gnulib-intro.texi (Copyright): Likewise.
47205
47206 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47207
47208         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
47209         findings.
47210
47211 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
47212             Bruno Haible  <bruno@clisp.org>
47213
47214         * lib/unistd.in.h: Include <winsock2.h>.
47215         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
47216         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
47217         Provide dummy declarations.
47218         (gethostname): Override.
47219         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
47220         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
47221         gl_PREREQ_SYS_H_WINSOCK2.
47222         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
47223         * doc/posix-functions/gethostname.texi: More details.
47224
47225 2008-10-25  Bruno Haible  <bruno@clisp.org>
47226
47227         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
47228         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
47229         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
47230
47231         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
47232         here ...
47233         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
47234         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
47235         gl_UNISTD_H_DEFAULTS.
47236
47237 2008-10-25  Eric Blake  <ebb9@byu.net>
47238
47239         signbit: avoid spurious compiler failure
47240         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
47241         declarations inside function.
47242
47243 2008-10-24  Simon Josefsson  <simon@josefsson.org>
47244             Bruno Haible  <bruno@clisp.org>
47245
47246         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
47247         * modules/random_r (Depends-on): Add stdint.
47248
47249 2008-10-24  Bruno Haible  <bruno@clisp.org>
47250
47251         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
47252         Eggert.
47253         * modules/strerror (License): Likewise.
47254
47255 2008-10-24  Jim Meyering  <meyering@redhat.com>
47256
47257         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
47258         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
47259
47260 2008-10-24  Eric Blake  <ebb9@byu.net>
47261
47262         getgroups: fix compilation when getgroups is available
47263         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
47264         but with <config.h> override of getgroups disabled.
47265
47266 2008-10-24  Simon Josefsson  <simon@josefsson.org>
47267
47268         * doc/gnulib.texi (Header files): Add note about C++ problems.
47269         Explained by Bruno Haible <bruno@clisp.org>.
47270
47271 2008-10-23  Bruno Haible  <bruno@clisp.org>
47272
47273         Define a dummy SA_NODEFER macro on Interix.
47274         * lib/signal.in.h (SA_NODEFER): Define fallback.
47275         Reported by Aleksey Cheusov <cheusov@tut.by> via
47276         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
47277
47278 2008-10-23  Bruno Haible  <bruno@clisp.org>
47279
47280         * modules/freadahead (License): Change to LGPLv2+.
47281         Suggested by Simon Josefsson.
47282
47283 2008-10-23  Jim Meyering  <meyering@redhat.com>
47284
47285         random_r: new module
47286         * modules/random_r: New file.
47287         * m4/random_r.m4: New file.
47288         * lib/random_r.c: New file, from glibc.
47289         * modules/random_r-tests: New file.
47290         * tests/test-random_r.c: New file.
47291         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
47292          Declare.
47293         (RAND_MAX): Define.
47294         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
47295         * modules/stdlib: Substitute them, too.
47296         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
47297         * doc/glibc-functions/initstate_r.texi: Mention the new module.
47298         * doc/glibc-functions/random_r.texi: Likewise.
47299         * doc/glibc-functions/setstate_r.texi: Likewise.
47300         * doc/glibc-functions/srandom_r.texi: Likewise.
47301         * config/srclist.txt: Mention it.
47302
47303 2008-10-23  David Lutterkort  <lutter@redhat.com>
47304
47305         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
47306         link requirement
47307
47308 2008-10-23  Jim Meyering  <meyering@redhat.com>
47309
47310         selinux-h: mark parameters of stub functions as intentionally unused
47311         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
47312         * lib/se-context.in.h: Likewise.
47313
47314 2008-10-22  Simon Josefsson  <simon@josefsson.org>
47315
47316         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
47317
47318 2008-10-22  Simon Josefsson  <simon@josefsson.org>
47319
47320         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
47321
47322 2008-10-22  Eric Blake  <ebb9@byu.net>
47323
47324         glthread/thread: avoid compiler warning
47325         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
47326         Add unreachable abort to silence compiler.
47327
47328 2008-10-22  Eric Blake  <ebb9@byu.net>
47329
47330         netdb: also supply struct addrinfo for cygwin 1.5.x
47331         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
47332         older cygwin.
47333         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
47334         cygwin.
47335         * doc/posix-headers/netdb.texi (netdb.h): Document this.
47336
47337 2008-10-22  Bruno Haible  <bruno@clisp.org>
47338
47339         * users.txt: Update entry about pspp.
47340
47341 2008-10-21  Bruno Haible  <bruno@clisp.org>
47342
47343         Simplification.
47344         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
47345         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
47346
47347         Simplification.
47348         * lib/ioctl.c (ioctl): Don't undefine.
47349         * lib/socket.c (socket): Don't undefine.
47350
47351         Remove unused module indicator macros.
47352         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
47353         GNULIB_$1 as a C macro.
47354
47355         * doc/posix-functions/close.texi: Undo last change.
47356         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
47357         Windows platforms.
47358
47359 2008-10-21  Bruno Haible  <bruno@clisp.org>
47360
47361         Add gethostname() declaration to <unistd.h>.
47362         * lib/unistd.in.h (gethostname): New declaration.
47363         * lib/gethostname.c: Include <unistd.h>.
47364         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
47365         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
47366         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
47367         and HAVE_GETHOSTNAME.
47368         * modules/gethostname (Depends-on): Add unistd.
47369         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47370         (Include): Specify <unistd.h>.
47371         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
47372         HAVE_GETHOSTNAME.
47373         * tests/test-gethostname.c: Include <unistd.h> first.
47374
47375 2008-10-21  Bruno Haible  <bruno@clisp.org>
47376
47377         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
47378         * modules/select-tests (Depends-on): Likewise.
47379         Reported by Simon Josefsson.
47380
47381 2008-10-21  Simon Josefsson  <simon@josefsson.org>
47382
47383         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
47384         * lib/accept.c: New file, based on winsock.c.
47385         * lib/bind.c: New file, based on winsock.c.
47386         * lib/connect.c: New file, based on winsock.c.
47387         * lib/getpeername.c: New file, based on winsock.c.
47388         * lib/getsockname.c: New file, based on winsock.c.
47389         * lib/getsockopt.c: New file, based on winsock.c.
47390         * lib/ioctl.c: New file, based on winsock.c.
47391         * lib/listen.c: New file, based on winsock.c.
47392         * lib/recv.c: New file, based on winsock.c.
47393         * lib/recvfrom.c: New file, based on winsock.c.
47394         * lib/send.c: New file, based on winsock.c.
47395         * lib/sendto.c: New file, based on winsock.c.
47396         * lib/setsockopt.c: New file, based on winsock.c.
47397         * lib/shutdown.c: New file, based on winsock.c.
47398         * lib/socket.c: New file, based on winsock.c.
47399         * lib/w32sock.h: New file, based on winsock.c.
47400         * lib/winsock.c: Remove file.
47401         * modules/accept: Likewise.
47402         * modules/bind: Likewise.
47403         * modules/connect: Likewise.
47404         * modules/getpeername: Likewise.
47405         * modules/getsockname: Likewise.
47406         * modules/getsockopt: Likewise.
47407         * modules/ioctl: Likewise.
47408         * modules/listen: Likewise.
47409         * modules/recv: Likewise.
47410         * modules/recvfrom: Likewise.
47411         * modules/send: Likewise.
47412         * modules/sendto: Likewise.
47413         * modules/setsockopt: Likewise.
47414         * modules/shutdown: Likewise.
47415         * modules/socket: Use socket.c instead of winsock.c.
47416         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
47417         * doc/posix-functions/accept.texi: Doc fix.
47418         * doc/posix-functions/bind.texi: Doc fix.
47419         * doc/posix-functions/close.texi: Doc fix.
47420         * doc/posix-functions/connect.texi: Doc fix.
47421         * doc/posix-functions/getpeername.texi: Doc fix.
47422         * doc/posix-functions/getsockname.texi: Doc fix.
47423         * doc/posix-functions/getsockopt.texi: Doc fix.
47424         * doc/posix-functions/ioctl.texi: Doc fix.
47425         * doc/posix-functions/listen.texi: Doc fix.
47426         * doc/posix-functions/recv.texi: Doc fix.
47427         * doc/posix-functions/recvfrom.texi: Doc fix.
47428         * doc/posix-functions/send.texi: Doc fix.
47429         * doc/posix-functions/sendto.texi: Doc fix.
47430         * doc/posix-functions/setsockopt.texi: Doc fix.
47431         * doc/posix-functions/shutdown.texi: Doc fix.
47432         * doc/posix-functions/socket.texi: Doc fix.
47433
47434 2008-10-20  Bruno Haible  <bruno@clisp.org>
47435
47436         Take into account the role of SIGABRT_COMPAT on Windows 2008.
47437         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
47438         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
47439         as an alias for SIGABRT.
47440         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
47441         (sigaction): Map it to SIGABRT.
47442         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
47443
47444 2008-10-20  Bruno Haible  <bruno@clisp.org>
47445
47446         * lib/fts.c: Don't include lstat.h.
47447         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
47448
47449         Move the lstat() declaration to <sys/stat.h>.
47450         * lib/lstat.h: Remove file.
47451         * lib/sys_stat.in.h: Add special invocation convention.
47452         (lstat): New declaration.
47453         * lib/lstat.c (orig_lstat): New function.
47454         (rpl_lstat): Use orig_lstat instead of lstat.
47455         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
47456         AC_C_INLINE. Set REPLACE_LSTAT.
47457         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
47458         and REPLACE_LSTAT.
47459         * modules/lstat (Files): Remove lib/lstat.h.
47460         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
47461         (Include): Specify <sys/stat.h> instead of lstat.h.
47462         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
47463         REPLACE_LSTAT.
47464         * NEWS: Mention the change.
47465
47466 2008-10-20  Bruno Haible  <bruno@clisp.org>
47467
47468         * modules/posix_spawn-tests: New file.
47469         * tests/test-posix_spawn3.c: New file.
47470
47471 2008-10-20  Bruno Haible  <bruno@clisp.org>
47472
47473         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
47474         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
47475         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
47476         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
47477         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
47478
47479 2008-10-20  Bruno Haible  <bruno@clisp.org>
47480
47481         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
47482         of posix_spawn on AIX 5.3.
47483
47484 2008-10-20  Bruno Haible  <bruno@clisp.org>
47485
47486         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
47487
47488 2008-10-20  Bruno Haible  <bruno@clisp.org>
47489
47490         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
47491         of AC_LANG_PROGRAM.
47492
47493 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47494
47495         * lib/netdb.in.h: Don't define GNU specific constants until they
47496         are supported or needed.  Reported by Bruno Haible
47497         <bruno@clisp.org>.
47498
47499 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47500
47501         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
47502
47503 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47504
47505         * lib/getaddrinfo.h: Remove file.
47506         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
47507         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
47508         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
47509         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
47510         * modules/netdb: Substitute GNULIB_GETADDRINFO.
47511         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
47512         * tests/test-getaddrinfo.c: Likewise.
47513         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
47514         * NEWS: Mention change.
47515
47516 2008-10-19  Bruno Haible  <bruno@clisp.org>
47517
47518         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
47519
47520 2008-10-19  Bruno Haible  <bruno@clisp.org>
47521
47522         * lib/wait-process.c: Include simply <sys/wait.h>.
47523         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
47524         WIFSTOPPED): Remove fallback definitions.
47525         * modules/wait-process (Depends-on): Add sys_wait.
47526
47527         New module 'sys_wait'.
47528         * modules/sys_wait: New file.
47529         * lib/sys_wait.in.h: New file, partially copied from
47530         lib/wait-process.c.
47531         * m4/sys_wait_h.m4: New file.
47532         * doc/posix-headers/sys_wait.texi: Mention the new module.
47533
47534 2008-10-19  Bruno Haible  <bruno@clisp.org>
47535
47536         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
47537
47538 2008-10-19  Bruno Haible  <bruno@clisp.org>
47539
47540         Assume that waitpid() fills an 'int' status, not a 'union wait'.
47541         * lib/wait-process.c (WAIT_T): Remove type.
47542         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
47543         (wait_subprocess): Update.
47544
47545 2008-10-19  Bruno Haible  <bruno@clisp.org>
47546
47547         New module 'atoll'.
47548         * modules/atoll: New file.
47549         * lib/stdlib.in.h (atoll): New declaration.
47550         * lib/atoll.c: New file, from glibc with modifications.
47551         * m4/atoll.m4: New file.
47552         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
47553         HAVE_ATOLL.
47554         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
47555         * doc/posix-functions/atoll.texi: Mention the new module.
47556
47557 2008-10-19  Bruno Haible  <bruno@clisp.org>
47558
47559         Add strtoull() declaration to <stdlib.h>.
47560         * lib/stdlib.in.h (strtoull): New declaration.
47561         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
47562         Set HAVE_STRTOULL.
47563         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
47564         HAVE_STRTOULL.
47565         * modules/strtoull (Depends-on): Add stdlib.
47566         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47567         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
47568         HAVE_STRTOULL.
47569
47570 2008-10-19  Bruno Haible  <bruno@clisp.org>
47571
47572         Add strtoll() declaration to <stdlib.h>.
47573         * lib/stdlib.in.h (strtoll): New declaration.
47574         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
47575         Set HAVE_STRTOLL.
47576         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
47577         HAVE_STRTOLL.
47578         * modules/strtoll (Depends-on): Add stdlib.
47579         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47580         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
47581
47582 2008-10-19  Bruno Haible  <bruno@clisp.org>
47583
47584         * modules/bcopy (Depends-on): Add strings.
47585         (Include): Specify <strings.h>.
47586
47587 2008-10-19  Bruno Haible  <bruno@clisp.org>
47588
47589         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
47590
47591 2008-10-19  Bruno Haible  <bruno@clisp.org>
47592
47593         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
47594         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
47595         mingw.
47596
47597 2008-10-19  Bruno Haible  <bruno@clisp.org>
47598
47599         * lib/atanl.c: Don't include isnanl.h.
47600         * lib/cosl.c: Likewise.
47601         * lib/ldexpl.c: Likewise.
47602         * lib/logl.c: Likewise.
47603         * lib/sinl.c: Likewise.
47604         * lib/sqrtl.c: Likewise.
47605         * lib/tanl.c: Likewise.
47606
47607         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
47608         * lib/isnanf.h: Remove file.
47609         * lib/isnand.h: Remove file.
47610         * lib/isnanl.h: Remove file.
47611         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
47612         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
47613         macros.
47614         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
47615         HAVE_ISNANF, don't define it as a C macro.
47616         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
47617         HAVE_ISNAND, don't define it as a C macro.
47618         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
47619         HAVE_ISNANL, don't define it as a C macro.
47620         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
47621         HAVE_ISNAN[FDL].
47622         * modules/isnanf (Files): Remove lib/isnanf.h.
47623         (Depends-on): Add math.
47624         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
47625         (Include): Specify <math.h> instead of isnanf.h.
47626         * modules/isnand (Files): Remove lib/isnand.h.
47627         (Depends-on): Add math.
47628         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
47629         (Include): Specify <math.h> instead of isnand.h.
47630         * modules/isnanl (Files): Remove lib/isnanl.h.
47631         (Depends-on): Add math.
47632         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
47633         (Include): Specify <math.h> instead of isnanl.h.
47634         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
47635         HAVE_ISNAN[FDL].
47636         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
47637         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
47638         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
47639         * NEWS: Mention the change.
47640
47641 2008-10-18  Bruno Haible  <bruno@clisp.org>
47642
47643         Add getusershell(), setusershell(), endusershell() declarations to
47644         <unistd.h>.
47645         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
47646         declarations.
47647         * lib/getusershell.c: Include unistd.h.
47648         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
47649         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
47650         HAVE_GETUSERSHELL.
47651         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
47652         and HAVE_GETUSERSHELL.
47653         * modules/getusershell (Depends-on): Add unistd, extensions.
47654         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47655         (Include): Specify <unistd.h>.
47656         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
47657         HAVE_GETUSERSHELL.
47658
47659 2008-10-18  Bruno Haible  <bruno@clisp.org>
47660
47661         Add a getloadavg() declaration to <stdlib.h>.
47662         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
47663         getloadavg declaration.
47664         (getloadavg): New declaration.
47665         * lib/getloadavg.c: Include <stdlib.h> first.
47666         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
47667         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
47668         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
47669         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
47670         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
47671         * modules/getloadavg (Depends-on): Add stdlib, extensions.
47672         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47673         (Include): Specify <stdlib.h>.
47674         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
47675         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
47676
47677 2008-10-18  Bruno Haible  <bruno@clisp.org>
47678
47679         * lib/dirchownmod.c: Don't include lchmod.h.
47680
47681         Move the lchmod() declaration to <sys/stat.h>.
47682         * lib/lchmod.h: Remove file.
47683         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
47684         (lchmod): New declaration, moved here from lib/lchown.h.
47685         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
47686         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
47687         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
47688         and HAVE_LCHMOD.
47689         * modules/lchmod (Files): Remove lib/lchmod.h.
47690         (Depends-on): Add sys_stat, extensions.
47691         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
47692         (Include): Specify <sys/stat.h> instead of lchmod.h.
47693         * modules/sys_stat (Depends-on): Add link-warning.
47694         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
47695         definition of GL_LINK_WARNING.
47696         * NEWS: Mention the change.
47697
47698 2008-10-18  Bruno Haible  <bruno@clisp.org>
47699
47700         * lib/fchdir.c: Don't include dirfd.h.
47701         * lib/fts.c: Likewise.
47702         * lib/getcwd.c: Likewise.
47703         * lib/glob.c: Likewise.
47704
47705         Move the dirfd() declaration to <dirent.h>.
47706         * lib/dirfd.h: Remove file.
47707         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
47708         (dirfd): New declaration.
47709         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
47710         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
47711         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
47712         HAVE_DECL_DIRFD.
47713         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
47714         HAVE_DECL_DIRFD.
47715         * modules/dirfd (Files): Remove lib/dirfd.h.
47716         (Depends-on): Add dirent, extensions.
47717         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
47718         (Include): Specify <dirent.h> instead of dirfd.h.
47719         * modules/dirent (Depends-on): Add link-warning.
47720         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
47721         definition of GL_LINK_WARNING.
47722         * NEWS: Mention the change.
47723
47724 2008-10-18  Bruno Haible  <bruno@clisp.org>
47725
47726         Move the euidaccess() declaration to <unistd.h>.
47727         * lib/euidaccess.h: Remove file.
47728         * lib/unistd.in.h (euidaccess): New declaration.
47729         * lib/euidaccess.c: Don't include euidaccess.h.
47730         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
47731         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
47732         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
47733         and HAVE_EUIDACCESS.
47734         * modules/euidaccess (Files): Remove lib/euidaccess.h.
47735         (Depends-on): Add unistd.
47736         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47737         (Include): Specify <unistd.h> instead of euidaccess.h.
47738         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
47739         HAVE_EUIDACCESS.
47740         * NEWS: Mention the change.
47741
47742 2008-10-18  Bruno Haible  <bruno@clisp.org>
47743
47744         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
47745
47746         Move the getdomainname() declaration to <unistd.h>.
47747         * lib/getdomainname.h: Remove file.
47748         * lib/unistd.in.h (getdomainname): New declaration.
47749         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
47750         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
47751         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
47752         HAVE_GETDOMAINNAME.
47753         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47754         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
47755         * modules/getdomainname (Files): Remove lib/getdomainname.h.
47756         (Depends-on): Add unistd, extensions.
47757         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47758         (Includes): Specify <unistd.h> instead of getdomainname.h.
47759         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
47760         HAVE_GETDOMAINNAME.
47761         * NEWS: Mention the change.
47762
47763 2008-10-18  Bruno Haible  <bruno@clisp.org>
47764
47765         * modules/dirent: New file.
47766         * m4/dirent_h.m4: New file.
47767         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
47768         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
47769         * modules/fchdir (Files): Remove lib/dirent.in.h.
47770         (Depends-on): Add dirent.
47771         (Makefile.am): Move rules to modules/dirent.
47772         * doc/posix-headers/dirent.texi: Mention the new module.
47773
47774 2008-10-18  Bruno Haible  <bruno@clisp.org>
47775
47776         Avoid -Wunused-parameter warnings in public gnulib header files.
47777         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
47778         macro.
47779         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
47780
47781 2008-10-18  Bruno Haible  <bruno@clisp.org>
47782
47783         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
47784         * doc/glibc-functions/error.texi: Mention the module 'error'.
47785         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
47786         * doc/glibc-functions/getdomainname.texi: Mention the module
47787         'getdomainname'.
47788         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
47789         * doc/glibc-functions/getpagesize.texi: Mention the module
47790         'getpagesize'.
47791         * doc/glibc-functions/getusershell.texi: Mention the module
47792         'getusershell'.
47793         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
47794         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
47795         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
47796         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
47797         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
47798         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
47799         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
47800         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
47801         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
47802         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
47803         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
47804         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
47805         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
47806         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
47807
47808 2008-10-17  Bruno Haible  <bruno@clisp.org>
47809
47810         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
47811         HP-UX and IRIX, use -0.0L.
47812         * tests/test-ceill.c (minus_zero): Likewise.
47813         * tests/test-floorl.c (minus_zero): Likewise.
47814         * tests/test-frexpl.c (minus_zero): Likewise.
47815         * tests/test-isnan.c (minus_zerol): Likewise.
47816         * tests/test-isnanl.h (minus_zero): Likewise.
47817         * tests/test-ldexpl.c (minus_zero): Likewise.
47818         * tests/test-roundl.c (minus_zero): Likewise.
47819         * tests/test-signbit.c (minus_zerol): Likewise.
47820         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
47821         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
47822         * tests/test-truncl.c (minus_zero): Likewise.
47823         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
47824         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
47825         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
47826         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
47827
47828 2008-10-17  Bruno Haible  <bruno@clisp.org>
47829
47830         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
47831         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
47832         that it gets activated only for gcc >= 3.0.
47833         * lib/dirent.in.h: Likewise.
47834         * lib/errno.in.h: Likewise.
47835         * lib/fcntl.in.h: Likewise.
47836         * lib/float.in.h: Likewise.
47837         * lib/iconv.in.h: Likewise.
47838         * lib/inttypes.in.h: Likewise.
47839         * lib/locale.in.h: Likewise.
47840         * lib/math.in.h: Likewise.
47841         * lib/netdb.in.h: Likewise.
47842         * lib/netinet_in.in.h: Likewise.
47843         * lib/search.in.h: Likewise.
47844         * lib/signal.in.h: Likewise.
47845         * lib/spawn.in.h: Likewise.
47846         * lib/stdarg.in.h: Likewise.
47847         * lib/stdint.in.h: Likewise.
47848         * lib/stdio.in.h: Likewise.
47849         * lib/stdlib.in.h: Likewise.
47850         * lib/string.in.h: Likewise.
47851         * lib/strings.in.h: Likewise.
47852         * lib/sys_file.in.h: Likewise.
47853         * lib/sys_ioctl.in.h: Likewise.
47854         * lib/sys_select.in.h: Likewise.
47855         * lib/sys_socket.in.h: Likewise.
47856         * lib/sys_stat.in.h: Likewise.
47857         * lib/sys_time.in.h: Likewise.
47858         * lib/sysexits.in.h: Likewise.
47859         * lib/time.in.h: Likewise.
47860         * lib/unistd.in.h: Likewise.
47861         * lib/wchar.in.h: Likewise.
47862         * lib/wctype.in.h: Likewise.
47863         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
47864
47865 2008-10-17  Jim Meyering  <meyering@redhat.com>
47866
47867         ignore-value: don't depend on inline module
47868         * modules/ignore-value (Depends-on): Remove 'inline'.
47869         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
47870         Suggestion from Bruno Haible.
47871
47872 2008-10-17  Bruno Haible  <bruno@clisp.org>
47873
47874         New implementation of condition variables for Win32.
47875         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
47876         (gl_linked_waitqueue_t): New type.
47877         (gl_cond_t): Use it.
47878         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
47879         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
47880         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
47881         (glthread_cond_init_func, glthread_cond_wait_func,
47882         glthread_cond_timedwait_func, glthread_cond_signal_func,
47883         glthread_cond_broadcast_func, glthread_cond_destroy_func):
47884         Reimplemented on the basis of gl_linked_waitqueue_t.
47885         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
47886         gl_waitqueue_t.
47887         (gl_rwlock_t): Update.
47888         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
47889
47890 2008-10-17  Simon Josefsson  <simon@josefsson.org>
47891
47892         * modules/recvfrom (Depends-on): Add dependency on getpeername.
47893         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47894
47895 2008-10-17  Jim Meyering  <meyering@redhat.com>
47896
47897         ignore-value: new module
47898         * modules/ignore-value: New file.
47899         * lib/ignore-value.h: New file.
47900         * MODULES.html.sh (Compiler warning management): New section,
47901         just for this module.  More to come.
47902
47903 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
47904
47905         open-safer.c: avoid 'signed and unsigned in conditional...' warning
47906         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
47907         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
47908
47909 2008-10-16  Jim Meyering  <meyering@redhat.com>
47910
47911         openat-die.c: avoid 'no previous prototype' warning
47912         * lib/openat-die.c: Include "openat.h".
47913         Reported by Reuben Thomas <rrt@sc3d.org>.
47914
47915 2008-10-16  Simon Josefsson  <simon@josefsson.org>
47916
47917         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
47918         * lib/netdb.in.h: Fix typo.
47919         Reported by Bruno Haible  <bruno@clisp.org>
47920
47921         * lib/netdb.in.h: Include sys/socket.h for platforms without
47922         netdb.h, to get structures like hostent on MinGW.
47923         * modules/netdb (Depends-on): Add sys_socket.
47924
47925 2008-10-15  Simon Josefsson  <simon@josefsson.org>
47926
47927         * modules/netdb, modules/netdb-tests: New file.
47928         * m4/netdb_h.m4: New file.
47929         * lib/netdb.in.h: Add, currently just an empty file pending
47930         definitions.
47931         * tests/test-netdb.c: New file.
47932         * doc/posix-headers/netdb.texi: Mention that we replace it if
47933         needed.
47934         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47935         netdb.
47936
47937 2008-10-15  Simon Josefsson  <simon@josefsson.org>
47938
47939         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
47940         with code.
47941
47942 2008-10-13  Bruno Haible  <bruno@clisp.org>
47943
47944         * lib/glthread/cond.c (glthread_cond_wait_func,
47945         glthread_cond_timedwait_func): Add a comment.
47946
47947 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
47948
47949         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
47950         * tests/test-select.c: Likewise,
47951
47952 2008-10-13  Bruno Haible  <bruno@clisp.org>
47953
47954         * lib/glthread/cond.c (glthread_cond_wait_func,
47955         glthread_cond_timedwait_func): Fix variable name.
47956         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47957
47958 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
47959
47960         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
47961         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
47962         struct sockaddr.sa_len.
47963         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
47964
47965 2008-10-13  Simon Josefsson  <simon@josefsson.org>
47966
47967         * build-aux/pmccabe2html: Add css and css_url parameters.
47968
47969 2008-10-12  Bruno Haible  <bruno@clisp.org>
47970
47971         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
47972         calling aclx_get.
47973         Reported by Rainer Tammer <tammer@tammer.net>.
47974
47975 2008-10-12  Bruno Haible  <bruno@clisp.org>
47976
47977         Use msvcrt aware primitives for creation/termination of Win32 threads.
47978         * lib/glthread/thread.c: Include <process.h>.
47979         (glthread_create_func): Use _beginthreadex instead of CreateThread.
47980         (wrapper_func): Update signature.
47981         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
47982
47983 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
47984             Bruno Haible  <bruno@clisp.org>
47985
47986         Provide a Win32 implementation of the 'cond' module.
47987         * lib/glthread/cond.h [USE_WIN32]: New implementation.
47988         * lib/glthread/cond.c (glthread_cond_init_func,
47989         glthread_cond_wait_func, glthread_cond_timedwait_func,
47990         glthread_cond_signal_func, glthread_cond_broadcast_func,
47991         glthread_cond_destroy_func) [USE_WIN32]: New functions.
47992         * modules/cond (Dependencies): Add gettimeofday.
47993
47994 2008-10-11  Bruno Haible  <bruno@clisp.org>
47995
47996         Make sleep work on older versions of mingw.
47997         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
47998         only whether it exists.
47999         * doc/posix-functions/sleep.texi: Mention the problem with older
48000         versions of mingw.
48001
48002 2008-10-11  Bruno Haible  <bruno@clisp.org>
48003
48004         New module 'shutdown'.
48005         * modules/shutdown: New file.
48006         * lib/sys_socket.in.h (shutdown): New declaration.
48007         * lib/winsock.c (shutdown): New function.
48008         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
48009         GNULIB_SHUTDOWN.
48010         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
48011         * doc/posix-functions/shutdown.texi: Document the new module.
48012
48013 2008-10-11  Jim Meyering  <meyering@redhat.com>
48014
48015         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
48016
48017 2008-10-11  Bruno Haible  <bruno@clisp.org>
48018
48019         New module 'fclose'.
48020         * modules/fclose: New file.
48021         * lib/stdio.in.h (fclose): New declaration.
48022         * lib/fclose.c: New file.
48023         * m4/fclose.m4: New file.
48024         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
48025         REPLACE_FCLOSE.
48026         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
48027         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
48028         REPLACE_FCLOSE.
48029         * modules/close (Depends-on): fclose.
48030         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
48031
48032 2008-10-11  Bruno Haible  <bruno@clisp.org>
48033
48034         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
48035         set errno and don't call _close.
48036
48037 2008-10-10  Bruno Haible  <bruno@clisp.org>
48038
48039         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
48040         ACL, not afterwards. Fixes test failure on Cygwin.
48041
48042 2008-10-09  Ben Pfaff  <blp@gnu.org>
48043
48044         * build-aux/announce-gen: Fix gnulib version related part of usage
48045         message.  Die with a useful error message if no tarballs are
48046         found.
48047
48048 2008-10-10  Jim Meyering  <meyering@redhat.com>
48049
48050         bootstrap: use git's --depth=N option only if it's supported
48051         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
48052         recognize the --depth option.  Reported by Pádraig Brady.
48053
48054 2008-10-09  Bruno Haible  <bruno@clisp.org>
48055
48056         New module 'ioctl'.
48057         * modules/ioctl: New file.
48058         * lib/sys_socket.in.h (ioctl): Remove declaration.
48059         * lib/winsock.c: Include <sys/ioctl.h>.
48060         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
48061         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
48062         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
48063         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
48064         * doc/posix-functions/ioctl.texi: Mention the new module.
48065
48066 2008-10-09  Bruno Haible  <bruno@clisp.org>
48067
48068         New module 'sys_ioctl'.
48069         * lib/sys_ioctl.in.h: New file.
48070         * m4/sys_ioctl_h.m4: New file.
48071         * modules/sys_ioctl: New file.
48072         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
48073
48074 2008-10-09  Bruno Haible  <bruno@clisp.org>
48075
48076         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
48077         * lib/winsock.c: Include <stdarg.h>.
48078         (rpl_ioctl): Change to second argument 'int' and then varargs.
48079
48080 2008-10-09  Bruno Haible  <bruno@clisp.org>
48081
48082         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
48083         when the sys_socket module is present and the system has <winsock2.h>.
48084
48085 2008-10-09  Bruno Haible  <bruno@clisp.org>
48086
48087         * doc/posix-functions/close.texi: Mention module 'close' instead of
48088         module 'sys_socket'.
48089
48090 2008-10-09  Bruno Haible  <bruno@clisp.org>
48091
48092         * doc/glibc-headers/sys_ioctl.texi: New file.
48093         * doc/gnulib.texi: Include it.
48094
48095 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48096             Bruno Haible  <bruno@clisp.org>
48097
48098         Combine the two replacements of 'close'.
48099         * lib/sys_socket.in.h (close): Define to a reminder to include
48100         <unistd.h>.
48101         (_gl_close_fd_maybe_socket): New declaration.
48102         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
48103         * lib/winsock.c (close): Remove undefinition.
48104         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
48105         needed for the gnulib module 'close'.
48106         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
48107         define to an error symbol or to a warning, if suitable.
48108         * lib/close.c: Include <sys/socket.h>.
48109         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
48110         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
48111         UNISTD_H_HAVE_WINSOCK2_H.
48112         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
48113         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48114         UNISTD_H_HAVE_WINSOCK2_H.
48115         * modules/sys_socket (Files): Add m4/unistd_h.m4.
48116         (configure.ac): Set a module indicator.
48117         (Makefile.am): Substitute GNULIB_CLOSE.
48118         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
48119         * modules/poll-tests (Depends-on): Add close.
48120         * modules/select-tests (Depends-on): Likewise.
48121
48122 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48123             Bruno Haible  <bruno@clisp.org>
48124
48125         New module 'close'.
48126         * modules/close: New file.
48127         * lib/unistd.in.h (close): Move declaration out of the
48128         FCHDIR_REPLACEMENT scope.
48129         (_gl_unregister_fd): New declaration.
48130         * lib/close.c: New file.
48131         * lib/fchdir.c (rpl_close): Remove function.
48132         * m4/close.m4: New file.
48133         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
48134         close.
48135         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
48136         REPLACE_CLOSE.
48137         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
48138         REPLACE_CLOSE.
48139         * modules/fchdir (Depends-on): Add close.
48140
48141 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48142             Bruno Haible  <bruno@clisp.org>
48143
48144         * lib/fcntl.in.h (open): Simplify conditionals.
48145         (_gl_register_fd): New declaration.
48146         * lib/fchdir.c (rpl_open): Remove function.
48147         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
48148         also.
48149         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
48150         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
48151         open.
48152
48153 2008-10-09  Jim Meyering  <meyering@redhat.com>
48154
48155         GNUmakefile: use the more name-space-friendly "_version"
48156         * top/GNUmakefile (_dummy): Update.
48157         (_version): Rename from "version".
48158
48159 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48160             Bruno Haible  <bruno@clisp.org>
48161
48162         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
48163         rpl_close.
48164         (_gl_register_fd): New function, extracted from rpl_open.
48165         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
48166         (rpl_open, rpl_opendir): Use _gl_register_fd.
48167
48168 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48169
48170         Fix organization of 'open' replacement.
48171         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
48172         (gl_FUNC_OPEN): Use it.
48173         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
48174
48175 2008-10-08  Bruno Haible  <bruno@clisp.org>
48176
48177         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
48178
48179 2008-10-08  Simon Josefsson  <simon@josefsson.org>
48180
48181         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
48182         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
48183         listen).
48184
48185 2008-10-08  Eric Blake  <ebb9@byu.net>
48186
48187         GNUmakefile: add 'make version' target
48188         * top/GNUmakefile (_curr-ver): Split version update rules...
48189         (version): ...into a target.
48190
48191 2008-10-07  Bruno Haible  <bruno@clisp.org>
48192
48193         Use a more portable replacement expression for -0.0L.
48194         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
48195         instead of -0.0L. Fix m4 quotation.
48196
48197         * tests/test-signbit.c: Include <float.h>.
48198         (minus_zero): New variable.
48199         (test_signbitl): Use minus_zero instead of -zero.
48200         * modules/signbit-tests (Depends-on): Add float.
48201
48202         * tests/test-ceill.c: Include <float.h>.
48203         (zero): Remove variable.
48204         (minus_zero): New variable.
48205         (main): Use minus_zero instead of -zero.
48206         * modules/ceill-tests (Depends-on): Add float.
48207
48208         * tests/test-floorl.c: Include <float.h>.
48209         (zero): Remove variable.
48210         (minus_zero): New variable.
48211         (main): Use minus_zero instead of -zero.
48212         * modules/floorl-tests (Depends-on): Add float.
48213
48214         * tests/test-roundl.c: Include <float.h>.
48215         (zero): Remove variable.
48216         (minus_zero): New variable.
48217         (main): Use minus_zero instead of -zero.
48218         * modules/roundl-tests (Depends-on): Add float.
48219
48220         * tests/test-truncl.c: Include <float.h>.
48221         (zero): Remove variable.
48222         (minus_zero): New variable.
48223         (main): Use minus_zero instead of -zero.
48224         * modules/truncl-tests (Depends-on): Add float.
48225
48226         * tests/test-frexpl.c (zero): Remove variable.
48227         (minus_zero): New variable.
48228         (main): Use minus_zero instead of -zero.
48229         * modules/frexpl-tests (Depends-on): Add float.
48230
48231         * tests/test-isnan.c (zerol): Remove variable.
48232         (minus_zerol): New variable.
48233         (test_long_double): Use minus_zerol instead of -zerol.
48234         * modules/isnan-tests (Depends-on): Add float.
48235
48236         * tests/test-isnanl.h (zero): Remove variable.
48237         (minus_zero): New variable.
48238         (main): Use minus_zero instead of -zero.
48239         * modules/isnanl-nolibm-tests (Depends-on): Add float.
48240         * modules/isnanl-tests (Depends-on): Add float.
48241
48242         * tests/test-ldexpl.c (zero): Remove variable.
48243         (minus_zero): New variable.
48244         (main): Use minus_zero instead of -zero.
48245         * modules/ldexpl-tests (Depends-on): Add float.
48246
48247         * tests/test-snprintf-posix.h (zerol): Remove variable.
48248         (minus_zerol): New variable.
48249         (test_function): Use minus_zerol instead of -zerol.
48250         * modules/snprintf-posix-tests (Depends-on): Add float.
48251         * modules/vsnprintf-posix-tests (Depends-on): Add float.
48252
48253         * tests/test-sprintf-posix.h (zerol): Remove variable.
48254         (minus_zerol): New variable.
48255         (test_function): Use minus_zerol instead of -zerol.
48256         * modules/sprintf-posix-tests (Depends-on): Add float.
48257         * modules/vsprintf-posix-tests (Depends-on): Add float.
48258
48259         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
48260         (minus_zerol): New variable.
48261         (test_function): Use minus_zerol instead of -zerol.
48262         * modules/vasnprintf-posix-tests (Depends-on): Add float.
48263
48264         * tests/test-vasprintf-posix.c (zerol): Remove variable.
48265         (minus_zerol): New variable.
48266         (test_function): Use minus_zerol instead of -zerol.
48267         * modules/vasprintf-posix-tests (Depends-on): Add float.
48268
48269 2008-10-07  Simon Josefsson  <simon@josefsson.org>
48270
48271         * MODULES.html.sh (Support for building documentation): Mention
48272         pmccabe2html.  Sort entries.
48273
48274         Add pmccabe2html module, from gnupdf.
48275         * build-aux/pmccabe.css: New file.
48276         * build-aux/pmccabe2html: New file.
48277         * m4/pmccabe2html.m4: New file.
48278         * modules/pmccabe2html: New file.
48279
48280 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
48281
48282         flock: new module
48283         * MODULES.html.sh: Add to list of modules.
48284         * lib/flock.c: flock implementation for Windows and Unix systems
48285         which have fcntl.
48286         * doc/glibc-functions/flock.texi: Update documentation.
48287         * lib/sys_file.in.h: <sys/file.h> header file.
48288         * m4/flock.m4: M4 macros.
48289         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
48290         * modules/flock: flock module.
48291         * modules/flock-tests: flock tests module.
48292         * modules/sys_file: sys/file.h module.
48293         * tests/test-flock.c: test suite for flock.
48294
48295 2008-10-06  Jim Meyering  <meyering@redhat.com>
48296
48297         bootstrap: check for LT_INIT more portably still ;-)
48298         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
48299         Spotted by Bruno Haible.
48300
48301 2008-10-06  Eric Blake  <ebb9@byu.net>
48302
48303         test-signbit: avoid tripping Irix cc bug on -0.0L
48304         * tests/test-signbit.c (minus_zerol): Delete, and replace with
48305         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
48306         entire testsuite consistent and avoids an Irix 6.2 bug.
48307
48308 2008-10-05  Bruno Haible  <bruno@clisp.org>
48309             Jim Meyering  <jim@meyering.net>
48310
48311         Add an option for ignoring EPIPE during close_stdout.
48312         * lib/closeout.h: Include <stdbool.h>.
48313         (close_stdout_set_ignore_EPIPE): New declaration.
48314         * lib/closeout.c: Include <stdbool.h>.
48315         (ignore_EPIPE): New variable.
48316         (close_stdout_set_ignore_EPIPE): New function.
48317         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
48318         * lib/close-stream.c (close_stream): Mention the possible EPIPE
48319         failure.
48320         * modules/closeout (Depends-on): Add stdbool.
48321
48322 2008-10-05  Bruno Haible  <bruno@clisp.org>
48323
48324         * modules/accept: New file.
48325         * modules/bind: New file.
48326         * modules/connect: New file.
48327         * modules/getpeername: New file.
48328         * modules/getsockname: New file.
48329         * modules/getsockopt: New file.
48330         * modules/listen: New file.
48331         * modules/recv: New file.
48332         * modules/recvfrom: New file.
48333         * modules/send: New file.
48334         * modules/sendto: New file.
48335         * modules/setsockopt: New file.
48336         * modules/socket: New file.
48337         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
48338         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
48339         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
48340         the particular module is requested. Add a link warning when the
48341         particular module is not requested.
48342         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
48343         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
48344         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
48345         the particular module is requested.
48346         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
48347         gl_SYS_SOCKET_H_DEFAULTS): New macros.
48348         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
48349         * modules/sys_socket (Depends-on): Add link-warning.
48350         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
48351         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
48352         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
48353         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
48354         GL_LINK_WARNING.
48355         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
48356         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
48357         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
48358         * doc/posix-functions/getpeername.texi: Mention the new module
48359         'getpeername'.
48360         * doc/posix-functions/getsockname.texi: Mention the new module
48361         'getsockname'.
48362         * doc/posix-functions/getsockopt.texi: Mention the new module
48363         'getsockopt'.
48364         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
48365         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
48366         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
48367         * doc/posix-functions/send.texi: Mention the new module 'send'.
48368         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
48369         * doc/posix-functions/setsockopt.texi: Mention the new module
48370         'setsockopt'.
48371         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
48372         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
48373         listen, connect, accept.
48374         * modules/select-tests (Depends-on): Likewise.
48375
48376 2008-10-05  Bruno Haible  <bruno@clisp.org>
48377
48378         * lib/winsock.c (strerror): Remove unused #undef.
48379         (rpl_close): Remove unused local variable.
48380
48381         * modules/sys_socket (Depends-on); Add errno.
48382
48383 2008-10-05  Bruno Haible  <bruno@clisp.org>
48384
48385         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
48386         (select): Add a link warning when the 'select' module is not used.
48387         * modules/sys_select (Depends-on): Add link-warning.
48388         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
48389         Suggested by Paolo Bonzini.
48390
48391 2008-10-05  Jim Meyering  <meyering@redhat.com>
48392
48393         bootstrap: check for LT_INIT more portably
48394         * build-aux/bootstrap: Avoid using grep -E, since it's not
48395         portable enough.  Suggestion from Bruno Haible.
48396
48397 2008-10-05  Bruno Haible  <bruno@clisp.org>
48398
48399         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
48400         as being fixed by gnulib.
48401
48402 2008-10-05  Bruno Haible  <bruno@clisp.org>
48403
48404         * modules/select-tests: New file, mostly copied from
48405         modules/sys_select-tests.
48406         * tests/test-select.c: New file, mostly copied from
48407         tests/test-sys_select.c.
48408         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
48409         * modules/sys_select-tests (Depends-on): Remove all dependencies.
48410         (Makefile.am): Remove test_sys_select_LDADD.
48411
48412         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
48413         to an undefined symbol, for an error message.
48414         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
48415         (gl_SYS_SELECT_H_DEFAULTS): New macro.
48416         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
48417         winsock-select.c here.
48418         * modules/sys_select (Files): Remove lib/winsock-select.c.
48419         (Depends-on): Remove alloca.
48420         (Makefile.am): Substitute GNULIB_SELECT.
48421         * modules/select: New file.
48422         * doc/posix-functions/select.texi: Update.
48423
48424 2008-10-05  Bruno Haible  <bruno@clisp.org>
48425
48426         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
48427         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
48428         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
48429         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
48430         getdtablesize.
48431         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
48432         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
48433
48434 2008-10-05  Bruno Haible  <bruno@clisp.org>
48435
48436         * modules/getdtablesize-tests: New file.
48437         * tests/test-getdtablesize.c: New file.
48438
48439         New module 'getdtablesize'.
48440         * lib/unistd.in.h (getdtablesize): New declaration.
48441         * lib/getdtablesize.c: New file.
48442         * m4/getdtablesize.m4: New file.
48443         * modules/getdtablesize: New file.
48444         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48445         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
48446         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
48447         HAVE_GETDTABLESIZE.
48448         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
48449
48450 2008-10-05  Bruno Haible  <bruno@clisp.org>
48451
48452         * modules/sched (Makefile.am): Fix typo.
48453         Reported by Simon Josefsson.
48454
48455 2008-10-05  Jim Meyering  <meyering@redhat.com>
48456
48457         bootstrap: check for LT_INIT, too
48458         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
48459         are deprecated.  Suggestion from Ralf Wildenhues.
48460
48461 2008-10-05  Bruno Haible  <bruno@clisp.org>
48462
48463         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
48464         overriding them by ours.
48465         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
48466
48467 2008-10-05  Jim Meyering  <meyering@redhat.com>
48468
48469         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
48470         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
48471         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
48472
48473 2008-10-04  Bruno Haible  <bruno@clisp.org>
48474
48475         * modules/dup2 (License): Change to LGPLv2+.
48476         * modules/sleep (License): Likewise.
48477         * modules/perror (License): Likewise.
48478         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
48479         Blake.
48480         * modules/signal (License): Likewise.
48481         * modules/sigprocmask (License): Likewise.
48482         * modules/raise (License): Change to LGPLv2+, with approval by Jim
48483         Meyering.
48484
48485 2008-10-04  Bruno Haible  <bruno@clisp.org>
48486
48487         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
48488         Reported by Rainer Tammer <tammer@tammer.net>.
48489
48490 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
48491             Bruno Haible  <bruno@clisp.org>
48492
48493         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
48494         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
48495         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
48496
48497 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
48498
48499         filevercmp: new module
48500         * lib/filevercmp.h: New function filevercmp comparing version strings.
48501         * lib/filevercmp.c: Implementation of filevercmp function.
48502         * modules/filevercmp: Module metadata.
48503         * tests/test-filevercmp.c: Unit test for new module.
48504         * modules/filevercmp-tests: Unit test metadata.
48505         * MODULES.html.sh: Add filevercmp module.
48506
48507 2008-10-03  Bruno Haible  <bruno@clisp.org>
48508
48509         * lib/c-ctype.h: Add comment.
48510         Reported by Jim Meyering.
48511
48512 2008-10-02  Bruno Haible  <bruno@clisp.org>
48513
48514         * modules/posix_spawn-internal (Depends-on): Add 'open'.
48515
48516 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48517
48518         * build-aux/bootstrap: Allow renaming bootstrap, and change the
48519         name of bootstrap.conf accordingly.
48520
48521 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48522
48523         * build-aux/bootstrap: Install git-merge-changelog configuration
48524         items into .gitconfig if needed.
48525
48526 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48527
48528         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
48529         git repository, and initialize/update it accordingly.
48530
48531 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
48532
48533         * modules/fsync-tests: New file.
48534         * tests/test-fsync.c: New file.
48535
48536         New module 'fsync'.
48537         * lib/fsync.c: New file.
48538         * m4/fsync.m4: New file.
48539         * modules/fsync: New file.
48540         * lib/unistd.in.h (fsync): New declaration.
48541         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
48542         GNULIB_FSYNC and HAVE_FSYNC.
48543         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
48544         * MODULES.html.sh (posix_functions): Add fsync.
48545         * doc/posix-functions/fsync.texi: Mention the new module.
48546
48547 2008-10-02  Jim Meyering  <meyering@redhat.com>
48548
48549         fts.c: sync with similar code from coreutils' remove.c
48550         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
48551         Guard also with "#if defined __linux__", since for now at least,
48552         this code is Linux-kernel-specific.
48553
48554 2008-10-02  Jim Meyering  <meyering@redhat.com>
48555
48556         fts: bug fixes
48557         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
48558         Include <sys/vfs.h>, not <sys/statfs.h>.
48559
48560         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
48561         Include <sys/vfs.h>, not <sys/statfs.h>.
48562
48563 2008-10-01  Bruno Haible  <bruno@clisp.org>
48564
48565         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
48566         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
48567         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
48568         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
48569         * doc/posix-functions/posix_spawnp.texi: Likewise.
48570         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
48571         whether posix_spawn actually works.
48572         * m4/pipe.m4 (gl_PIPE): Likewise.
48573         * modules/execute (Files): Add m4/posix_spawn.m4.
48574         * modules/pipe (Files): Add m4/posix_spawn.m4.
48575         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
48576
48577 2008-10-01  Jim Meyering  <meyering@redhat.com>
48578
48579         remove trailing spaces
48580         * NEWS: Likewise.
48581         * lib/poll.c (poll): Likewise.
48582         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
48583         * lib/winsock.c (rpl_close): Likewise.
48584         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
48585         * modules/yield: Likewise.
48586         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
48587         * tests/test-sys_select.c (connect_to_socket): Likewise.
48588
48589         fts.c: adjust a new interface to be more generally useful
48590         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
48591         (fts_build): Adjust caller.
48592
48593 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48594
48595         * modules/cond-tests: New file.
48596         * tests/test-cond.c: New file.
48597
48598 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48599             Bruno Haible  <bruno@clisp.org>
48600
48601         * modules/cond (Dependencies): Add errno, time.
48602         * lib/glthread/cond.h: Include <time.h>.
48603         (gl_cond_define, gl_cond_define_initialized): Use the same definition
48604         across platforms.
48605
48606 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48607             Bruno Haible  <bruno@clisp.org>
48608
48609         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
48610
48611 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48612             Bruno Haible  <bruno@clisp.org>
48613
48614         * modules/tls-tests (Depends-on): Add thread, yield.
48615         (configure.ac): Remove all checks.
48616         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
48617         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
48618         gl_thread_self): Remove definitions. Include glthread/thread.h and
48619         glthread/yield.h instead.
48620         (test_tls): Pass an additional NULL argument to gl_thread_join.
48621
48622 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48623             Bruno Haible  <bruno@clisp.org>
48624
48625         * modules/lock-tests (Depends-on): Add thread, yield.
48626         (configure.ac): Remove all checks.
48627         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
48628         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
48629         gl_thread_self): Remove definitions. Include glthread/thread.h and
48630         glthread/yield.h instead.
48631         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
48632         additional NULL argument to gl_thread_join.
48633
48634 2008-09-30  Bruno Haible  <bruno@clisp.org>
48635
48636         Fix the Win32 implementation of the 'thread' module.
48637         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
48638         pointer type.
48639         (gl_thread_self): Invoke gl_thread_self_func.
48640         (gl_thread_self_func): New declaration.
48641         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
48642         (do_init_self_key, init_self_key): New functions.
48643         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
48644         Remove some fields.
48645         (running_threads, running_lock): Remove variables.
48646         (get_current_thread_handle): New function.
48647         (gl_thread_self_func, wrapper_func, glthread_create_func,
48648         glthread_join_func, gl_thread_exit_func): Largely rewritten and
48649         simplified.
48650
48651 2008-09-30  Bruno Haible  <bruno@clisp.org>
48652
48653         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
48654         files.
48655
48656 2008-09-30  Jim Meyering  <meyering@redhat.com>
48657
48658         fts.m4: correct the test for statfs.f_type
48659         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
48660         when checking for statfs.f_type.
48661
48662 2008-09-15  Simon Josefsson  <simon@josefsson.org>
48663
48664         tests: avoid some compiler warnings
48665         * tests/test-memchr.c (main): Pass NULL indirectly.
48666         * tests/test-getdate.c (main): Remove unused variable 'ret'.
48667
48668 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
48669
48670         getdate.y: disallow countable dayshifts like "4 yesterday ago"
48671         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
48672         exactly specified dayshifts.
48673         (dayshift): New rule.
48674         (rel): Add dayshift.
48675         (relative_time_table) [tomorrow, yesterday, today, now]:
48676         Use tDAY_SHIFT in place of tDAY_UNIT.
48677         * tests/test-getdate.c: Add tests for now-disallowed countable
48678         dayshifts, e.g., "4 yesterday ago".
48679
48680 2008-09-29  Bruno Haible  <bruno@clisp.org>
48681
48682         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
48683         * tests/test-posix_spawn1.in.sh: Renamed from
48684         tests/test-posix_spawn.in.sh.
48685         * tests/test-posix_spawn2.c: New file.
48686         * tests/test-posix_spawn2.in.sh: New file.
48687         * modules/posix_spawnp-tests (Files): Update.
48688         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
48689
48690 2008-09-29  Bruno Haible  <bruno@clisp.org>
48691
48692         Propagate effects of putenv/setenv/unsetenv to child processes.
48693         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
48694         * lib/pipe.c (create_pipe): Likewise.
48695
48696 2008-09-29  Bruno Haible  <bruno@clisp.org>
48697
48698         Enable use of shell scripts as executables in mingw.
48699         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
48700         run the program as a shell script.
48701         * lib/pipe.c (create_pipe): Likewise.
48702         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
48703         resulting array.
48704
48705 2008-09-29  Eric Blake  <ebb9@byu.net>
48706
48707         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
48708
48709 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
48710
48711         * doc/posix-functions/accept.texi: Update mingw problems.
48712         * doc/posix-functions/bind.texi: Update mingw problems.
48713         * doc/posix-functions/close.texi: Update mingw problems.
48714         * doc/posix-functions/connect.texi: Update mingw problems.
48715         * doc/posix-functions/getpeername.texi: Update mingw problems.
48716         * doc/posix-functions/getsockname.texi: Update mingw problems.
48717         * doc/posix-functions/getsockopt.texi: Update mingw problems.
48718         * doc/posix-functions/ioctl.texi: Update mingw problems.
48719         * doc/posix-functions/listen.texi: Update mingw problems.
48720         * doc/posix-functions/recv.texi: Update mingw problems.
48721         * doc/posix-functions/recvfrom.texi: Update mingw problems.
48722         * doc/posix-functions/select.texi: Update mingw problems.
48723         * doc/posix-functions/send.texi: Update mingw problems.
48724         * doc/posix-functions/sendto.texi: Update mingw problems.
48725         * doc/posix-functions/setsockopt.texi: Update mingw problems.
48726         * doc/posix-functions/socket.texi: Update mingw problems.
48727
48728 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
48729             Bruno Haible  <bruno@clisp.org>
48730
48731         * lib/sys_select.in.h: Include sys/time.h.
48732         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
48733         * modules/sys_select: Depend on sys_time.
48734         * tests/test-sys_select.c: Test that sys/select.h defines struct
48735         timeval fully.
48736
48737 2008-09-29  Bruno Haible  <bruno@clisp.org>
48738
48739         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
48740         * lib/sys_select.in.h: Likewise.
48741
48742 2008-09-29  Bruno Haible  <bruno@clisp.org>
48743
48744         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
48745
48746 2008-09-29  Bruno Haible  <bruno@clisp.org>
48747
48748         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
48749         Set LIBSOCKET instead of augmenting LIBS.
48750         * modules/sockets (Link): New section.
48751         * modules/sockets-tests (test_sockets_LDADD): New variable.
48752         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
48753         * modules/poll-tests (test_poll_LDADD): New variable.
48754         * NEWS: Document the change.
48755
48756 2008-09-29  Bruno Haible  <bruno@clisp.org>
48757
48758         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
48759         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
48760         ARPA_INET_H directly.
48761         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
48762
48763 2008-09-28  Bruno Haible  <bruno@clisp.org>
48764
48765         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
48766         from gl_HEADER_SYS_SOCKET.
48767         (gl_HEADER_SYS_SOCKET): Invoke it.
48768         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
48769
48770 2008-09-28  Bruno Haible  <bruno@clisp.org>
48771
48772         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
48773         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
48774         Needed on OSF/1 4.0.
48775
48776 2008-09-28  Bruno Haible  <bruno@clisp.org>
48777
48778         Override open more carefully.
48779         * lib/open.c (orig_open): New function.
48780         (rpl_open): Use orig_open instead of open.
48781         * lib/fcntl.in.h: Add special invocation convention.
48782         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
48783         (gl_FUNC_OPEN): Invoke it.
48784
48785         Override freopen more carefully.
48786         * lib/freopen.c (orig_freopen): New function.
48787         (rpl_freopen): Use orig_freopen instead of freopen.
48788         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
48789         (gl_FUNC_FREOPEN): Invoke it.
48790
48791         Override fopen more carefully.
48792         * lib/fopen.c (orig_fopen): New function.
48793         (rpl_fopen): Use orig_fopen instead of fopen.
48794         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
48795         (gl_FUNC_FOPEN): Invoke it.
48796         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
48797
48798 2008-09-28  Bruno Haible  <bruno@clisp.org>
48799
48800         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
48801         SIGPIPE.
48802
48803 2008-09-28  Bruno Haible  <bruno@clisp.org>
48804
48805         * tests/test-sigaction.c (handler, main): Disable the check whether
48806         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
48807         glibc systems with LinuxThreads.
48808
48809 2008-09-28  Bruno Haible  <bruno@clisp.org>
48810
48811         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
48812
48813         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
48814         with AIX xlc.
48815         * lib/fcntl.in.h (open): Likewise.
48816         Reported by Rainer Tammer <tammer@tammer.net>.
48817
48818 2008-09-28  Bruno Haible  <bruno@clisp.org>
48819
48820         * modules/posix_spawnp-tests: New file.
48821         * tests/test-posix_spawn.c: New file.
48822         * tests/test-posix_spawn.in.sh: New file.
48823
48824         New module 'posix_spawnp'.
48825         * modules/posix_spawnp: New file.
48826         * lib/spawnp.c: New file, from GNU libc with modifications.
48827         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
48828
48829         New module 'posix_spawn'.
48830         * modules/posix_spawn: New file.
48831         * lib/spawn.c: New file, from GNU libc with modifications.
48832         * doc/posix-functions/posix_spawn.texi: Mention the new module.
48833
48834         New module 'posix_spawnattr_destroy'.
48835         * modules/posix_spawnattr_destroy: New file.
48836         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
48837         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
48838         module.
48839
48840         New module 'posix_spawnattr_setsigmask'.
48841         * modules/posix_spawnattr_setsigmask: New file.
48842         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
48843         modifications.
48844         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
48845         new module.
48846
48847         New module 'posix_spawnattr_getsigmask'.
48848         * modules/posix_spawnattr_getsigmask: New file.
48849         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
48850         modifications.
48851         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
48852         new module.
48853
48854         New module 'posix_spawnattr_setsigdefault'.
48855         * modules/posix_spawnattr_setsigdefault: New file.
48856         * lib/spawnattr_setdefault.c: New file, from GNU libc with
48857         modifications.
48858         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
48859         new module.
48860
48861         New module 'posix_spawnattr_getsigdefault'.
48862         * modules/posix_spawnattr_getsigdefault: New file.
48863         * lib/spawnattr_getdefault.c: New file, from GNU libc with
48864         modifications.
48865         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
48866         new module.
48867
48868         New module 'posix_spawnattr_setschedpolicy'.
48869         * modules/posix_spawnattr_setschedpolicy: New file.
48870         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
48871         modifications.
48872         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
48873         new module.
48874
48875         New module 'posix_spawnattr_getschedpolicy'.
48876         * modules/posix_spawnattr_getschedpolicy: New file.
48877         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
48878         modifications.
48879         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
48880         new module.
48881
48882         New module 'posix_spawnattr_setschedparam'.
48883         * modules/posix_spawnattr_setschedparam: New file.
48884         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
48885         modifications.
48886         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
48887         new module.
48888
48889         New module 'posix_spawnattr_getschedparam'.
48890         * modules/posix_spawnattr_getschedparam: New file.
48891         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
48892         modifications.
48893         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
48894         new module.
48895
48896         New module 'posix_spawnattr_setpgroup'.
48897         * modules/posix_spawnattr_setpgroup: New file.
48898         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
48899         modifications.
48900         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
48901         module.
48902
48903         New module 'posix_spawnattr_getpgroup'.
48904         * modules/posix_spawnattr_getpgroup: New file.
48905         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
48906         modifications.
48907         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
48908         module.
48909
48910         New module 'posix_spawnattr_setflags'.
48911         * modules/posix_spawnattr_setflags: New file.
48912         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
48913         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
48914         module.
48915
48916         New module 'posix_spawnattr_getflags'.
48917         * modules/posix_spawnattr_getflags: New file.
48918         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
48919         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
48920         module.
48921
48922         New module 'posix_spawnattr_init'.
48923         * modules/posix_spawnattr_init: New file.
48924         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
48925         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
48926         module.
48927
48928         New module 'posix_spawn_file_actions_destroy'.
48929         * modules/posix_spawn_file_actions_destroy: New file.
48930         * lib/spawn_faction_destroy.c: New file, from GNU libc with
48931         modifications.
48932         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
48933         the new module.
48934
48935         New module 'posix_spawn_file_actions_addopen'.
48936         * modules/posix_spawn_file_actions_addopen: New file.
48937         * lib/spawn_faction_addopen.c: New file, from GNU libc with
48938         modifications.
48939         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
48940         the new module.
48941
48942         New module 'posix_spawn_file_actions_adddup2'.
48943         * modules/posix_spawn_file_actions_adddup2: New file.
48944         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
48945         modifications.
48946         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
48947         the new module.
48948
48949         New module 'posix_spawn_file_actions_addclose'.
48950         * modules/posix_spawn_file_actions_addclose: New file.
48951         * lib/spawn_faction_addclose.c: New file, from GNU libc with
48952         modifications.
48953         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
48954         the new module.
48955
48956         New module 'posix_spawn_file_actions_init'.
48957         * modules/posix_spawn_file_actions_init: New file.
48958         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
48959         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
48960         new module.
48961
48962         New module 'posix_spawn-internal'.
48963         * modules/posix_spawn-internal: New file.
48964         * lib/spawn_int.h: New file, from GNU libc with modifications.
48965         * lib/spawni.c: New file, from GNU libc with modifications.
48966         * m4/posix_spawn.m4: New file.
48967
48968         New module 'spawn'.
48969         * modules/spawn: New file.
48970         * lib/spawn.in.h: New file, from GNU libc with modifications.
48971         * m4/spawn_h.m4: New file.
48972         * doc/posix-headers/spawn.texi: Mention the new module.
48973
48974 2008-09-28  Bruno Haible  <bruno@clisp.org>
48975
48976         * modules/sched-tests: New file.
48977         * tests/test-sched.c: New file.
48978
48979         New module 'sched'.
48980         * modules/sched: New file.
48981         * lib/sched.in.h: New file.
48982         * m4/sched_h.m4: New file.
48983         * doc/posix-headers/sched.texi: Mention the new module.
48984
48985 2008-09-27  Eric Blake  <ebb9@byu.net>
48986
48987         Fix previous patch, and tweak references to $0.
48988         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
48989         (func_version, func_gnulib_dir): Don't call this program
48990         gnulib-tool.
48991         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
48992         with using $0 in function.
48993         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
48994         (func_fatal_error): Reuse the name the user invoked us with.
48995
48996 2008-09-27  Bruno Haible  <bruno@clisp.org>
48997
48998         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
48999         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
49000         (gl_ICONV_H): Not here.
49001         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
49002         instead of assigning ICONV_H directly.
49003
49004         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
49005         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
49006         WCHAR_H directly.
49007
49008 2008-09-27  Bruno Haible  <bruno@clisp.org>
49009
49010         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
49011         * modules/arpa_inet (Depends-on): Add link-warning.
49012         (Makefile.am): Insert the definition of GL_LINK-WARNING.
49013         * modules/unistd (Makefile.am): Likewise.
49014
49015 2008-09-26  Bruno Haible  <bruno@clisp.org>
49016
49017         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
49018         variables.
49019         (func_version): Essentially copied from gnulib-tool.
49020         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
49021         func_readlink): Copied from gnulib-tool.
49022
49023 2008-09-26  Bruno Haible  <bruno@clisp.org>
49024
49025         * gnulib-tool (func_version): Change directory to $gnulib_dir before
49026         invoking git-version-gen.
49027
49028 2008-09-26  Bruno Haible  <bruno@clisp.org>
49029
49030         * posix-modules: Update to directory names changed on 2008-01-19.
49031         Remove commas in output before splitting into words. No more need to
49032         avoid 'ftruncate' since 2007-02-19.
49033
49034 2008-09-26  Bruno Haible  <bruno@clisp.org>
49035
49036         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
49037
49038 2008-09-26  Bruno Haible  <bruno@clisp.org>
49039
49040         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
49041         * modules/fwriteerror (Depends-on): Add errno.
49042
49043 2008-09-26  Bruno Haible  <bruno@clisp.org>
49044
49045         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
49046         * tests/test-vc-list-files-cvs.sh: Likewise.
49047
49048 2008-09-26  Bruno Haible  <bruno@clisp.org>
49049
49050         * doc/posix-headers/sys_resource.texi: Reorder items.
49051
49052 2008-09-26  Jim Meyering  <meyering@redhat.com>
49053
49054         fts: tweak inode comparison function
49055         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
49056         inode numbers, as documented.
49057
49058         fts: sort dirent entries on inode number before traversing
49059         This avoids a quadratic, seek-related performance penalty when
49060         operating on a directory containing many entries (measurable at 10k;
49061         3.5 hours at 2 million entries with a cold cache) on certain types
49062         of file systems, including ext3 and ext4, but not tmpfs.
49063         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
49064         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
49065         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
49066         (fs_handles_readdir_ordered_dirents_efficiently): New function.
49067         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
49068         (fts_build): Set the stat.st_ino member from D_INO.
49069         If it is likely to be useful, sort dirent entries on inode number.
49070
49071         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
49072         and the struct statfs.f_type member.
49073         * modules/fts (Depends-on): Add d-ino.
49074
49075 2008-09-26  Bruno Haible  <bruno@clisp.org>
49076
49077         * modules/sigpipe-die (Depends-on): Add sigpipe.
49078
49079         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
49080         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
49081         and GNULIB_STDIO_H_SIGPIPE are set.
49082         * lib/stdio-write.c: New file.
49083         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
49084         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
49085         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
49086         REPLACE_STDIO_WRITE_FUNCS.
49087         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
49088         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
49089         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
49090         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
49091         * modules/stdio (Files): Add lib/stdio-write.c.
49092         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
49093         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
49094         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
49095         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
49096         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
49097         REPLACE_FPRINTF_POSIX.
49098         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
49099         REPLACE_PRINTF_POSIX.
49100         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
49101         REPLACE_VFPRINTF_POSIX.
49102         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
49103         REPLACE_VPRINTF_POSIX.
49104         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
49105         SIGPIPE issue.
49106         * doc/posix-functions/fputc.texi: Likewise.
49107         * doc/posix-functions/fputs.texi: Likewise.
49108         * doc/posix-functions/fwrite.texi: Likewise.
49109         * doc/posix-functions/printf.texi: Likewise.
49110         * doc/posix-functions/putc.texi: Likewise.
49111         * doc/posix-functions/putchar.texi: Likewise.
49112         * doc/posix-functions/puts.texi: Likewise.
49113         * doc/posix-functions/vfprintf.texi: Likewise.
49114         * doc/posix-functions/vprintf.texi: Likewise.
49115
49116         * modules/safe-write (Depends-on): Add write.
49117
49118         * modules/sigpipe-tests: New file.
49119         * tests/test-sigpipe.c: New file.
49120         * tests/test-sigpipe.sh: New file.
49121
49122         * modules/write: New file.
49123         * lib/unistd.in.h: Include <sys/types.h>.
49124         (write): New declaration.
49125         * lib/write.c: New file.
49126         * m4/write.m4: New file.
49127         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49128         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
49129         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
49130         GNULIB_WRITE, REPLACE_WRITE.
49131         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
49132         and the SIGPIPE issue.
49133
49134         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
49135         (raise): New declaration.
49136         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
49137         (ext_signal): New function.
49138         (rpl_raise): New function.
49139         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
49140         GNULIB_SIGNAL_H_SIGPIPE.
49141         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
49142         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
49143
49144         * modules/sigpipe: New file.
49145         * m4/sigpipe.m4: New file.
49146
49147 2008-09-25  Derek Price  <derek@ximbiot.com>
49148             Bruno Haible  <bruno@clisp.org>
49149
49150         * gnulib-tool (func_import): Report all license incompatibilities, not
49151         just the first one.
49152
49153 2008-09-25  Bruno Haible  <bruno@clisp.org>
49154
49155         * gnulib-tool (func_import): When computing the edits, consider not
49156         only the Makefile.ams that exist but also those that will be generated.
49157
49158 2008-09-25  Simon Josefsson  <simon@josefsson.org>
49159
49160         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
49161         fixes gnulib-tool --test warning about duplicate dependency.
49162
49163 2008-09-25  Bruno Haible  <bruno@clisp.org>
49164
49165         * gnulib-tool: Don't ask the user to perform edits in the generated
49166         Makefile.ams.
49167         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
49168         apply to the Makefile.am being generated.
49169         (func_emit_tests_Makefile_am): Execute edits that apply to the
49170         Makefile.am being generated.
49171         (func_import): Setup list of Makefile.am edits before emitting the
49172         Makefile.ams, not at the end.
49173         (func_create_testdir): Update.
49174         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49175
49176 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49177
49178         * gnulib-tool (func_import): Store the --tests-base option in the
49179         comment in gnulib-cache.m4.
49180
49181 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
49182
49183         * NEWS: Document increased portability that sys_select now provides.
49184
49185         * lib/sys_select.in.h: Install select wrapper.
49186         * lib/sys_socket.in.h: Use more descriptive name when there is no
49187         select wrapper.
49188         * lib/winsock-select.c: New.
49189         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
49190         Require gl_HEADER_SYS_SOCKET.
49191         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
49192         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
49193         * tests/test-sys_select.c: Add functional tests.
49194
49195 2008-09-24  Eric Blake  <ebb9@byu.net>
49196
49197         open, fopen: close fd leak in last patch
49198         * lib/open.c (rpl_open): Close fd before returning error.
49199         * lib/fopen.c (rpl_fopen): Close fd before returning error.
49200         * doc/posix-functions/open.texi (open): Document that Irix also
49201         has the bug.
49202         * doc/posix-functions/fopen.texi (fopen): Likewise.
49203         Reported by Paolo Bonzini.
49204
49205 2008-09-24  Bruno Haible  <bruno@clisp.org>
49206
49207         Ensure that a filename ending in a slash cannot be used to access a
49208         non-directory.
49209         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
49210         to check whether it's really a directory.
49211         * lib/fopen.c: Include fcntl.h, unistd.h.
49212         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
49213         and fdopen().
49214         * modules/fopen (Depends-on): Add unistd.
49215         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
49216         * tests/test-fopen.c (main): Likewise.
49217         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
49218         * doc/posix-functions/fopen.texi: Likewise.
49219         Reported by Eric Blake.
49220
49221 2008-09-23  Eric Blake  <ebb9@byu.net>
49222
49223         c-stack: avoid compiler optimizations when provoking overflow
49224         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
49225         recursion harder to optimize, to ensure a stack overflow occurs.
49226         * tests/test-c-stack.c (recurse): Likewise.
49227         Borrowed from libsigsegv.
49228
49229         c-stack: work around Irix sigaltstack bug
49230         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
49231         whether sigaltstack uses wrong end of stack_t (copied in part from
49232         libsigsegv).
49233         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
49234         Irix bug, without requiring an over-allocation.
49235         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
49236         bug.
49237
49238         fopen: document mingw bug on directories
49239         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
49240         not allowing a stream visiting a directory, even though reading
49241         from such a stream is not portable.
49242
49243 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
49244
49245         * lib/poll.c: Rewrite.
49246         * modules/poll: Depend on alloca.
49247
49248 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
49249
49250         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
49251         instead define prototypes for a full set of wrappers.  Ensure
49252         that Cygwin does not use the compatibility code, which is only
49253         for MinGW.
49254         * lib/winsock.c: New.
49255         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
49256         * modules/sys_socket: Add lib/winsock.c.
49257
49258         * modules/poll-tests: Add errno and perror.
49259         * tests/test-poll.c: Use ioctl, not ioctlsocket.
49260
49261 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
49262
49263         * tests/test-poll.c: Downgrade minimum needed Winsock version.
49264
49265 2008-09-23  Bruno Haible  <bruno@clisp.org>
49266
49267         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
49268         * doc/glibc-functions/*: Likewise.
49269
49270 2008-09-23  Simon Josefsson  <simon@josefsson.org>
49271
49272         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
49273         success.
49274
49275 2008-09-22  Eric Blake  <ebb9@byu.net>
49276             Bruno Haible  <bruno@clisp.org>
49277
49278         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
49279         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
49280         supply %A but mishandle pseudo-NaN.
49281         Reported by Simon Josefsson.
49282
49283 2008-09-21  Bruno Haible  <bruno@clisp.org>
49284
49285         * tests/test-lock.c (main): Tweak skip message.
49286         * tests/test-tls.c (main): Likewise.
49287
49288 2008-09-21  Bruno Haible  <bruno@clisp.org>
49289
49290         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
49291         whether 'struct sigaction' has sa_sigaction here...
49292         (gl_PREREQ_SIG_HANDLER_H): ... not here.
49293         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
49294
49295 2008-09-21  Bruno Haible  <bruno@clisp.org>
49296
49297         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
49298         section.
49299         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
49300         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
49301         the new section.
49302         (Support for obsolete systems lacking POSIX:2001): New section.
49303         (String handling <string.h>): Move strdup to the new section.
49304         Suggested by Simon Josefsson and Paolo Bonzini.
49305
49306 2008-09-21  Bruno Haible  <bruno@clisp.org>
49307
49308         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
49309         exponents in %e and %g results on 'long double'. Needed for mingw's
49310         improved *printf functions.
49311         * tests/test-vasprintf-posix.c (test_function): Likewise.
49312         * tests/test-snprintf-posix.h (test_function): Likewise.
49313         * tests/test-sprintf-posix.h (test_function): Likewise.
49314         Reported by Eric Blake.
49315
49316 2008-09-21  Bruno Haible  <bruno@clisp.org>
49317
49318         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
49319         * tests/test-sprintf-posix.h (test_function): Likewise.
49320
49321 2008-09-21  Bruno Haible  <bruno@clisp.org>
49322
49323         * modules/getpass (Depends-on): Add strdup-posix.
49324
49325         New module 'strdup-posix'.
49326         * modules/strdup-posix: New file.
49327         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
49328         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
49329         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
49330         REPLACE_STRDUP.
49331         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
49332         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
49333         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49334         strdup-posix.
49335
49336         * modules/strdup (Depends-on): Remove malloc-posix.
49337
49338 2008-09-20  Bruno Haible  <bruno@clisp.org>
49339
49340         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
49341         Wildenhues.
49342
49343 2008-09-20  Bruno Haible  <bruno@clisp.org>
49344
49345         Ensure that wint_t gets defined on IRIX 5.3.
49346         * lib/wchar.in.h (wint_t): Define if not defined by the system.
49347         * lib/wctype.in.h (wint_t): Likewise.
49348         (__wctype_wint_t): Remove type.
49349         (isw*): Use wint_t instead of __wctype_wint_t.
49350         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
49351         * modules/wchar (Files): Add m4/wint_t.m4.
49352         (Makefile.am): Substitute HAVE_WINT_T.
49353         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
49354         * tests/test-wctype.c: Check that wint_t is defined.
49355         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
49356         * doc/posix-headers/wctype.texi: Likewise.
49357         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49358
49359 2008-09-18  Bruno Haible  <bruno@clisp.org>
49360
49361         * gnulib-tool (func_exit): Update comment.
49362
49363 2008-09-18  Simon Josefsson  <simon@josefsson.org>
49364
49365         * modules/getaddrinfo (Depends-on): Remove strdup, this module
49366         assumes strdup exists and does not depend on strdup to return
49367         ENOMEM on out of memory conditions.
49368
49369 2008-09-18  Bruno Haible  <bruno@clisp.org>
49370
49371         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
49372         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
49373         digits for the exponent.
49374
49375 2008-09-18  Jim Meyering  <meyering@redhat.com>
49376             Bruno Haible  <bruno@clisp.org>
49377
49378         * lib/vasnprintf.c (decimal_point_char): Define also if
49379         NEED_PRINTF_INFINITE_LONG_DOUBLE.
49380
49381 2008-09-16  Bruno Haible  <bruno@clisp.org>
49382         and Eric Blake  <ebb9@byu.net>
49383
49384         vasnprintf: support Irix 5.3
49385         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
49386         that mishandle long double infinity.
49387         Reported by Tom G. Christensen.
49388
49389 2008-09-16  Bruno Haible  <bruno@clisp.org>
49390
49391         * doc/glibc-functions/scandir.texi: Mention the function is missing on
49392         Solaris 9.
49393         * doc/glibc-functions/alphasort.texi: Likewise.
49394         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
49395
49396 2008-09-16  Jim Meyering  <meyering@redhat.com>
49397
49398         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
49399         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
49400         a umask modification leak out of a subshell.  Otherwise, the
49401         opensolaris /bin/sh would be accepted and thus cause unwarranted
49402         failures in the coreutils test suite.
49403
49404 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
49405
49406         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
49407         to succeed.
49408
49409 2008-09-16  Jim Meyering  <meyering@redhat.com>
49410
49411         avoid spurious test failure when library is built without ACL support
49412         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
49413         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
49414         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
49415         * tests/test-copy-acl.sh: Likewise.
49416
49417 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49418
49419         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
49420         based on character occurrence counts.
49421
49422 2008-09-15  Eric Blake  <ebb9@byu.net>
49423
49424         tests: avoid some compiler warnings
49425         * tests/test-memchr.c (main): Pass NULL indirectly.
49426         * tests/test-closein.c (main): Avoid unused variable.
49427
49428 2008-09-15  Bruno Haible  <bruno@clisp.org>
49429
49430         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
49431         are missing on OpenBSD 4.0 individually.
49432         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49433
49434 2008-09-15  Bruno Haible  <bruno@clisp.org>
49435
49436         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
49437         * doc/posix-functions/strerror.texi: Mention also Cygwin.
49438         * doc/posix-functions/perror.texi: Likewise.
49439         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
49440         is missing.
49441         Reported by Eric Blake.
49442
49443         * lib/errno.in.h: Use replacement values >= 2000.
49444         Reported by Eric Blake.
49445
49446 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49447
49448         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
49449         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
49450         limit.
49451         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
49452         compareseq was aborted.
49453
49454 2008-09-14  Bruno Haible  <bruno@clisp.org>
49455
49456         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
49457         yvec_edit_count.
49458         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
49459         (fstrcmp_bounded): Simplify result computation accordingly.
49460
49461 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49462
49463         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
49464         (fstrcmp): Define in terms of fstrcmp_bounded.
49465         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
49466         lower_bound argument.
49467         Return quickly if the result is certainly < lower_bound.
49468         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
49469
49470 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49471
49472         * lib/diffseq.h (EARLY_ABORT): New macro.
49473         (compareseq): Change return type to bool. Return true when EARLY_ABORT
49474         evaluates to true.
49475
49476 2008-09-14  Bruno Haible  <bruno@clisp.org>
49477
49478         * modules/perror-tests: New file.
49479         * tests/test-perror.sh: New file.
49480         * tests/test-perror.c: New file.
49481
49482         New module 'perror'.
49483         * lib/stdio.in.h (perror): New declaration.
49484         * lib/perror.c: New file.
49485         * m4/perror.m4: New file.
49486         * modules/perror: New file.
49487         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
49488         * doc/posix-functions/perror.texi: Mention the perror module.
49489         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
49490         REPLACE_PERROR.
49491         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
49492         REPLACE_PERROR.
49493
49494 2008-09-14  Bruno Haible  <bruno@clisp.org>
49495
49496         * modules/stdio (Makefile.am): Reorder to match the order in
49497         lib/stdio.in.h.
49498         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
49499
49500 2008-09-13  Bruno Haible  <bruno@clisp.org>
49501
49502         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
49503
49504 2008-09-13  Bruno Haible  <bruno@clisp.org>
49505
49506         Extend strerror to cover the added errno values.
49507         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
49508         (rpl_strerror): Provide error messages for the added errno values and
49509         for the WSA* values.
49510         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
49511         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
49512         strerror.
49513         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
49514         * modules/strerror (Depends-on): Add errno.
49515         * doc/posix-functions/strerror.texi: Document the change.
49516         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
49517         and EOVERFLOW.
49518
49519 2008-09-13  Bruno Haible  <bruno@clisp.org>
49520
49521         * modules/EOVERFLOW: Remove file.
49522         * m4/eoverflow.m4: Remove file.
49523         * modules/EOVERFLOW-tests: Remove file.
49524         * tests/test-EOVERFLOW.c: Remove file.
49525         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
49526         * modules/ftell (Depends-on): Likewise.
49527         * modules/getdelim (Depends-on): Likewise.
49528         * modules/getugroups (Depends-on): Likewise.
49529         * modules/poll (Depends-on): Likewise.
49530         * modules/snprintf (Depends-on): Likewise.
49531         * modules/sprintf-posix (Depends-on): Likewise.
49532         * modules/vasnprintf (Depends-on): Likewise.
49533         * modules/vasprintf (Depends-on): Likewise.
49534         * modules/vfprintf-posix (Depends-on): Likewise.
49535         * modules/vsnprintf (Depends-on): Likewise.
49536         * modules/vsprintf-posix (Depends-on): Likewise.
49537         * modules/xvasprintf (Depends-on): Likewise.
49538         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
49539         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
49540         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
49541         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
49542         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49543         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
49544         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
49545         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
49546         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49547         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
49548         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
49549         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
49550         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49551         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
49552         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
49553         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
49554         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49555         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
49556         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
49557         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
49558         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49559         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
49560         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
49561         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
49562         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
49563         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49564         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
49565         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
49566         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
49567         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
49568         * MODULES.html.sh: Remove EOVERFLOW.
49569         * NEWS: Mention the change.
49570
49571 2008-09-13  Bruno Haible  <bruno@clisp.org>
49572
49573         * modules/errno-tests: New file.
49574         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
49575
49576         * lib/errno.in.h: New file.
49577         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
49578         * modules/errno: New file.
49579         * doc/posix-headers/errno.texi: Update documentation.
49580         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
49581
49582 2008-09-13  Bruno Haible  <bruno@clisp.org>
49583
49584         * tests/test-poll.c: Use #if for native Windows, rather than testing
49585         __MSVCRT__.
49586
49587 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49588             Bruno Haible  <bruno@clisp.org>
49589
49590         * lib/glob.c: Don't include <pwd.h> on native Windows.
49591         (WINDOWS32): New macro.
49592         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
49593
49594 2008-09-13  Bruno Haible  <bruno@clisp.org>
49595
49596         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
49597         (ETIMEDOUT): Remove macro.
49598         (glthread_cond_timedwait_multithreaded): New declaration.
49599         (glthread_cond_timedwait): Use it.
49600         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
49601         (glthread_cond_timedwait_multithreaded): New function.
49602
49603 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
49604
49605         * modules/poll-tests: Do not check for io.h.
49606         * tests/test-poll.c: Check for __MSVCRT__ instead.
49607
49608 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
49609
49610         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
49611         * modules/poll-tests: Add inet_pton, stdbool, sockets.
49612         * tests/test-poll.c: Use them.  Use _pipe on Windows.
49613
49614 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
49615
49616         * modules/poll-tests: New.
49617         * tests/test-poll.c: New.
49618
49619 2008-09-12  Eric Blake  <ebb9@byu.net>
49620
49621         frexp: test for NetBSD failure on -0.0
49622         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
49623         not all, bugs from NetBSD 3.0 have been fixed.
49624         * doc/posix-functions/frexp.texi (frexp): Document bug.
49625         Reported by Thomas Klausner.
49626
49627         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
49628         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
49629         literal -0.0.
49630         Reported by Jonathan C. Patschke <jp@centtech.com>.
49631
49632 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49633
49634         * lib/glthread/cond.h: Use dummy implementation also if
49635         USE_WIN32_THREADS.
49636
49637 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49638
49639         * modules/fnmatch-posix (License): Change to LGPLv2+.
49640         * modules/fnmatch-gnu (License): Likewise.
49641
49642 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49643
49644         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
49645
49646 2008-09-11  Jim Meyering  <meyering@redhat.com>
49647
49648         * users.txt: Add gtk-vnc.
49649
49650 2008-09-08  Simon Josefsson  <simon@josefsson.org>
49651
49652         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
49653         rotate amounts.
49654
49655         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
49656         required for 16-bit and 8-bit rotates.
49657         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
49658         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
49659         UINT8_MAX instead of hard-coded constants.
49660         Suggested by Paul Eggert.
49661
49662 2008-09-07  Bruno Haible  <bruno@clisp.org>
49663
49664         * tests/test-striconveh.c (main): Check behaviour when converting from
49665         UTF-7.
49666
49667         Make striconveh work better with stateful encodings.
49668         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
49669         that iconv does not increment the inptr when returning -1/EINVAL.
49670
49671 2008-09-07  Bruno Haible  <bruno@clisp.org>
49672
49673         * build-aux/config.rpath: Update according to libtool-2.2.6.
49674         * build-aux/config.libpath: Likewise.
49675
49676 2008-09-06  Bruno Haible  <bruno@clisp.org>
49677
49678         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
49679         * lib/freadptr.c (freadptr): Likewise.
49680         * lib/freadseek.c (freadptrinc): Likewise.
49681         Reported by Simon Josefsson.
49682
49683 2008-09-06  Bruno Haible  <bruno@clisp.org>
49684
49685         * modules/freadptr (License): Change to LGPLv2+.
49686         * modules/freadseek (License): Likewise.
49687         Suggested by Eric Blake.
49688
49689         * modules/memchr2 (License): Change to LGPLv2+.
49690         Approved by Eric Blake.
49691
49692 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49693             Bruno Haible  <bruno@clisp.org>
49694
49695         Make gnulib-tool work with native 'sed' on AIX.
49696         * gnulib-tool (sed_noop): New variable.
49697         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
49698         func_add_or_update, func_create_testdir): Use it to initialize sed
49699         script variables.
49700         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49701
49702 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
49703             Bruno Haible  <bruno@clisp.org>
49704
49705         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
49706         also works after #include directives.
49707
49708 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
49709
49710         getdate.y: reject an out-of-range timezone value
49711         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
49712         the range [-24...+24].  When specified with only one or two digits,
49713         * tests/test-getdate.c: Tests for the fix.
49714         * doc/getdate.texi: Document this change.
49715
49716 2008-09-03  Bruno Haible  <bruno@clisp.org>
49717
49718         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
49719
49720 2008-09-02  Simon Josefsson  <simon@josefsson.org>
49721
49722         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
49723         <bruce.korb@gmail.com> with ideas from Ben Pfaff
49724         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
49725         Blake <ebb9@byu.net>.
49726
49727         * tests/test-bitrotate.c: Add more test vectors.
49728
49729 2008-09-02  Eric Blake  <ebb9@byu.net>
49730
49731         vasnprintf-posix: handle large precision via %.*d
49732         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
49733         when handling it ourselves.
49734         * tests/test-vasnprintf-posix.c (test_function): Add test.
49735         * tests/test-snprintf-posix.h (test_function): Likewise.
49736         * tests/test-sprintf-posix.h (test_function): Likewise.
49737         * tests/test-vasprintf-posix.c (test_function): Likewise.
49738         Reported by Alain Guibert.
49739
49740 2008-09-01  Eric Blake  <ebb9@byu.net>
49741
49742         c-stack: make configure-time check more robust
49743         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
49744         successful sigaction call.
49745         Reported by Tom G. Christensen.
49746
49747 2008-09-01  Bruno Haible  <bruno@clisp.org>
49748
49749         New module 'findprog-lgpl'.
49750         * modules/findprog-lgpl: New file.
49751         * lib/findprog-lgpl.c: New file.
49752         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
49753         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
49754         to decide whether to use strdup or xstrdup, concatenated_filename or
49755         xconcatenated_filename.
49756
49757 2008-09-01  Bruno Haible  <bruno@clisp.org>
49758
49759         Split module 'concat-filename' into 'concat-filename' (LGPL) and
49760         'xconcat-filename' (GPL).
49761         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
49762         (License): Change to LGPLv2+.
49763         * modules/xconcat-filename: New file.
49764         * lib/concat-filename.h (concatenated_filename): Change specification.
49765         (xconcatenated_filename): New declaration.
49766         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
49767         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
49768         memory situations.
49769         * lib/xconcat-filename.c: New file.
49770         * NEWS: Mention the change.
49771         * lib/findprog.c: Include concat-filename.h, not filename.h.
49772         (find_in_path): Use xconcatenated_filename instead of
49773         concatenated_filename.
49774         * lib/javacomp.c: Include concat-filename.h, not filename.h.
49775         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
49776         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
49777         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
49778         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
49779         instead of concatenated_filename.
49780         * lib/javaexec.c: Include concat-filename.h, not filename.h.
49781         (execute_java_class): Use xconcatenated_filename instead of
49782         concatenated_filename.
49783         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
49784         * modules/javacomp (Depends-on): Likewise.
49785         * modules/javaexec (Depends-on): Likewise.
49786
49787 2008-09-01  Bruno Haible  <bruno@clisp.org>
49788
49789         Split module 'filename' into 'filename' and 'concat-filename'.
49790         * modules/filename: Keep only lib/filename.h.
49791         (License): Change to LGPLv2+.
49792         * modules/concat-filename: New file, extracted from modules/filename.
49793         * lib/filename.h (concatenated_filename): Remove declaration.
49794         * lib/concat-filename.h: New file, extracted from lib/filename.h.
49795         * lib/concat-filename.c: Include concat-filename.h.
49796         * NEWS: Mention the change.
49797
49798 2008-09-01  Simon Josefsson  <simon@josefsson.org>
49799
49800         * lib/bitrotate.h (rotl8, rotr8): Add.
49801
49802         * modules/bitrotate (configure.ac): Need
49803         AC_REQUIRE([AC_C_INLINE]).
49804         (Description): Mention stdint.h.  Reported by Bruno Haible
49805         <bruno@clisp.org>.
49806
49807         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
49808         Paolo Bonzini <bonzini@gnu.org>.
49809
49810 2008-08-31  Bruno Haible  <bruno@clisp.org>
49811
49812         Assume Solaris specific bi-arch conventions on Solaris systems.
49813         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
49814         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
49815         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
49816         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
49817         like acl_libdirstem.
49818         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
49819         acl_libdirstem.
49820         * NEWS: Mention the change.
49821         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
49822
49823 2008-08-31  Jim Meyering  <meyering@redhat.com>
49824
49825         * lib/strftime.h: Add comments describing the two added arguments.
49826
49827         remove duplicate #include directives
49828         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
49829         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
49830
49831 2008-08-31  Bruno Haible  <bruno@clisp.org>
49832
49833         New module 'sigpipe-die'.
49834         * modules/sigpipe-die: New file.
49835         * lib/sigpipe-die.h: New file.
49836         * lib/sigpipe-die.c: New file.
49837         * MODULES.html.sh (Signal handling): Add sigpipe-die.
49838
49839 2008-08-31  Bruno Haible  <bruno@clisp.org>
49840
49841         Don't override previously installed signal handlers.
49842         * lib/fatal-signal.c (saved_sigactions): New variable.
49843         (uninstall_handlers): Reset the signal to the saved handler, not
49844         to SIG_DFL (except when ignored).
49845         (install_handlers): Save the previous handlers.
49846
49847 2008-08-30  Bruno Haible  <bruno@clisp.org>
49848
49849         * gnulib-tool (func_reset_sigpipe): New function.
49850         (func_get_automake_snippet, func_modules_transitive_closure,
49851         func_import): Invoke it before a join command that reads from stdin,
49852         to avoid "echo: write error: Broken pipe" error messages on stderr.
49853         Reported by Sam Steingold <sds@gnu.org>.
49854
49855 2008-08-30  Bruno Haible  <bruno@clisp.org>
49856
49857         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
49858         Code copied from m4/open.m4.
49859         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
49860         access and the filename ends in a slash. Code copied from lib/open.c.
49861         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
49862         * tests/test-fopen.c (main): Check against bug with trailing slash.
49863
49864 2008-08-29  Bruno Haible  <bruno@clisp.org>
49865
49866         Avoid some "gcc -pedantic" warnings.
49867         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
49868         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
49869         * lib/dirent.in.h: Likewise.
49870         * lib/fcntl.in.h: Likewise.
49871         * lib/float.in.h: Likewise.
49872         * lib/iconv.in.h: Likewise.
49873         * lib/inttypes.in.h: Likewise.
49874         * lib/locale.in.h: Likewise.
49875         * lib/math.in.h: Likewise.
49876         * lib/netinet_in.in.h: Likewise.
49877         * lib/search.in.h: Likewise.
49878         * lib/signal.in.h: Likewise.
49879         * lib/stdarg.in.h: Likewise.
49880         * lib/stdint.in.h: Likewise.
49881         * lib/stdio.in.h: Likewise.
49882         * lib/stdlib.in.h: Likewise.
49883         * lib/string.in.h: Likewise.
49884         * lib/strings.in.h: Likewise.
49885         * lib/sys_select.in.h: Likewise.
49886         * lib/sys_socket.in.h: Likewise.
49887         * lib/sys_stat.in.h: Likewise.
49888         * lib/sys_time.in.h: Likewise.
49889         * lib/sysexits.in.h: Likewise.
49890         * lib/time.in.h: Likewise.
49891         * lib/unistd.in.h: Likewise.
49892         * lib/wchar.in.h: Likewise.
49893         * lib/wctype.in.h: Likewise.
49894         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
49895         * modules/fchdir (Makefile.am): Likewise.
49896         * modules/fcntl (Makefile.am): Likewise.
49897         * modules/float (Makefile.am): Likewise.
49898         * modules/iconv_open (Makefile.am): Likewise.
49899         * modules/inttypes (Makefile.am): Likewise.
49900         * modules/locale (Makefile.am): Likewise.
49901         * modules/math (Makefile.am): Likewise.
49902         * modules/netinet_in (Makefile.am): Likewise.
49903         * modules/search (Makefile.am): Likewise.
49904         * modules/signal (Makefile.am): Likewise.
49905         * modules/stdarg (Makefile.am): Likewise.
49906         * modules/stdint (Makefile.am): Likewise.
49907         * modules/stdio (Makefile.am): Likewise.
49908         * modules/stdlib (Makefile.am): Likewise.
49909         * modules/string (Makefile.am): Likewise.
49910         * modules/strings (Makefile.am): Likewise.
49911         * modules/sys_select (Makefile.am): Likewise.
49912         * modules/sys_socket (Makefile.am): Likewise.
49913         * modules/sys_stat (Makefile.am): Likewise.
49914         * modules/sys_time (Makefile.am): Likewise.
49915         * modules/sysexits (Makefile.am): Likewise.
49916         * modules/time (Makefile.am): Likewise.
49917         * modules/unistd (Makefile.am): Likewise.
49918         * modules/wchar (Makefile.am): Likewise.
49919         * modules/wctype (Makefile.am): Likewise.
49920         Reported by Reuben Thomas <rrt@sc3d.org>.
49921
49922 2008-08-29  Bruno Haible  <bruno@clisp.org>
49923
49924         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
49925         any more.
49926
49927 2008-08-29  Simon Josefsson  <simon@josefsson.org>
49928
49929         * MODULES.html.sh (Misc): Add bitrotate.
49930
49931         * modules/bitrotate: New file.
49932
49933         * lib/bitrotate.h: New file.
49934
49935         * modules/bitrotate-tests: New file.
49936
49937         * tests/test-bitrotate.c: New file.
49938
49939         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
49940         on the bitrotate module.
49941
49942         * lib/arctwo.c: Use new bitrotate module.
49943
49944 2008-08-29  Jim Meyering  <meyering@redhat.com>
49945
49946         bootstrap: merge changes from coreutils
49947         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
49948         of copied files.  Remove a kludge, now that this is fixed.
49949         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
49950         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
49951         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
49952
49953 2008-08-29  Bruno Haible  <bruno@clisp.org>
49954
49955         * MODULES.html.sh: Remove --cvs-urls option.
49956
49957 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
49958
49959         maint.mk: adjust to file name change
49960         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
49961
49962 2008-08-28  Jim Meyering  <meyering@redhat.com>
49963
49964         * modules/getndelim2 (License): Relicense to LGPLv2+.
49965         Approved by Richard Stallman for the version of 1995, and by
49966         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
49967
49968 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
49969
49970         * lib/getdelim.c (flockfile, funlockfile): Make all of them
49971         dummy if one is not available.  Do not touch them if
49972         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
49973         (getc_maybe_unlocked): New.
49974         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
49975
49976 2008-08-26  Eric Blake  <ebb9@byu.net>
49977
49978         doc/INSTALL: resync from autoconf
49979         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
49980         (INSTALL_PRELUDE): Delete; this is done more efficiently by
49981         moving...
49982         * install.texi [!autoconf]: ...here.  Resync from autoconf.
49983         * INSTALL: Regenerate.
49984         * INSTALL.ISO: New file.
49985         * INSTALL.UTF-8: Likewise.
49986
49987 2008-08-26  Jim Meyering  <meyering@redhat.com>
49988
49989         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
49990         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
49991         these definitions conditional, so that they may be overridden, too.
49992
49993 2008-08-26  Bruno Haible  <bruno@clisp.org>
49994
49995         Generate INSTALL file variants with prettier quotes.
49996         * doc/Makefile (INSTALL_PRELUDE): New macro.
49997         (INSTALL): Use it.
49998         (INSTALL.ISO, INSTALL.UTF-8): New rules.
49999
50000 2008-08-26  Bruno Haible  <bruno@clisp.org>
50001
50002         Run makeinfo in an English locale.
50003         * doc/Makefile (MAKEINFO): New variable.
50004
50005 2008-08-26  Bruno Haible  <bruno@clisp.org>
50006
50007         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
50008         Suggested by Eric Blake.
50009
50010 2008-08-25  Bruno Haible  <bruno@clisp.org>
50011
50012         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
50013
50014 2008-08-25  Eric Blake  <ebb9@byu.net>
50015
50016         c-stack: test that stack overflow can be caught
50017         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
50018         that platform allows handling stack overflow; at least OS/2 EMX
50019         has sigaltstack, but crashes before transferring control to
50020         handler on stack overflow.
50021         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
50022         check for HAVE_STACK_OVERFLOW_HANDLING.
50023         Reported by Elbert Pol.
50024
50025 2008-08-25  Bruno Haible  <bruno@clisp.org>
50026
50027         * doc/posix-functions/strftime.texi: Fix description of strftime
50028         module.
50029
50030 2008-08-24  Bruno Haible  <bruno@clisp.org>
50031
50032         * tests/uniwidth/test-uc_width2.c: New file.
50033         * tests/uniwidth/test-uc_width2.sh: New file.
50034         * modules/uniwidth/width-tests (Files): Add the new files.
50035         (TESTS): Add uniwidth/test-uc_width2.sh.
50036         (TESTS_ENVIRONMENT): New variable.
50037         (check_PROGRAMS): Add test-uc_width2.
50038         (test_uc_width2_SOURCES): New variable.
50039
50040         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
50041         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
50042         not 0x00AB.
50043         Reported by Alexander V. Lukyanov <lav@netis.ru>.
50044
50045 2008-08-22  Eric Blake  <ebb9@byu.net>
50046
50047         test-lock, test-tls: mention why a test is skipped
50048         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
50049         skipped.
50050         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
50051
50052         count-one-bits: relax license
50053         * modules/count-one-bits (License): Relicense to LGPLv2+.
50054         Suggested by Ludovic Courtès, approved by Ben Pfaff.
50055
50056 2008-08-22  Andreas Schwab  <schwab@suse.de>
50057
50058         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
50059         Remove spurious space in assignment.
50060
50061 2008-08-21  Simon Josefsson  <simon@josefsson.org>
50062
50063         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
50064         Paul Eggert <eggert@CS.UCLA.EDU>.
50065
50066 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
50067
50068         * modules/gettext: Add m4/threadlib.m4.
50069
50070 2008-08-19  Eric Blake  <ebb9@byu.net>
50071
50072         test-c-stack: fix compilation failure on FreeBSD 5.0
50073         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
50074         headers before <sys/resource.h>.
50075         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
50076         the bug.
50077         Reported by Nelson H. F. Beebe.
50078
50079         strverscmp: migrate from "strverscmp.h" to <string.h>
50080         * modules/string (Makefile.am): Add new hooks.
50081         * modules/strverscmp (Files): Remove strverscmp.h.
50082         (Depends-on): Add string.
50083         (configure.ac): Add indicator.
50084         (Include): Mention new header.
50085         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
50086         defaults.
50087         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
50088         results.
50089         * lib/strverscmp.h: Delete.
50090         * lib/string.in.h (strverscmp): Provide declaration, when needed.
50091         * tests/test-strverscmp.c (includes): Adjust client.
50092         * lib/check-version.c (includes): Likewise.
50093         * NEWS: Document the change.
50094
50095         strverscmp: add unit test
50096         * modules/strverscmp-tests: New file.
50097         * tests/test-strverscmp.c: Likewise.
50098
50099 2008-08-19  Simon Josefsson  <simon@josefsson.org>
50100
50101         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
50102         regarding Windows crypto stuff, from Mono.
50103
50104 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
50105
50106         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
50107         if present, for intel RND.  Return error on failures.
50108
50109 2008-08-18  Ben Pfaff  <blp@gnu.org>
50110
50111         gitlog-to-changelog: give better diagnostic for failed pipe-open
50112         * build-aux/gitlog-to-changelog: Improve error message: suggest
50113         that the version of Git may be too old.
50114
50115 2008-08-18  Simon Josefsson  <simon@josefsson.org>
50116
50117         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
50118         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
50119
50120 2008-08-18  Bruno Haible  <bruno@clisp.org>
50121
50122         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
50123         pthread_in_use().
50124
50125 2008-08-18  Bruno Haible  <bruno@clisp.org>
50126
50127         * lib/glthread/threadlib.c: Include <pthread.h>.
50128
50129 2008-08-18  Bruno Haible  <bruno@clisp.org>
50130
50131         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
50132         glthread_recursive_lock_* macros.
50133         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
50134         Fix syntax error.
50135
50136 2008-08-18  Bruno Haible  <bruno@clisp.org>
50137
50138         * lib/glthread/thread.c: Avoid forcing a context switch right after
50139         thread creation.
50140
50141 2008-08-17  Bruno Haible  <bruno@clisp.org>
50142
50143         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
50144         * lib/glthread/thread.h: Provide Win32 specific implementation.
50145         * modules/thread (Files): Add lib/glthread/thread.c.
50146         (Depends-on): Add lock.
50147         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
50148
50149 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50150
50151         New module 'yield'.
50152         * modules/yield: New file.
50153         * lib/glthread/yield.h: New file.
50154         * m4/yield.m4: New file.
50155         * MODULES.html.sh (Multithreading): Add yield.
50156
50157 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50158
50159         New module 'thread'.
50160         * modules/thread: New file.
50161         * lib/glthread/thread.h: New file.
50162         * m4/thread.m4: New file.
50163         * MODULES.html.sh (Multithreading): Add thread.
50164
50165 2008-08-17  Bruno Haible  <bruno@clisp.org>
50166
50167         * lib/glthread/lock.h: Include <stdlib.h> always.
50168         * lib/glthread/tls.h: Likewise.
50169         * lib/glthread/cond.h: Likewise.
50170
50171 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50172
50173         New module 'cond'.
50174         * modules/cond: New file.
50175         * lib/glthread/cond.h: New file.
50176         * lib/glthread/cond.c: New file.
50177         * m4/cond.m4: New file.
50178         * MODULES.html.sh (Multithreading): Add cond.
50179
50180 2008-08-16  Eric Blake  <ebb9@byu.net>
50181
50182         c-stack: fix regression on Irix 5.3 from 2008-06-21
50183         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
50184         sa_sigaction...
50185         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
50186         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
50187         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
50188         * modules/signal (Makefile.am): Use the value.
50189         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
50190         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
50191         * doc/posix-headers/signal.texi (signal.h): Document this
50192         portability issue.
50193         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
50194         Reported by Tom G. Christensen.
50195
50196 2008-08-17  Bruno Haible  <bruno@clisp.org>
50197
50198         New module 'threadlib'.
50199         * modules/threadlib: New file.
50200         * lib/glthread/threadlib.c: New file, extracted from
50201         lib/glthread/lock.c.
50202         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
50203         functions.
50204         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
50205         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
50206         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
50207         macros.
50208         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
50209         (gl_DISABLE_THREADS): Remove macro.
50210         * modules/lock (Files): Remove build-aux/config.rpath.
50211         (Depends-on): Remove havelib. Add threadlib.
50212         (configure.ac-early): Remove section.
50213         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
50214         * modules/tls (Depends-on): Remove lock. Add threadlib.
50215         (Link): New section, copied from threadlib.
50216         * MODULES.html.sh (Multithreading): Add threadlib.
50217
50218 2008-08-14  Bruno Haible  <bruno@clisp.org>
50219
50220         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
50221         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
50222         glthread_rwlock_unlock, glthread_rwlock_destroy,
50223         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
50224         glthread_recursive_lock_destroy): Define as macros always.
50225         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
50226         glthread_lock_lock.
50227         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
50228         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
50229         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
50230         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
50231         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
50232         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
50233         (glthread_recursive_lock_lock_func): Renamed from
50234         glthread_recursive_lock_lock.
50235         (glthread_recursive_lock_unlock_func): Renamed from
50236         glthread_recursive_lock_unlock.
50237         (glthread_recursive_lock_destroy_func): Renamed from
50238         glthread_recursive_lock_destroy.
50239
50240 2008-08-14  Bruno Haible  <bruno@clisp.org>
50241
50242         * lib/glthread/lock.h: Renamed from lib/lock.h.
50243         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
50244         * lib/glthread/tls.h: Renamed from lib/tls.h.
50245         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
50246         * lib/fstrcmp.c: Update includes.
50247         * lib/strsignal.c: Update includes.
50248         * modules/lock (Files, Makefile.am): Update.
50249         (Include): Change to "glthread/lock.h".
50250         * modules/tls (Files, Makefile.am): Update.
50251         (Include): Change to "glthread/tls.h".
50252         * tests/test-lock.c: Update includes.
50253         * tests/test-tls.c: Update includes.
50254         * NEWS: Mention the renamed header files.
50255
50256 2008-08-11  Jim Meyering  <meyering@redhat.com>
50257
50258         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
50259
50260 2008-08-11  Eric Blake  <ebb9@byu.net>
50261
50262         test-c-stack: avoid C99-ism
50263         * tests/test-c-stack.c (main): Fix whitespace, move declaration
50264         before statement.
50265         Reported by Alain Guibert.
50266
50267 2008-08-10  Jim Meyering  <meyering@redhat.com>
50268
50269         ensure that return value of uinttostr et al are not ignored
50270         * lib/inttostr.h (__GNUC_PREREQ): Define.
50271         (__attribute_warn_unused_result__): Define.
50272         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
50273
50274 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
50275
50276         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
50277         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
50278
50279 2008-08-07  Jim Meyering  <meyering@redhat.com>
50280
50281         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
50282
50283         * modules/mkstemp (License): Relicense under LGPLv2+.
50284         * modules/tempname (License): Likewise.
50285
50286 2008-08-06  Bruno Haible  <bruno@clisp.org>
50287
50288         * lib/poll.c (poll): Further micro-optimization.
50289
50290 2008-08-06  Jim Meyering  <meyering@redhat.com>
50291
50292         inet_pton.c: use locale-independent tolower
50293         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
50294         (inet_pton6): Use c_tolower rather than tolower.
50295         * modules/inet_pton (Depends-on): Add c-ctype.
50296
50297 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
50298
50299         * lib/poll.c (poll): Avoid division when timeout is 0, cache
50300         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
50301
50302 2008-08-06  Jim Meyering  <meyering@redhat.com>
50303
50304         * modules/inet_pton (License): Relicense under LGPLv2+.
50305
50306 2008-08-03  Bruno Haible  <bruno@clisp.org>
50307
50308         Additional non-aborting API for lock and tls.
50309         * lib/lock.h: Include <errno.h>.
50310         (glthread_lock_init): New macro/function.
50311         (gl_lock_init): Define as wrapper around glthread_lock_init.
50312         (glthread_lock_lock): New macro/function.
50313         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
50314         (glthread_lock_unlock): New macro/function.
50315         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
50316         (glthread_lock_destroy): New macro/function.
50317         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
50318         (glthread_rwlock_init): New macro/function.
50319         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
50320         (glthread_rwlock_rdlock): New macro/function.
50321         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
50322         (glthread_rwlock_wrlock): New macro/function.
50323         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
50324         (glthread_rwlock_unlock): New macro/function.
50325         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
50326         (glthread_rwlock_destroy): New macro/function.
50327         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
50328         (glthread_recursive_lock_init): New macro/function.
50329         (gl_recursive_lock_init): Define as wrapper around
50330         glthread_recursive_lock_init.
50331         (glthread_recursive_lock_lock): New macro/function.
50332         (gl_recursive_lock_lock): Define as wrapper around
50333         glthread_recursive_lock_lock.
50334         (glthread_recursive_lock_unlock): New macro/function.
50335         (gl_recursive_lock_unlock): Define as wrapper around
50336         glthread_recursive_lock_unlock.
50337         (glthread_recursive_lock_destroy): New macro/function.
50338         (gl_recursive_lock_destroy): Define as wrapper around
50339         glthread_recursive_lock_destroy.
50340         (glthread_once): New macro/function.
50341         (gl_once): Define as wrapper around glthread_once.
50342         Update function declarations.
50343         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
50344         glthread_rwlock_init. Return error code.
50345         (glthread_rwlock_rdlock_multithreaded): Renamed from
50346         glthread_rwlock_rdlock. Return error code.
50347         (glthread_rwlock_wrlock_multithreaded): Renamed from
50348         glthread_rwlock_wrlock. Return error code.
50349         (glthread_rwlock_unlock_multithreaded): Renamed from
50350         glthread_rwlock_unlock. Return error code.
50351         (glthread_rwlock_destroy_multithreaded): Renamed from
50352         glthread_rwlock_destroy. Return error code.
50353         (glthread_recursive_lock_init_multithreaded): Renamed from
50354         glthread_recursive_lock_init. Return error code.
50355         (glthread_recursive_lock_lock_multithreaded): Renamed from
50356         glthread_recursive_lock_lock. Return error code.
50357         (glthread_recursive_lock_unlock_multithreaded): Renamed from
50358         glthread_recursive_lock_unlock. Return error code.
50359         (glthread_recursive_lock_destroy_multithreaded): Renamed from
50360         glthread_recursive_lock_destroy. Return error code.
50361         (glthread_once_call): Make static.
50362         (glthread_once_multithreaded): Renamed from glthread_once.
50363         * lib/tls.h: Include <errno.h>.
50364         (glthread_tls_key_init): New macro/function.
50365         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
50366         (glthread_tls_set): New macro/function.
50367         (gl_tls_set): Define as wrapper around glthread_tls_set.
50368         (glthread_tls_key_destroy): New macro/function.
50369         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
50370         Update function declarations.
50371         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
50372         glthread_tls_get.
50373         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
50374
50375 2008-08-04  Eric Blake  <ebb9@byu.net>
50376
50377         gnumakefile: use space, not TAB, outside of targets
50378         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
50379
50380 2008-08-02  Jim Meyering  <meyering@redhat.com>
50381
50382         getdate.y: avoid locale-dependent date parsing failure
50383         In Turkish locales, getdate would fail to recognize keywords
50384         containing a lowercase "i".  The solution is not to rely on
50385         locale-sensitive case-conversion.
50386         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
50387         (lookup_word): Use c_toupper in place of toupper.
50388         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
50389         Reported by Vefa Bicakci <bicave@superonline.com> in
50390         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
50391         * modules/getdate (Depends-on): Add c-ctype.
50392
50393 2008-08-02  Bruno Haible  <bruno@clisp.org>
50394
50395         * gnulib-tool (func_import): When updating or creating a .gitignore
50396         file, prepend each added line with a slash, and ignore leading slashes
50397         from the existing lines.
50398         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
50399
50400 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50401
50402         Portability fix for GNU make 3.79.1.
50403         * top/GNUmakefile: Avoid 'else COND', which older GNU make
50404         versions do not understand.
50405
50406 2008-08-01  Bruno Haible  <bruno@clisp.org>
50407
50408         Work around bug of HP-UX 10.20 cc with -0.0 literal.
50409         * tests/test-isnanf.h (zero): New variable.
50410         (main): Avoid literal -0.0f.
50411         * tests/test-isnand.h (zero): New variable.
50412         (main): Avoid literal -0.0.
50413         * tests/test-isnanl.h (zero): New variable.
50414         (main): Avoid literal -0.0L.
50415         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
50416         (test_float, test_double, test_long_double): Avoid literals -0.0f,
50417         -0.0, -0.0L.
50418         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
50419         (test_signbitd): Avoid literal -0.0.
50420         (test_signbitl): Avoid literal -0.0L.
50421         * tests/test-ceilf1.c (zero): New variable.
50422         (main): Avoid literal -0.0f.
50423         * tests/test-ceill.c (zero): New variable.
50424         (main): Avoid literal -0.0L.
50425         * tests/test-floorf1.c (zero): New variable.
50426         (main): Avoid literal -0.0f.
50427         * tests/test-floorl.c (zero): New variable.
50428         (main): Avoid literal -0.0L.
50429         * tests/test-roundf1.c (zero): New variable.
50430         (main): Avoid literal -0.0f.
50431         * tests/test-round1.c (zero): New variable.
50432         (main): Avoid literal -0.0.
50433         * tests/test-roundl.c (zero): New variable.
50434         (main): Avoid literal -0.0L.
50435         * tests/test-truncf1.c (zero): New variable.
50436         (main): Avoid literal -0.0f.
50437         * tests/test-trunc1.c (zero): New variable.
50438         (main): Avoid literal -0.0.
50439         * tests/test-truncl.c (zero): New variable.
50440         (main): Avoid literal -0.0L.
50441         * tests/test-frexp.c (zero): New variable.
50442         (main): Avoid literal -0.0.
50443         * tests/test-frexpl.c (zero): New variable.
50444         (main): Avoid literal -0.0L.
50445         * tests/test-ldexpl.c (zero): New variable.
50446         (main): Avoid literal -0.0L.
50447         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
50448         (zerod, zerol): New variables.
50449         (test_function): Avoid literals -0.0, -0.0L.
50450         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
50451         (zerod, zerol): New variables.
50452         (test_function): Avoid literals -0.0, -0.0L.
50453         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
50454         (zerod, zerol): New variables.
50455         (test_function): Avoid literals -0.0, -0.0L.
50456         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
50457         (zerod, zerol): New variables.
50458         (test_function): Avoid literals -0.0, -0.0L.
50459         * tests/test-strtod.c (zero): New variable.
50460         (main): Avoid literal -0.0.
50461         Reported by Jonathan C. Patschke <jp@centtech.com>.
50462
50463 2008-07-31  Jim Meyering  <meyering@redhat.com>
50464
50465         sha256.h: correct definition of SHA224_DIGEST_SIZE
50466         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
50467         Reported by Paulie Pena IV <paulie4@gmail.com>.
50468         Define as 224 / 8, rather than as a literal.
50469         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
50470         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
50471         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
50472
50473 2008-07-31  Bruno Haible  <bruno@clisp.org>
50474
50475         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
50476         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
50477         Reported by Jonathan Patschke <jp@centtech.com>.
50478
50479 2008-07-31  Bruno Haible  <bruno@clisp.org>
50480
50481         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
50482         Reported by Paolo Bonzini <bonzini@gnu.org>.
50483
50484 2008-07-30  Eric Blake  <ebb9@byu.net>
50485
50486         test-strtod: allow compilation without -lm
50487         * tests/test-strtod.c (main): Avoid link dependence on fabs.
50488         Reported by Dennis Clarke <blastwave@gmail.com>.
50489
50490 2008-07-28  Jim Meyering  <meyering@redhat.com>
50491
50492         bootstrap: work also when there are no .po files in po/
50493         * build-aux/bootstrap (update_po_files): Complete the change
50494         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
50495
50496 2008-07-27  Jim Meyering  <meyering@redhat.com>
50497
50498         * users.txt: Add zile.
50499
50500 2008-07-26  Ben Pfaff  <blp@gnu.org>
50501
50502         Add missing dependencies on new m4/exponent[fdl].m4 files.
50503         * modules/isnanf-nolibm: Add m4/exponentf.m4.
50504         * modules/isnand-nolibm: Add m4/exponentd.m4.
50505         * modules/isnanl-nolibm: Add m4/exponentl.m4.
50506         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
50507         m4/isnan[fdl].m4, because the macros actually used moved.
50508         Reported by Jim Meyering.
50509
50510 2008-07-14  Ben Pfaff  <blp@gnu.org>
50511
50512         Add isinf module.
50513         * lib/isinf.c: New file.
50514         * lib/math.in.h: Define isinf macro if we have decided to replace
50515         it.
50516         * m4/isinf.m4: New file.
50517         * m4/math_h.m4: Initialize and substitute variables for isinf
50518         module.
50519         * modules/isinf: New file.
50520         * modules/isinf-tests: New file.
50521         * modules/math: Add substitutions for new module.
50522         * tests/test-isinf.c: New file.
50523         * doc/posix-functions/isinf.texi: Mention new module.
50524         * MODULES.html.sh: Mention new module.
50525
50526 2008-07-14  Ben Pfaff  <blp@gnu.org>
50527
50528         Factor out some macros for use by additional modules.
50529         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
50530         exponentf.m4.
50531         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
50532         exponentd.m4.
50533         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
50534         file exponentl.m4.
50535         * m4/exponentf.m4: New file.
50536         * m4/exponentd.m4: New file.
50537         * m4/exponentl.m4: New file.
50538         * modules/isnanf: Use new file m4/exponentf.m4.
50539         * modules/isnand: Use new file m4/exponentd.m4.
50540         * modules/isnanl: Use new file m4/exponentl.m4.
50541
50542 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
50543
50544         mktime.c: normalize tp->tm_isdst value to -1/0/1.
50545         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
50546         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
50547         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
50548
50549         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
50550         readlink on platforms without PATH_MAX.
50551
50552 2008-07-21  Eric Blake  <ebb9@byu.net>
50553
50554         Warn, not fail, on stale version.
50555         * top/GNUmakefile (_curr-ver): Tone down previous patch.
50556
50557         Don't allow installation with stale devel version number.
50558         * top/GNUmakefile (_is-install-target): New macro.
50559         (_curr-ver): Forbid installation with stale version number.
50560
50561 2008-07-20  Bruno Haible  <bruno@clisp.org>
50562
50563         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
50564         TESTS_ENVIRONMENT.
50565         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
50566
50567 2008-07-20  Bruno Haible  <bruno@clisp.org>
50568
50569         * lib/c-stack.h (c_stack_action): Add documentation.
50570         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
50571
50572 2008-07-20  Bruno Haible  <bruno@clisp.org>
50573
50574         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
50575         * modules/readlink (License): Likewise.
50576
50577 2008-07-17  Eric Blake  <ebb9@byu.net>
50578
50579         * modules/c-stack (Link): Fix typo.
50580
50581         Make c-stack use libsigsegv, when available.
50582         * modules/c-stack (Depends-on): Add libsigsegv.
50583         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
50584         needed.
50585         * lib/c-stack.c (SIGSTKSZ): Define fallback.
50586         (segv_handler, overflow_handler, c_stack_action)
50587         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
50588         implementation when libsigsegv is available, but only when using
50589         the library is necessary.
50590         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
50591         comment, explaining why XSI check fails on Linux.
50592         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
50593         * tests/test-c-stack2.sh: Tweak skip message.
50594         * NEWS: Document new link-time requirements.
50595
50596 2008-07-16  Eric Blake  <ebb9@byu.net>
50597
50598         c-stack: Expose false positives when not using libsigsegv.
50599         * modules/c-stack-tests (Files): Expand test.
50600         * tests/test-c-stack.c (main): Add means to conditionally trigger
50601         non-overflow SIGSEGV.
50602         * tests/test-c-stack2.sh: New file.
50603
50604 2008-07-14  Bruno Haible  <bruno@clisp.org>
50605
50606         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
50607         Reported by Eric Blake.
50608
50609 2008-07-14  Sam Steingold  <sds@gnu.org>
50610             Bruno Haible  <bruno@clisp.org>
50611
50612         New module libsigsegv.
50613         * modules/libsigsegv: New file.
50614         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
50615         modifications.
50616         * MODULES.html.sh (Signal handling): New section.
50617
50618 2008-07-14  Bruno Haible  <bruno@clisp.org>
50619
50620         * modules/unictype/ctype-* (Description): Add the word "function".
50621         Improves the resulting doc in MODULES.html.
50622
50623 2008-07-12  Ben Pfaff  <blp@gnu.org>
50624
50625         Add longlong module.
50626         * modules/longlong: New file.
50627
50628 2008-07-12  Bruno Haible  <bruno@clisp.org>
50629
50630         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
50631         to empty.
50632
50633 2008-07-10  Ben Pfaff  <blp@gnu.org>
50634
50635         Add isnan module.
50636         * doc/posix-functions/isnan.texi: Mention new module.
50637         * lib/math.in.h: Define isnan macro if we have decided to replace
50638         it.
50639         * m4/isnan.m4: New file.
50640         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
50641         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
50642         also.
50643         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
50644         redundancy.
50645         * m4/math_h.m4: Initialize and substitute variables for isnan
50646         module.
50647         * modules/isnan: New file.
50648         * modules/isnan-tests: New file.
50649         * modules/math: Add substitutions for new module.
50650         * tests/test-isnan.c: New file.
50651         * MODULES.html.sh: Mention new module.
50652
50653 2008-07-10  Ben Pfaff  <blp@gnu.org>
50654
50655         Add isnanf module.
50656         * lib/isnanf.m4: New file.
50657         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
50658         (gl_HAVE_ISNANF_IN_LIBM): New macro.
50659         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
50660         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
50661         * modules/isnanf: New file.
50662         * modules/isnanf-tests: New file.
50663         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
50664         files.
50665         * tests/test-isnanf-nolibm.c: factored most of its contents into
50666         new file tests/test-isnanf.h.
50667         * tests/test-isnanf.h: New file.
50668         * tests/test-isnanf.c: New file.
50669         * MODULES.html.sh: Mention new module.
50670         * doc/glibc-functions/isnanf.texi: Mention new module.
50671
50672 2008-07-10  Ben Pfaff  <blp@gnu.org>
50673
50674         Add isnand module.
50675         * lib/isnand.h: New file.
50676         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
50677         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
50678         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
50679         functionality also.
50680         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
50681         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
50682         (gl_HAVE_ISNAND_IN_LIBM): New macro.
50683         * modules/isnand: New file.
50684         * modules/isnand-tests: New file.
50685         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
50686         files.
50687         * tests/test-isnand-nolibm.c: factored most of its contents into
50688         new file tests/test-isnand.h.
50689         * tests/test-isnand.h: New file.
50690         * tests/test-isnand.c: New file.
50691         * MODULES.html.sh: Mention new module.
50692
50693 2008-07-10  Ben Pfaff  <blp@gnu.org>
50694
50695         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
50696         * lib/isnand.h: Rename lib/isnand-nolibm.h.
50697         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
50698         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
50699         * modules/isnanf-nolibm: Update references to renamed files.
50700         * modules/isnand-nolibm: Likewise.
50701         * modules/isnanf-nolibm-tests: Likewise.
50702         * modules/isnand-nolibm-tests: Likewise.
50703         * lib/frexp.c: Likewise.
50704         * lib/isfinite.c: Likewise.
50705         * lib/signbitd.c: Likewise.
50706         * lib/signbitf.c: Likewise.
50707         * lib/vasnprintf.c: Likewise.
50708         * tests/test-ceilf1.c: Likewise.
50709         * tests/test-ceilf2.c: Likewise.
50710         * tests/test-floorf1.c: Likewise.
50711         * tests/test-floorf2.c: Likewise.
50712         * tests/test-frexp.c: Likewise.
50713         * tests/test-round1.c: Likewise.
50714         * tests/test-round2.c: Likewise.
50715         * tests/test-roundf1.c: Likewise.
50716         * tests/test-strtod.c: Likewise.
50717         * tests/test-trunc1.c: Likewise.
50718         * tests/test-trunc2.c: Likewise.
50719         * tests/test-truncf1.c: Likewise.
50720         * tests/test-truncf2.c: Likewise.
50721         * NEWS: Mention the renamed header files.
50722
50723 2008-07-11  Jim Meyering  <meyering@redhat.com>
50724
50725         vc-list-files: make the last-resort awk code more portable
50726         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
50727         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
50728         does not support it.
50729
50730 2008-07-10  Eric Blake  <ebb9@byu.net>
50731
50732         Work with tar's bootstrap.
50733         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
50734         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
50735         an m4 comment.
50736
50737 2008-07-09  Jim Meyering  <meyering@redhat.com>
50738
50739         posix-shell.m4: fix typo that made this test malfunction
50740         * m4/posix-shell.m4: Remove capitalization in variable name.
50741
50742 2008-07-08  Bruno Haible  <bruno@clisp.org>
50743
50744         * m4/onceonly.m4: Update comments.
50745         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50746
50747 2008-07-04  Jim Meyering  <meyering@redhat.com>
50748
50749         * users.txt: Add vc-dwim.
50750         (bison, coreutils): Use the gitweb URL.
50751
50752 2008-07-03  Jim Meyering  <meyering@redhat.com>
50753
50754         * users.txt: Add libffcall.  From Sam Steingold.
50755
50756 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
50757
50758         getdate.y: do not ignore TZ with relative day, month or year offset
50759         * lib/getdate.y (get_date): Move the tz-handling block to follow the
50760         relative-date-handling, since otherwise, the latter would clobber the
50761         sole output (an updated Start value) of the tz-handling block.
50762         * tests/test-getdate.c: Tests for the fix
50763
50764 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50765
50766         Recognize 'foo_LIBRARIES += libgnu.a'.
50767         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
50768         makefile snippet has already specified an installation location,
50769         also using '+='.
50770
50771 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
50772
50773         getdate.y: factor out common actions
50774         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
50775         Use them in place of open-coded actions.
50776
50777 2008-07-01  Simon Josefsson  <simon@josefsson.org>
50778
50779         Add self-test for getdate module.
50780         * modules/getdate-tests: New file.
50781         * tests/test-getdate.c: New file.
50782
50783 2008-06-29  Bruno Haible  <bruno@clisp.org>
50784
50785         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
50786         .gitignore.
50787         Reported by Sylvain Beucler <beuc@beuc.net>.
50788
50789 2008-06-29  Bruno Haible  <bruno@clisp.org>
50790
50791         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
50792         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
50793
50794 2008-06-29  Bruno Haible  <bruno@clisp.org>
50795
50796         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
50797         EXTRA_DIST.
50798         Reported by Sylvain Beucler <beuc@beuc.net>.
50799
50800 2008-06-26  Jim Meyering  <meyering@redhat.com>
50801
50802         make several modules depend on the "open" module
50803         This provides slightly increased consistency when opening-for-write
50804         the name of a non-directory spelled with a trailing slash.
50805         * modules/chdir-safer: Likewise.
50806         * modules/chown: Likewise.
50807         * modules/clean-temp: Likewise.
50808         * modules/copy-file: Likewise.
50809         * modules/fchdir: Likewise.
50810         * modules/fcntl-safer: Likewise.
50811         * modules/pipe: Likewise.
50812         * modules/utime: Likewise.
50813         Prompted by Eric Blake and Bruno Haible.
50814
50815 2008-06-24  Andreas Schwab  <schwab@suse.de>
50816
50817         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
50818         literals can be used as initializers for global variables.
50819
50820 2008-06-23  Eric Blake  <ebb9@byu.net>
50821
50822         Make gnulib-cache.m4 easier to diff.
50823         * gnulib-tool (func_import): Allow newlines when reading cached
50824         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
50825
50826 2008-06-23  Bruno Haible  <bruno@clisp.org>
50827
50828         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
50829         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
50830         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
50831         m4/signalblocking.m4.
50832         (gl_PREREQ_SIGACTION): Don't invoke it.
50833         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
50834         gl_PREREQ_SIG_HANDLER_H.
50835         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
50836         Don't check for sigaction here.
50837
50838 2008-06-23  Bruno Haible  <bruno@clisp.org>
50839
50840         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
50841         (install_handlers): Don't set the SA_RESETHAND flag.
50842
50843 2008-06-23  Bruno Haible  <bruno@clisp.org>
50844
50845         * m4/sigaction.m4: Comment fixes.
50846         * lib/signal.in.h: Likewise.
50847
50848 2008-06-23  Eric Blake  <ebb9@byu.net>
50849
50850         Fix typo.
50851         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
50852
50853         Avoid SA_ namespace.
50854         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
50855         Reported by Ralf Wildenhues.
50856
50857         Avoid test failure due to SA_RESTORER.
50858         * tests/test-sigaction.c (SA_MASK): New macro.
50859         (main): Avoid failing due to extension flags being set.
50860         Reported by Jim Meyering.
50861
50862         Revert use of sig-handler.h in sigprocmask.c.
50863         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
50864         it requires the existence of struct sigaction.
50865         * lib/sigprocmask.c (handler_t): Restore typedef.
50866         (rpl_signal, old_handlers): Use local type.
50867
50868 2008-06-22  Bruno Haible  <bruno@clisp.org>
50869
50870         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
50871         conditionally.
50872         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50873
50874 2008-06-22  Bruno Haible  <bruno@clisp.org>
50875
50876         * doc/posix-functions/siginterrupt.texi: Move note.
50877
50878         * lib/signal.in.h (SA_RESTART): New macro.
50879         * lib/sigaction.c: Update comment.
50880
50881         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
50882
50883         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
50884         (gl_PREREQ_SIGPROCMASK): Invoke it.
50885         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
50886
50887         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
50888
50889         * lib/sigprocmask.c: Update a comment.
50890
50891 2008-06-21  Eric Blake  <ebb9@byu.net>
50892
50893         Use sigaction module rather than signal().
50894         * modules/c-stack (Depends-on): Add sigaction.
50895         * modules/fatal-signal (Depends-on): Likewise.
50896         * modules/nanosleep (Depends-on): Likewise.
50897         * modules/sigprocmask (Files): Add sig-handler.h.
50898         * modules/sigaction (Files): Likewise.
50899         * lib/sig-handler.h (get_handler): New file, suggested by Paul
50900         Eggert.
50901         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
50902         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
50903         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
50904         (init_fatal_signals): Likewise.
50905         * lib/nanosleep.c (rpl_nanosleep): Likewise.
50906         (siginterrupt): Delete fallback.
50907         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
50908         instead.
50909         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
50910         siginterrupt.
50911
50912         New module sigaction, for mingw.
50913         * modules/sigaction: New module...
50914         * modules/sigaction-tests: ...and its test.
50915         * m4/sigaction.m4: New file.
50916         * lib/sigaction.c: Likewise.
50917         * tests/test-sigaction.c: Likewise.
50918         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
50919         * modules/signal (Makefile.am): Likewise.
50920         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
50921         needed.
50922         * doc/posix-headers/signal.texi (signal.h): Mention provided
50923         types.
50924         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
50925         that sigaction is preferable.
50926         * doc/posix-functions/sigaction.texi (sigaction): Mention new
50927         module.
50928         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50929         sigaction.
50930
50931         Improve robustness of sigprocmask by overriding signal.
50932         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
50933         is in use.
50934         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
50935         (SIGKILL, SIGSTOP): Provide fallbacks.
50936         (rpl_signal): Implement.
50937         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
50938         signal can be called inside handlers.
50939
50940         Fix nanosleep module on mingw.
50941         * modules/nanosleep (Depends-on): Add sys_select.
50942         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
50943
50944         Fix licensing of sigprocmask.
50945         * modules/raise (License): Relicense as LGPL.
50946
50947 2008-06-21  Bruno Haible  <bruno@clisp.org>
50948
50949         * lib/propername.c (proper_name_utf8): Don't use the transliterated
50950         result if it contains question marks.
50951         Reported by Michael Geng <linux@michaelgeng.de>.
50952
50953 2008-06-19  Bruno Haible  <bruno@clisp.org>
50954
50955         Fix CVS-ism.
50956         * doc/gnulib.texi: Include updated-stamp.texi.
50957         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
50958         (updated-stamp.texi): New rule.
50959         (gnulib.info): Depend on it.
50960         * doc/.gitignore: Add updated-stamp.texi.
50961         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
50962
50963 2008-06-19  Bruno Haible  <bruno@clisp.org>
50964
50965         * doc/Makefile (gnulib.info): Update and simplify dependencies.
50966         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
50967
50968 2008-06-19  Eric Blake  <ebb9@byu.net>
50969
50970         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
50971         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
50972         Reported by Stepan Kasal.
50973
50974 2008-06-18  Bruno Haible  <bruno@clisp.org>
50975
50976         * lib/fatal-signal.c (init_fatal_signals): Add comment.
50977         Reported by Eric Blake.
50978
50979 2008-06-18  Eric Blake  <ebb9@byu.net>
50980
50981         Work around cygwin 1.5.25 strsignal bug.
50982         * tests/test-strsignal.c: Allow for const char *.
50983         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
50984
50985 2008-06-18  Simon Josefsson  <simon@josefsson.org>
50986
50987         * users.txt: Update URL to article and add author/date
50988         information.
50989
50990 2008-06-17  Bruno Haible  <bruno@clisp.org>
50991
50992         New macro gl_DISABLE_THREADS.
50993         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
50994         if the user did not pass --enable-threads or --disable-threads option.
50995         (gl_DISABLE_THREADS): New macro.
50996         Reported by Eric Blake <ebb9@byu.net>.
50997
50998 2008-06-17  Bruno Haible  <bruno@clisp.org>
50999
51000         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
51001         when the macro ignores it.
51002         Based on a patch by Eric Blake <ebb9@byu.net>.
51003
51004 2008-06-17  Bruno Haible  <bruno@clisp.org>
51005
51006         * modules/tls (License): Change to LGPLv2+.
51007         Reported by Eric Blake.
51008
51009 2008-06-17  Eric Blake  <ebb9@byu.net>
51010
51011         Simplify c-stack prerequisites.
51012         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
51013         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
51014         no longer requires <ucontext.h> to exist.  Optimize setrlimit
51015         check.
51016         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
51017         <sys/resource.h>.
51018
51019         Move c-stack test into testsuite.
51020         * modules/c-stack-tests: New file.
51021         * lib/c-stack.c [DEBUG]: Move test program...
51022         * tests/test-c-stack.c: ...into this new file.  Skip rather than
51023         fail test if sigaltstack is lacking.
51024         * tests/test-c-stack.sh: New driver file.
51025
51026 2008-06-16  Eric Blake  <ebb9@byu.net>
51027
51028         Use raise module consistently.
51029         * modules/fatal-signal (Depends-on): Add raise.
51030         * modules/sigprocmask (Depends-on): Likewise.
51031         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
51032         * lib/sigprocmask.c (sigprocmask): Likewise.
51033         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
51034         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
51035
51036         Fix compliance bug in sigpending.
51037         * lib/sigprocmask.c (sigpending): Return pending array via
51038         parameter, not return value.
51039
51040 2008-06-14  Eric Blake  <ebb9@byu.net>
51041
51042         Improve obstack-printf test code.
51043         * tests/test-obstack-printf.c (test_function): Fix comment, and
51044         simplify usage of obstack_* in macros.  Add a test for coverage.
51045         Reported by Bruno Haible.
51046
51047 2008-06-14  Bruno Haible  <bruno@clisp.org>
51048
51049         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
51050         array size as a constant, not as a const variable.
51051         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
51052         AC_USE_SYSTEM_EXTENSIONS.
51053         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
51054         Test whether the obstack_printf function actually exists.
51055         * modules/obstack-printf (Depends-on): Add extensions.
51056         (Include): Remove obstack.h.
51057         * modules/obstack-printf-posix (Depends-on): Add extensions.
51058         (Include): Remove obstack.h.
51059
51060 2008-06-13  Eric Blake  <ebb9@byu.net>
51061
51062         Add obstack-printf and obstack-printf-posix modules.
51063         * modules/obstack-printf: New file.
51064         * modules/obstack-printf-posix: Likewise.
51065         * MODULES.html.sh (Misc): Mention them.
51066         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
51067         Likewise.
51068         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
51069         Likewise.
51070         * modules/stdio (Makefile.am): Accomodate new modules.
51071         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51072         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
51073         Declare.
51074         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
51075         functions.
51076         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
51077         (gl_REPLACE_OBSTACK_PRINTF): New macros
51078         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
51079         * tests/test-obstack-printf.c: New file.
51080         * modules/obstack-printf-tests: Likewise.
51081         * modules/obstack-printf-posix-tests: Likewise.
51082
51083 2008-06-11  Bruno Haible  <bruno@clisp.org>
51084
51085         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
51086         * lib/open.c: Include errno.h.
51087         (open): Fail when attempting to write to a file that has a trailing
51088         slash.
51089         * tests/test-open.c (main): Test against trailing slash bug.
51090         * doc/posix-functions/open.texi: Mention the trailing slash bug.
51091
51092 2008-06-10  Bruno Haible  <bruno@clisp.org>
51093
51094         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
51095         for $? to work inside the trap command, with various /bin/sh-s.
51096         * tests/test-vc-list-files-cvs.sh: Likewise.
51097
51098 2008-06-10  Bruno Haible  <bruno@clisp.org>
51099
51100         * lib/acl-internal.h: Don't include gettext.h here.
51101         * lib/set-mode-acl.c: Include gettext.h here.
51102         * lib/copy-acl.c: Likewise.
51103
51104 2008-06-10  Bruno Haible  <bruno@clisp.org>
51105
51106         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
51107         * lib/wait-process.c (wait_subprocess): Likewise.
51108         * lib/execute.h (execute): Add termsigp argument.
51109         * lib/execute.c (execute): Likewise.
51110         * lib/csharpcomp.c (compile_csharp_using_pnet,
51111         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
51112         * lib/csharpexec.c (execute_csharp_using_pnet,
51113         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
51114         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
51115         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
51116         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
51117         is_jikes_present): Update.
51118         * lib/javaexec.c (execute_java_class): Update.
51119         * lib/javaversion.c (execute_and_read_line): Update.
51120         * NEWS: Document the changes.
51121         Reported by Eric Blake.
51122
51123 2008-06-10  Eric Blake  <ebb9@byu.net>
51124
51125         Add missing include.
51126         * tests/test-strstr.c (includes): Add <signal.h>.
51127         * tests/test-strcasestr.c (includes): Likewise.
51128         * tests/test-memmem.c (includes): Likewise.
51129
51130 2008-06-10  Bruno Haible  <bruno@clisp.org>
51131
51132         * lib/wait-process.c (wait_subprocess): Add an assertion.
51133
51134 2008-06-10  Bruno Haible  <bruno@clisp.org>
51135
51136         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
51137
51138 2008-06-10  Bruno Haible  <bruno@clisp.org>
51139
51140         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
51141         using alarm().
51142         * tests/test-strcasestr.c (main): Likewise.
51143         * tests/test-strstr.c (main): Likewise.
51144
51145 2008-06-09  Bruno Haible  <bruno@clisp.org>
51146
51147         Work around the Solaris 10 ACE ACLs ABI change.
51148         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
51149         declare if ACL_NO_TRIVIAL is present.
51150         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
51151         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
51152         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
51153         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
51154         define if ACL_NO_TRIVIAL is present.
51155         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
51156         and use the current ABI.
51157         (file_has_acl): Use same #if condition as elsewhere.
51158         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
51159         in use, and use the current ABI.
51160         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
51161         Reported by Jim Meyering.
51162
51163 2008-06-09  Eric Blake  <ebb9@byu.net>
51164
51165         Work around environments that (stupidly) ignore SIGALRM.
51166         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
51167         before using alarm().
51168         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51169         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
51170         Reported by Ian Beckwith <ianb@erislabs.net>.
51171
51172         Produce autobuild blurb earlier in log.
51173         * modules/autobuild (configure.ac-early): Move AB_INIT here.
51174
51175 2008-06-09  Jim Meyering  <meyering@redhat.com>
51176         and OndÅ™ej Vašík  <ovasik@redhat.com>
51177
51178         utimens.c: correct kernel bug work-around
51179         OndÅ™ej Vašík found that the invalid return value of 280 indicates
51180         failure, not success, and the kernel bug we're trying to work
51181         around affects not just the utimensat call, but also the fallback
51182         futimens call.
51183         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
51184         not success.
51185         [HAVE_FUTIMENS]: Use the same work-around, here.
51186
51187 2008-06-09  Jim Meyering  <meyering@redhat.com>
51188
51189         add more guards around definition of ACE_-related code
51190         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
51191         ALLOW and ACE_OWNER are also defined.
51192
51193 2008-06-08  Bruno Haible  <bruno@clisp.org>
51194
51195         * lib/acl-internal.h: Add me as co-author.
51196         * lib/file-has-acl.c: Likewise.
51197         * lib/set-mode-acl.c: Likewise.
51198         * lib/copy-acl.c: Likewise.
51199
51200 2008-06-08  Bruno Haible  <bruno@clisp.org>
51201
51202         Add support for AIX ACLs.
51203         * lib/acl-internal.h (acl_nontrivial): New declaration.
51204         * lib/file-has-acl.c (acl_nontrivial): New function.
51205         (file_has_acl): Add implementation using AIX 4 ACL API.
51206         * lib/set-mode-acl.c (qset_acl): Likewise.
51207         * lib/copy-acl.c (qcopy_acl): Likewise.
51208
51209 2008-06-08  Bruno Haible  <bruno@clisp.org>
51210
51211         Add support for HP-UX ACLs.
51212         * lib/acl-internal.h (acl_nontrivial): New declaration.
51213         * lib/file-has-acl.c (acl_nontrivial): New function.
51214         (file_has_acl): Add implementation using HP-UX 11 ACL API.
51215         * lib/set-mode-acl.c (qset_acl): Likewise.
51216         * lib/copy-acl.c (qcopy_acl): Likewise.
51217
51218 2008-06-08  Bruno Haible  <bruno@clisp.org>
51219
51220         Add support for Cygwin ACLs.
51221         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
51222         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
51223         the chmod_or_fchmod call.
51224         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
51225
51226 2008-06-08  Bruno Haible  <bruno@clisp.org>
51227
51228         Fix bug with setuid modes in Solaris 10+ code.
51229         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
51230         succeeded, when the mode contains some special bits.
51231
51232 2008-06-08  Bruno Haible  <bruno@clisp.org>
51233
51234         Add support for Solaris 7..10 ACLs.
51235         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
51236         declarations.
51237         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
51238         functions.
51239         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
51240         * lib/set-mode-acl.c (qset_acl): Likewise.
51241         * lib/copy-acl.c (qcopy_acl): Likewise.
51242
51243 2008-06-08  Bruno Haible  <bruno@clisp.org>
51244
51245         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
51246         declaration.
51247         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
51248         (acl_access_nontrivial): Remove MacOS X case.
51249         (file_has_acl): Use acl_extended_nontrivial.
51250         * lib/copy-acl.c (qcopy_acl): Likewise.
51251
51252 2008-06-08  Bruno Haible  <bruno@clisp.org>
51253
51254         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
51255
51256 2008-06-08  Jim Meyering  <meyering@redhat.com>
51257
51258         * modules/acl (Maintainer): Add Bruno Haible.
51259
51260 2008-06-07  Bruno Haible  <bruno@clisp.org>
51261
51262         Improve support for Tru64 ACLs.
51263         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
51264         ACL on OSF/1.
51265
51266 2008-06-07  Bruno Haible  <bruno@clisp.org>
51267
51268         Add support for MacOS X ACLs.
51269         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
51270         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
51271         * lib/set-mode-acl.c (qset_acl): Likewise.
51272         * lib/copy-acl.c (qcopy_acl): Likewise.
51273
51274 2008-06-07  Bruno Haible  <bruno@clisp.org>
51275
51276         Fix memory leak introduced on 2008-05-22.
51277         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
51278         use.
51279
51280 2008-06-07  Bruno Haible  <bruno@clisp.org>
51281
51282         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
51283         to construct an empty ACL.
51284
51285 2008-06-07  Bruno Haible  <bruno@clisp.org>
51286
51287         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
51288         precisely.
51289         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
51290
51291 2008-06-07  Bruno Haible  <bruno@clisp.org>
51292
51293         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
51294         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
51295
51296 2008-06-07  Bruno Haible  <bruno@clisp.org>
51297
51298         * doc/posix-functions/_setjmp.texi: Explain the use of this function
51299         regardless of POSIX.
51300         * doc/posix-functions/_longjmp.texi: Likewise.
51301         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
51302         SystemV platform in this case.
51303
51304 2008-06-06  Eric Blake  <ebb9@byu.net>
51305
51306         Document abort() bugs.
51307         * doc/posix-functions/abort.texi (abort): Mention anomalies.
51308
51309         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
51310         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
51311         sigsetjmp.
51312         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
51313         siglongjmp, but only as a macro.
51314         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
51315         is obsolete.
51316         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
51317
51318         Tweak documentation to cover cygwin argz bugs.
51319         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
51320         argz bug fix; no code change needed since no cygwin releases
51321         occurred between the last fix and the bug being tested.
51322         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
51323         module and recently fixed cygwin bugs.
51324         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
51325         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
51326         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
51327         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
51328         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
51329         Likewise.
51330         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
51331         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
51332         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
51333         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
51334         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
51335         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
51336         Likewise.
51337
51338         Avoid gcc warning on cygwin.
51339         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
51340         !ACL_NO_TRIVIAL]: Avoid unused variable.
51341
51342 2008-06-05  Eric Blake  <ebb9@byu.net>
51343
51344         Be tolerant of UNKNOWN version in gnulib-tool test dir.
51345         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
51346         git-version-gen fails to come up with a version.
51347         Reported by Simon Josefsson.
51348
51349 2008-06-05  Jim Meyering  <meyering@redhat.com>
51350             Paul Eggert  <eggert@cs.ucla.edu>
51351
51352         utimens.c: work around a probable Linux kernel bug
51353         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
51354         appears to be a kernel bug that causes utimensat to return 280
51355         instead of 0, indicating success.
51356
51357 2008-06-04  Bruno Haible  <bruno@clisp.org>
51358
51359         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
51360         2008-06-01 commit.
51361
51362 2008-06-04  Bruno Haible  <bruno@clisp.org>
51363
51364         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
51365         * lib/file-has-acl.c (acl_access_nontrivial): New function.
51366         (file_has_acl): Use it. Save errno afterwards.
51367         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
51368
51369 2008-06-03  Bruno Haible  <bruno@clisp.org>
51370
51371         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
51372         draft code. Simplify #ifs.
51373         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
51374         Put Solaris code after POSIX-draft code. Fix comments regarding
51375         Solaris 10, HP-UX. Mention Cygwin.
51376         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
51377
51378 2008-06-03  Eric Blake  <ebb9@byu.net>
51379
51380         Provide fallback for older kernels.
51381         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
51382         Provide runtime fallback if kernel lacks support.
51383         Reported by Mike Frysinger.
51384
51385 2008-06-02  Bruno Haible  <bruno@clisp.org>
51386
51387         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
51388         it exists.
51389
51390 2008-06-02  Bruno Haible  <bruno@clisp.org>
51391
51392         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
51393         * lib/copy-acl.c (qcopy_acl): Update comment.
51394
51395 2008-06-02  Bruno Haible  <bruno@clisp.org>
51396
51397         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
51398         like ACL APIs.
51399
51400 2008-06-02  Bruno Haible  <bruno@clisp.org>
51401
51402         * tests/test-file-has-acl.sh: Use different code for Cygwin.
51403         * tests/test-set-mode-acl.sh: Likewise.
51404         * tests/test-copy-acl.sh: Likewise.
51405         * tests/test-copy-file.sh: Likewise.
51406
51407 2008-06-02  Bruno Haible  <bruno@clisp.org>
51408
51409         * tests/test-file-has-acl.sh: Remove unused code.
51410
51411 2008-06-01  Bruno Haible  <bruno@clisp.org>
51412
51413         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
51414         (copy_acl): Just a wrapper around qcopy_acl that emits the error
51415         messages.
51416         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
51417
51418 2008-06-01  Bruno Haible  <bruno@clisp.org>
51419
51420         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
51421         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
51422         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
51423         APIs.
51424         * modules/acl-tests (configure.ac): Remove tests now contained in
51425         m4/acl.m4.
51426
51427 2008-06-02  Jim Meyering  <meyering@redhat.com>
51428
51429         announce-gen: use a better key-server host name
51430         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
51431         it may be more consistently reliable.  Suggested by Werner Koch
51432         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
51433
51434 2008-06-01  Bruno Haible  <bruno@clisp.org>
51435
51436         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
51437         Reported by Voroskoi Andras <voroskoi@gmail.com>.
51438
51439 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
51440
51441         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
51442
51443 2008-06-01  Bruno Haible  <bruno@clisp.org>
51444
51445         New ACL tests.
51446         * tests/test-file-has-acl.sh: New file.
51447         * tests/test-file-has-acl.c: New file.
51448         * tests/test-set-mode-acl.sh: New file.
51449         * tests/test-set-mode-acl.c: New file.
51450         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
51451         * tests/test-copy-acl.c: New file.
51452         * modules/acl-tests: New file, based on modules/copy-file-tests.
51453         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
51454         (Depends-on): Add acl-tests.
51455         (configure.ac): Remove checks.
51456         (Makefile.am): Don't create test-sameacls program here any more.
51457
51458 2008-06-01  Bruno Haible  <bruno@clisp.org>
51459
51460         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
51461         * tests/test-sameacls.c: Include progname.h.
51462         (main): Invoke set_program_name. Portability fixes for MacOS X,
51463         Solaris, HP-UX.
51464
51465 2008-06-01  Bruno Haible  <bruno@clisp.org>
51466
51467         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
51468         function.
51469         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
51470
51471 2008-06-01  Bruno Haible  <bruno@clisp.org>
51472
51473         * modules/rpmatch (Depends-on): Add strdup.
51474
51475 2008-06-01  Bruno Haible  <bruno@clisp.org>
51476
51477         * lib/pipe.c: Include unistd-safer.h.
51478         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
51479         * modules/pipe (Depends-on): Add unistd-safer.
51480
51481 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51482
51483         * modules/autobuild (configure.ac): Call AB_INIT.
51484
51485 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51486
51487         * tests/test-getaddrinfo.c: Don't print debug messages by default.
51488         Suggested by Bruno Haible <bruno@clisp.org>.
51489
51490 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51491
51492         * tests/test-base64.c: Cast size_t to unsigned long when invoking
51493         printf.  Use %lu instead of %d.  Reported by Bruno Haible
51494         <bruno@clisp.org>.
51495
51496 2008-05-29  Eric Blake  <ebb9@byu.net>
51497
51498         Prefer new POSIX 200x interfaces over futimesat.
51499         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
51500         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
51501         when available.
51502         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
51503
51504 2008-05-28  Bruno Haible  <bruno@clisp.org>
51505
51506         * modules/stpcpy (License): Change to LGPLv2+.
51507         Requested by David Lutterkort <dlutter@redhat.com>.
51508
51509 2008-05-27  Bruno Haible  <bruno@clisp.org>
51510
51511         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
51512         current mingw.
51513         Reported by Jose E. Marchesi <jemarch@gnu.org>.
51514
51515 2008-05-27  Bruno Haible  <bruno@clisp.org>
51516
51517         * modules/iconv_open (Link): New section, from module 'iconv'.
51518         * modules/striconv (Link): Likewise.
51519         * modules/striconveh (Link): Likewise.
51520         * modules/xstriconv (Link): Likewise.
51521         * modules/unicodeio (Link): Likewise.
51522         * modules/propername (Link): Likewise.
51523         Reported by Jim Meyering.
51524
51525 2008-05-26  Jim Meyering  <meyering@redhat.com>
51526
51527         sha256: do not artificially restrict buffer length to be < 2^32
51528         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
51529         uint32_t to size_t.
51530         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
51531         to match.
51532
51533         avoid unaligned access errors, e.g., on sparc
51534         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
51535         direct access through a possibly-unaligned uint64* pointer.
51536         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
51537         direct access through a possibly-unaligned uint32* pointer.
51538         Prompted by this patch from Tom "spot" Callaway:
51539         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
51540
51541         sha512.c: fix typo in comment
51542         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
51543
51544 2008-05-25  Bruno Haible  <bruno@clisp.org>
51545
51546         * lib/set-mode-acl.c: Renamed from lib/acl.c.
51547         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
51548         (Makefile.am): Update lib_SOURCES.
51549
51550 2008-05-25  Bruno Haible  <bruno@clisp.org>
51551
51552         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
51553
51554 2008-05-25  Jim Meyering  <meyering@redhat.com>
51555
51556         useless-if-before-free: freed expr may have white-space differences
51557         * build-aux/useless-if-before-free: Recognize cases in which the
51558         freed expression differs from the tested one in embedded white
51559         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
51560         $1 was used, so we can't make any regexp shy.  Improved tests now
51561         detect this.
51562
51563         useless-if-before-free: accept white space in the expression.
51564         * build-aux/useless-if-before-free: For now, any white space
51565         in the expression must be identical in the free argument.
51566
51567         useless-if-before-free: efficiency tweak
51568         * build-aux/useless-if-before-free: Make the expression-matching
51569         regexp "shy".
51570         Make the *outer* regexp shy, not the expr-matching one.
51571
51572         update code-in-comment to accept cast of free arg
51573         * build-aux/useless-if-before-free: Update regexp.
51574
51575 2008-05-25  Bruno Haible  <bruno@clisp.org>
51576
51577         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
51578         * modules/copy-file-tests (Files, Makefile.am): Update.
51579         * tests/test-copy-file.c (func_test_copy): Update.
51580
51581 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
51582
51583         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
51584
51585 2008-05-23  Bruno Haible  <bruno@clisp.org>
51586
51587         Improve support for ACLs on OSF/1.
51588         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
51589         Remove fallback for unknown flavors of ACLs.
51590
51591 2008-05-22  Bruno Haible  <bruno@clisp.org>
51592
51593         Add support for ACLs on OSF/1.
51594         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
51595         replacements.
51596         (acl_free_text): New macro fallback.
51597         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
51598         acl_free.
51599         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
51600         acl_free_text function. Require AC_C_INLINE.
51601
51602 2008-05-22  Bruno Haible  <bruno@clisp.org>
51603
51604         Make copy_acl work on MacOS X 10.5.
51605         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
51606         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
51607         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
51608         If MODE_INSIDE_ACL, don't assume that every system has the same text
51609         representation for ACLs as FreeBSD.
51610         * lib/copy-acl.c (copy_acl): Add support for platforms with
51611         !MODE_INSIDE_ACL.
51612         * lib/file-has-acl.c (file_has_acl): Likewise.
51613         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
51614         FreeBSD, MacOS X, or IRIX, respectively.
51615
51616 2008-05-22  Bruno Haible  <bruno@clisp.org>
51617
51618         * lib/acl.h: Don't include <sys/acl.h>.
51619         (GETACLCNT): Move fallback to lib/acl-internal.h.
51620         * lib/acl-internal.h: Include <sys/acl.h> here.
51621         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
51622
51623 2008-05-22  Bruno Haible  <bruno@clisp.org>
51624
51625         Split off copy_acl function to separate file.
51626         * lib/copy-acl.c: New file, extracted from lib/acl.c.
51627         * lib/acl.c (copy_acl): Moved function to separate file.
51628         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
51629         * modules/acl (Files): Add lib/copy-acl.c.
51630         (Makefiles.am): Augment lib_SOURCES.
51631
51632 2008-05-22  Bruno Haible  <bruno@clisp.org>
51633
51634         * modules/copy-file-tests: New file.
51635         * tests/test-copy-file.sh: New file.
51636         * tests/test-copy-file.c: New file.
51637         * tests/test-copy-file-sameacls.c: New file.
51638
51639 2008-05-22  Eric Blake  <ebb9@byu.net>
51640
51641         Avoid gcc warning.
51642         * tests/test-memcmp.c (main): Pass NULL indirectly.
51643
51644 2008-05-21  Bruno Haible  <bruno@clisp.org>
51645
51646         Add reference doc about ACLs.
51647         * doc/acl-resources.txt: New file.
51648         * doc/acl-cygwin.txt: New file.
51649
51650 2008-05-21  Bruno Haible  <bruno@clisp.org>
51651
51652         Avoid one more warning from gcc.
51653         * lib/vasnprintf.c (IF_LINT): Update comments.
51654         (VASNPRINTF): Use it also for the 'prefix' array initializer.
51655
51656 2008-05-21  Jim Meyering  <meyering@redhat.com>
51657
51658         avoid a warning from gcc
51659         * lib/vasnprintf.c (IF_LINT): Define.
51660         (scale10_round_decimal_long_double):
51661         Use it to avoid a "may be used uninitialized" warning.
51662         (scale10_round_decimal_double): Likewise.
51663
51664 2008-05-21  Simon Josefsson  <simon@josefsson.org>
51665
51666         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
51667         declared.
51668
51669 2008-05-20  Bruno Haible  <bruno@clisp.org>
51670
51671         * tests/test-memcmp.c (main): Test also the sign of the result. Test
51672         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
51673
51674 2008-05-20  Simon Josefsson  <simon@josefsson.org>
51675
51676         * modules/memcmp-tests: New file.
51677         * tests/test-memcmp.c: New file.
51678
51679 2008-05-19  Bruno Haible  <bruno@clisp.org>
51680
51681         * modules/propername (Notice, configure.ac): Put quoted "..." into
51682         --keyword option.
51683         * lib/propername.h: Update comments accordingly.
51684         Reported by Eric Blake.
51685
51686 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
51687
51688         * modules/getpass-gnu (Depends-on): Add fseeko.
51689
51690 2008-05-19  Simon Josefsson  <simon@josefsson.org>
51691
51692         * modules/base64-tests: New file.
51693
51694 2008-05-19  Bo Borgerson <gigabo@gmail.com>
51695
51696         * lib/base64.c (base64_decode_ctx): If a decode context structure
51697         was passed in use it to ignore newlines.  If a context structure
51698         was _not_ passed in, continue to treat newlines as garbage (this
51699         is the historical behavior).  Formerly base64_decode.
51700         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
51701         takes a decode context structure.
51702         * lib/base64.h (base64_decode): Macro for four-argument calls.
51703         (base64_decode_alloc): Likewise.
51704         * lib/base64.c (base64_decode_ctx): If a decode context structure
51705         was passed in use it to ignore newlines.  If a context structure
51706         was _not_ passed in, continue to treat newlines as garbage (this
51707         is the historical behavior).  Formerly base64_decode.
51708         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
51709         takes a decode context structure.
51710         * lib/base64.h (base64_decode): Macro for four-argument calls.
51711         (base64_decode_alloc): Likewise.
51712
51713 2008-05-19  Jim Meyering  <meyering@redhat.com>
51714
51715         avoid a warning from gcc
51716         * lib/trim.c (IF_LINT): Define.
51717         (trim2): Use it to avoid a "may be used uninitialized" warning.
51718
51719         Fix doc typo.
51720         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
51721
51722 2008-05-19  Bruno Haible  <bruno@clisp.org>
51723
51724         * doc/glibc-functions/getpass.texi: Document limits of other
51725         implementations.
51726
51727 2008-05-19  Simon Josefsson  <simon@josefsson.org>
51728             Bruno Haible <bruno@clisp.org>
51729
51730         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
51731
51732 2008-05-18  Bruno Haible  <bruno@clisp.org>
51733
51734         * modules/propername: New file, from GNU gettext.
51735         * lib/propername.h: New file, from GNU gettext.
51736         * lib/propername.c: New file, from GNU gettext.
51737         * MODULES.html.sh (Internationalization functions): Add propername.
51738
51739 2008-05-16  Jim Meyering  <meyering@redhat.com>
51740             Bruno Haible  <bruno@clisp.org>
51741
51742         Avoid some warnings from "gcc -Wshadow".
51743         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
51744
51745 2008-05-15  Eric Blake  <ebb9@byu.net>
51746
51747         Extend previous patch to cygwin 1.7.0.
51748         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
51749         fast implementation in cygwin >= 1.7.0.
51750         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
51751         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51752
51753 2008-05-15  Bruno Haible  <bruno@clisp.org>
51754
51755         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
51756         implementation in glibc >= 2.9.
51757         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
51758         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51759
51760 2008-05-15  Bruno Haible  <bruno@clisp.org>
51761
51762         * MODULES.html.sh (Internationalization functions): Remove linebreak.
51763         (Unicode string functions): Add unilbrk/*.
51764         Reported by Karl Berry.
51765
51766 2008-05-15  Eric Blake  <ebb9@byu.net>
51767
51768         Fix violation of <stdbool.h> replacement in regex.
51769         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
51770         * lib/regexec.c (re_search_internal): Likewise.
51771         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
51772
51773 2008-05-15  Jim Meyering  <meyering@redhat.com>
51774
51775         avoid distracting test output when git or cvs is not found
51776         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
51777         * tests/test-vc-list-files-git.sh: Likewise.
51778
51779 2008-05-15  Eric Blake  <ebb9@byu.net>
51780
51781         Glibc finally accepted the memmem speedup code, bugzilla #5514.
51782         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
51783         glibc version.
51784         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
51785         * doc/posix-functions/strstr.texi (strstr): Likewise.
51786         * lib/str-two-way.h (MAX): Sychronize with glibc.
51787
51788 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
51789
51790         * lib/regcomp.c (optimize_utf8): Add a note on why we test
51791         opr.ctx_type.
51792         (calc_first): Initialize constraint field.
51793         (duplicate_node_closure): Use it instead of special casing ANCHORS.
51794         Fix grammar.
51795         (duplicate_node): Merge constraint field for all node types.
51796         (calc_eclosure_iter): Look at constraint field for all node types.
51797         * lib/regex_internal.c (create_cd_newstate): Don't look at
51798         opr.ctx_type.
51799
51800 2008-05-14  Bruno Haible  <bruno@clisp.org>
51801
51802         Help GCC to do better code generation.
51803         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
51804         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
51805         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
51806         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
51807         Declare with attribute 'malloc' if supported.
51808
51809 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
51810
51811         use "echo STR|wc -c" rather than unportable "expr length STR"
51812         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
51813         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
51814
51815 2008-05-14  Jim Meyering  <meyering@redhat.com>
51816
51817         use dd ibs=$n count=1 ... rather than less-portable head -c$n
51818         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
51819         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
51820         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
51821         via Collin Lasse.
51822
51823 2008-05-14  Eric Blake  <ebb9@byu.net>
51824
51825         Avoid quadratic growth in gl_LIBSOURCES.
51826         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
51827         Suggested by Bruno Haible.
51828
51829         Test xmemdup0.
51830         * modules/xmemdup0-tests: New file.
51831         * tests/test-xmemdup0.c: Likewise.
51832
51833 2008-05-13  Eric Blake  <ebb9@byu.net>
51834
51835         Split xmemdup0 into its own module.
51836         * modules/xmemdup0: New file.
51837         * lib/xmemdup0.h: Likewise.
51838         * lib/xmemdup0.c: Likewise.
51839         * MODULES.html.sh (Memory management functions): Add xmemdup0.
51840         * lib/xalloc.h (xmemdup0): Remove.
51841         * lib/xmalloc.c (xmemdup0): Likewise.
51842
51843 2008-05-13  Eric Blake  <ebb9@byu.net>
51844             Bruno Haible  <bruno@clisp.org>
51845
51846         Reduce number of forks required during autoconf.
51847         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
51848         and gl_LIBSOURCES_DIR.
51849         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
51850         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
51851         m4_syscmd per file.
51852         <m4_foreach_w>: Move...
51853         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
51854
51855 2008-05-13  Eric Blake  <ebb9@byu.net>
51856
51857         * gnulib-tool: Fix various comment typos.
51858
51859 2008-05-12  Bruno Haible  <bruno@clisp.org>
51860
51861         Tailor the linebreaking algorithm.
51862         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
51863
51864 2008-05-12  Bruno Haible  <bruno@clisp.org>
51865
51866         Update to Unicode 5.0.0.
51867         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
51868         LBP_JV, LBP_JT. Redistribute values.
51869         (unilbrk_table): Change size.
51870         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
51871         Unicode TR#14 rev. 22.
51872         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
51873         LBP_JV, LBP_JT. Redistribute values.
51874         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
51875         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
51876         Update.
51877         * lib/unilbrk/lbrkprop1.h: Regenerated.
51878         * lib/unilbrk/lbrkprop2.h: Regenerated.
51879         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
51880         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
51881         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
51882         Likewise.
51883         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
51884         Likewise.
51885         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
51886         result.
51887         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
51888         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
51889         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
51890         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
51891         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
51892         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
51893
51894 2008-05-11  Bruno Haible  <bruno@clisp.org>
51895
51896         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
51897
51898 2008-05-11  Bruno Haible  <bruno@clisp.org>
51899
51900         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
51901         * modules/unilbrk/gen-lbrk: New file.
51902
51903 2008-05-11  Bruno Haible  <bruno@clisp.org>
51904
51905         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
51906         * m4/sha512.m4 (gl_SHA512): Likewise.
51907
51908 2008-05-11  Jim Meyering  <meyering@redhat.com>
51909
51910         New modules: crypto/sha256, crypto/sha512 (from coreutils)
51911         * modules/crypto/sha256: New file.
51912         * modules/crypto/sha512: Likewise.
51913         * lib/sha256.c: Likewise.
51914         * lib/sha256.h: Likewise.
51915         * lib/sha512.c: Likewise.
51916         * lib/sha512.h: Likewise.
51917         * lib/u64.h: Likewise.
51918         * m4/sha256.m4: Likewise.
51919         * m4/sha512.m4: Likewise.
51920         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
51921
51922 2008-05-10  Bruno Haible  <bruno@clisp.org>
51923
51924         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
51925         (Input/Output <stdio.h>): Add xprintf.
51926         (Signal handling <signal.h>): Add strsignal.
51927         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
51928         (Core language properties): Add func.
51929         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
51930         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
51931         strings.
51932         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
51933         (Input/output): New section.
51934         (File system functions): Add openat-die, stat-macros.
51935         (Networking functions): Add sockets.
51936         (Unicode string functions): Add unictype/*.
51937         (Support for building libraries and executables): Add gperf.
51938         (Support for building documentation): Add agpl-3.0.
51939         (Misc): Add nocrash.
51940
51941 2008-05-10  Bruno Haible  <bruno@clisp.org>
51942
51943         * modules/unictype/gen-ctype: New file.
51944
51945 2008-05-10  Jim Meyering  <meyering@redhat.com>
51946
51947         Make chdir-safer.c more efficient on a system with no symlinks.
51948         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
51949         also if ELOOP is zero.  Suggested by Bruno Haible.
51950
51951         Make chdir-safer.c slightly safer.
51952         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
51953         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
51954
51955         Avoid compile failure on systems without ELOOP (like mingw).
51956         * lib/chdir-safer.c (ELOOP): Define if not already defined.
51957         Reported by Bruno Haible.
51958
51959 2008-05-10  Bruno Haible  <bruno@clisp.org>
51960
51961         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
51962         (is_utf8_encoding): Use a case-insensitive comparison.
51963         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
51964         streq.
51965
51966 2008-05-10  Bruno Haible  <bruno@clisp.org>
51967
51968         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
51969         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
51970         * lib/unilbrk/ulc-common.h (iconv_string_length,
51971         iconv_string_keeping_offsets): Remove declarations.
51972         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
51973         Don't include <iconv.h>, streq.h, xsize.h.
51974         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
51975         conversion.
51976         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
51977         <iconv.h>, streq.h, xsize.h.
51978         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
51979         conversion.
51980         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
51981         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
51982         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
51983         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
51984
51985 2008-05-10  Bruno Haible  <bruno@clisp.org>
51986
51987         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
51988         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
51989
51990         * modules/unilbrk/u32-width-linebreaks-tests: New file.
51991         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
51992
51993         * modules/unilbrk/u16-width-linebreaks-tests: New file.
51994         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
51995
51996         * modules/unilbrk/u8-width-linebreaks-tests: New file.
51997         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
51998
51999         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
52000         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
52001
52002         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
52003         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
52004
52005         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
52006         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
52007
52008         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
52009         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
52010
52011 2008-05-10  Bruno Haible  <bruno@clisp.org>
52012
52013         Split up 'linebreak' module.
52014         * lib/unilbrk.h: New file, based on lib/linebreak.h.
52015         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
52016         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
52017         modifications.
52018         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
52019         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
52020         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
52021         lib/linebreak.c.
52022         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
52023         lib/linebreak.c.
52024         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
52025         lib/linebreak.c.
52026         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
52027         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
52028         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
52029         lib/linebreak.c.
52030         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
52031         lib/linebreak.c.
52032         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
52033         lib/linebreak.c.
52034         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
52035         lib/linebreak.c.
52036         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
52037         lib/linebreak.c.
52038         * modules/unilbrk/base: New file.
52039         * modules/unilbrk/tables: New file.
52040         * modules/unilbrk/u8-possible-linebreaks: New file.
52041         * modules/unilbrk/u16-possible-linebreaks: New file.
52042         * modules/unilbrk/u32-possible-linebreaks: New file.
52043         * modules/unilbrk/ulc-common: New file.
52044         * modules/unilbrk/ulc-possible-linebreaks: New file.
52045         * modules/unilbrk/u8-width-linebreaks: New file.
52046         * modules/unilbrk/u16-width-linebreaks: New file.
52047         * modules/unilbrk/u32-width-linebreaks: New file.
52048         * modules/unilbrk/ulc-width-linebreaks: New file.
52049         * lib/linebreak.h: Remove file.
52050         * lib/linebreak.c: Remove file.
52051         * m4/linebreak.m4: Remove file.
52052         * modules/linebreak: Remove file.
52053         * NEWS: Mention the changes.
52054
52055 2008-05-09  Eric Blake  <ebb9@byu.net>
52056
52057         Add xmemdup0.
52058         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
52059         implementation.
52060         * lib/xmalloc.c (xmemdup0): New C implementation.
52061
52062 2008-05-08  Bruno Haible  <bruno@clisp.org>
52063
52064         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
52065
52066 2008-05-07  Eric Blake  <ebb9@byu.net>
52067
52068         Support cross-compilation of <wctype.h>.
52069         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
52070         AC_CACHE_CHECK.
52071
52072 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
52073
52074         * build-aux/vc-list-files: Add support for bzr.
52075
52076 2008-05-03  Jim Meyering  <meyering@redhat.com>
52077
52078         avoid failed assertion with tight malloc
52079         * tests/test-getndelim2.c: Correct an off-by-one assertion.
52080
52081 2008-05-03  Simon Josefsson  <simon@josefsson.org>
52082
52083         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
52084         are needed from arpa/inet.h.
52085         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
52086         Reported by Bruno Haible.
52087
52088 2008-05-02  Jim Meyering  <meyering@redhat.com>
52089
52090         avoid compilation error on FreeBSD 6
52091         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
52092
52093 2008-05-01  Jim Meyering  <meyering@redhat.com>
52094
52095         useless-if-before-free: correct --help's exit status description
52096         * build-aux/useless-if-before-free (usage): Like grep, exit 0
52097         for one or more matches, etc.  Reported by Bruno Haible.
52098
52099         vc-list-files: make the stand-alone gnulib test work
52100         * modules/vc-list-files-tests (configure.ac):
52101         Define and AC_SUBST abs_aux_dir.
52102         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
52103         $(abs_top_srcdir) to each script and having each of them
52104         duplicate the work of setting PATH, set PATH here, using
52105         the new variable, abs_aux_dir instead.
52106         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
52107         * tests/test-vc-list-files-git.sh: Likewise.
52108         Reported by Bruno Haible.
52109
52110 2008-05-01  Bruno Haible  <bruno@clisp.org>
52111
52112         * lib/getndelim2.c (getndelim2): Fix newsize computation during
52113         reallocation. Rename 'done' to 'found_delimiter'.
52114
52115 2008-05-01  Jim Meyering  <meyering@redhat.com>
52116
52117         vc-list-files: accommodate /bin/sh like the one from Solaris 10
52118         * build-aux/vc-list-files: Use `...`, not $(...).
52119
52120 2008-04-30  Jim Meyering  <meyering@redhat.com>
52121
52122         add tests for vc-list-files
52123         * modules/vc-list-files-tests: New module.
52124         * tests/test-vc-list-files-cvs.sh: New file.
52125         * tests/test-vc-list-files-git.sh: New file.
52126
52127         avoid a warning from gcc
52128         * lib/getndelim2.c (IF_LINT): Define.
52129         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
52130
52131         vc-list-files: work properly with build-aux/cvsu, too
52132         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
52133         to all cvs-based clauses.
52134
52135         vc-list-files: work properly in the CVS+awk case, too
52136         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
52137
52138         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
52139         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
52140         take more than one file argument, so .  Add quotes, just in case $dir
52141         ever contains a shell meta-character.  Prompted by Soren Hansen in
52142         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
52143
52144 2008-04-29  Eric Blake  <ebb9@byu.net>
52145
52146         Optimize getndelim2 to use block operations when possible.
52147         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
52148         freadseek, and memchr2.
52149         * lib/getndelim2.c (getndelim2): Use them for block reads.
52150
52151 2008-04-29  Bruno Haible  <bruno@clisp.org>
52152
52153         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
52154         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52155         * modules/inet_ntop (Depends-on): Add extensions.
52156         * modules/inet_pton (Depends-on): Likewise.
52157         Reported by Simon Josefsson.
52158
52159 2008-04-29  Jim Meyering  <meyering@redhat.com>
52160
52161         When the is more than one match in a block, match all of them.
52162         * build-aux/useless-if-before-free: Iterate through each block
52163         until there are no more matches.
52164
52165         Fix broken useless-if-before-free script.
52166         * build-aux/useless-if-before-free: Fix typo: missing "?" after
52167         the expression to match cast of argument to free-like function.
52168
52169 2008-04-29  Eric Blake  <ebb9@byu.net>
52170
52171         Use new header.
52172         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
52173
52174 2008-04-29  Jim Meyering  <meyering@redhat.com>
52175
52176         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
52177         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
52178         by gnulib to exist and to declare e.g., inet_ntop.
52179         Don't include "inet_ntop.h", now removed.
52180
52181         * m4/arpa_inet_h.m4: Remove trailing blanks.
52182
52183 2008-04-29  Eric Blake  <ebb9@byu.net>
52184
52185         Silence valgrind on safe reads beyond potential array bounds.
52186         * lib/rawmemchr.valgrind: New file.
52187         * lib/strchrnul.valgrind: Likewise.
52188         * modules/rawmemchr (Files): Distribute new file.
52189         * modules/strchrnul (Files): Likewise.
52190         Suggested by Bruno Haible.
52191
52192 2008-04-29  Bruno Haible  <bruno@clisp.org>
52193
52194         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
52195         (inet_ntop, inet_pton): Change portability warning's wording.
52196         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
52197         Invoke gl_CHECK_NEXT_HEADERS.
52198         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
52199         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
52200         set ARPA_INET_H.
52201         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52202         * modules/arpa_inet (Description): No longer only for systems that
52203         lack it.
52204         (Depends-on): Add include_next.
52205         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
52206         HAVE_ARPA_INET_H.
52207
52208 2008-04-29  Jim Meyering  <meyering@redhat.com>
52209
52210         * modules/mkdir (License): Re-license as LGPLv2+.
52211
52212 2008-04-29  Bruno Haible  <bruno@clisp.org>
52213
52214         * modules/rawmemchr (Maintainer): Set to Eric.
52215         * modules/strchrnul (Maintainer): Likewise.
52216
52217 2008-04-29  Simon Josefsson  <simon@josefsson.org>
52218
52219         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
52220         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
52221
52222         * modules/arpa_inet (arpa/inet.h): Use them.
52223
52224 2008-04-28  Eric Blake  <ebb9@byu.net>
52225
52226         Test getndelim2.
52227         * modules/getndelim2-tests: New file.
52228         * tests/test-getndelim2.c: Likewise.
52229         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
52230         stream.
52231         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
52232
52233         * MODULES.html.sh: Document new module.
52234
52235 2008-04-20  Bruno Haible  <bruno@clisp.org>
52236
52237         * lib/c-stack.c (die): Use raise.
52238         * modules/c-stack (Depends-on): Add raise.
52239
52240 2008-04-28  Bruno Haible  <bruno@clisp.org>
52241
52242         Expect rpmatch to be declared.
52243         * lib/yesno.c (rpmatch): Remove declaration.
52244
52245         Declare rpmatch.
52246         * lib/stdlib.in.h (rpmatch): New declaration.
52247         * lib/rpmatch.c: Include <stdlib.h> first.
52248         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
52249         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
52250         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
52251         HAVE_RPMATCH.
52252         * modules/rpmatch (Depends-on): Add stdlib, extensions.
52253         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52254         (Include): Set to <stdlib.h>.
52255         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
52256         HAVE_RPMATCH.
52257         * NEWS: Document the change.
52258
52259 2008-04-28  Bruno Haible  <bruno@clisp.org>
52260
52261         Change rpmatch to use nl_langinfo when appropriate.
52262         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
52263         (N_): New macro.
52264         (localized_pattern): New function/macro.
52265         (try): Remove match, nomatch arguments. Copy the pattern into safe
52266         memory before caching it.
52267         (rpmatch): Use localized_pattern. Add translator comments.
52268         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
52269         Suggested by Eric Blake.
52270         * modules/rpmatch (Depends-on): Add stdbool.
52271
52272 2008-04-28  Eric Blake  <ebb9@byu.net>
52273
52274         Add rawmemchr module, matching glibc.
52275         * modules/string (Makefile.am): New indicator.
52276         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
52277         * lib/string.in.h (rawmemchr): Declare when appropriate.
52278         * modules/rawmemchr: New file.
52279         * m4/rawmemchr.m4: Likewise.
52280         * lib/rawmemchr.c: Likewise.
52281         * modules/rawmemchr-tests: Likewise.
52282         * tests/test-rawmemchr.c: Likewise.
52283         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
52284         module.
52285         * modules/strchrnul (Depends-on): Add rawmemchr.
52286         * lib/strchrnul.c (strchrnul): Optimize a corner case.
52287
52288         Whitespace cleanup.
52289         * tests/test-strchrnul.c: Reindent.
52290         * lib/strchrnul.c: Likewise.
52291
52292         Optimize and test strchrnul.
52293         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
52294         * modules/strchrnul-tests: New file.
52295         * tests/test-strchrnul.c: Likewise.
52296
52297         Remove intprops dependency.
52298         * modules/memchr (Depends-on): Remove intprops.
52299         * modules/memrchr (Depends-on): Likewise.
52300         * modules/memchr2 (Depends-on): Likewise.
52301         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
52302         * lib/memrchr.c (__memrchr): Likewise.
52303         * lib/memrchr2.c (memchr2): Likewise.
52304         Reported by Simon Josefsson.
52305
52306 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52307
52308         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
52309         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52310
52311 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52312
52313         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
52314
52315         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
52316
52317         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
52318
52319         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
52320         declarations.
52321         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
52322
52323         * m4/inet_pton.m4: Don't check for header files.
52324
52325         * m4/inet_ntop.m4: Don't check for header files.
52326
52327 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52328
52329         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
52330         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
52331         trigger for cygwin).
52332         Reported by Bruno Haible  <bruno@clisp.org>.
52333
52334 2008-04-28  Bruno Haible  <bruno@clisp.org>
52335
52336         * doc/posix-functions/strdup.texi: Mention mingw problem.
52337
52338 2008-04-27  Bruno Haible  <bruno@clisp.org>
52339
52340         * modules/stat-time-tests (Depends-on): Add sleep.
52341         * tests/test-stat-time.c (force_unlink): New function.
52342         (cleanup): Use it.
52343         (test_mtime): Remove the ctime related tests.
52344         (test_ctime): New function, containing the ctime related tests.
52345         (main): Call test_ctime, except on native Windows platforms.
52346
52347 2008-04-27  Bruno Haible  <bruno@clisp.org>
52348
52349         * lib/rpmatch.c (rpmatch): Add some comments.
52350         Reported by James Youngman <jay@gnu.org>.
52351
52352 2008-04-27  Bruno Haible  <bruno@clisp.org>
52353
52354         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
52355         quiet NaNs.
52356
52357 2008-04-27  Bruno Haible  <bruno@clisp.org>
52358
52359         Make test-yesno.sh work on mingw.
52360         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
52361         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
52362         (main): Set stdin to binary mode.
52363         * modules/yesno-tests (Depends-on): Add binary-io.
52364
52365 2008-04-27  Bruno Haible  <bruno@clisp.org>
52366
52367         Fix 'isfinite' on x86, x86_64, ia64 platforms.
52368         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
52369         argument that lie outside the IEEE 854 domain.
52370         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
52371         (gl_ISFINITE): Use it.
52372         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
52373
52374 2008-04-27  Bruno Haible  <bruno@clisp.org>
52375
52376         Allow local renaming in config.h.
52377         * lib/memrchr.c (memrchr): Don't undefine outside libc.
52378
52379 2008-04-27  Bruno Haible  <bruno@clisp.org>
52380
52381         * lib/memchr.c (__memchr): Change type of 'i'.
52382         * lib/memchr2.c (memchr2): Likewise.
52383
52384 2008-04-26  Eric Blake  <ebb9@byu.net>
52385         and Bruno Haible  <bruno@clisp.org>
52386
52387         Optimize and test memrchr.
52388         * modules/memrchr (Depends-on): Add intprops.
52389         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
52390         * modules/memrchr-tests: New file.
52391         * tests/test-memrchr.c: New file.
52392
52393 2008-04-26  Bruno Haible  <bruno@clisp.org>
52394
52395         Add tentative support for DragonFly BSD.
52396         * lib/stdio-impl.h: Add macros for DragonFly BSD.
52397         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
52398         fp.
52399         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
52400         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
52401         * lib/fpurge.c (fpurge): Likewise.
52402         * lib/freadable.c (freaadable): Likewise.
52403         * lib/freadahead.c (freadahead): Likewise.
52404         * lib/freading.c (freading): Likewise.
52405         * lib/freadptr.c (freadptr): Likewise.
52406         * lib/freadseek.c (freadptrinc): Likewise.
52407         * lib/fseeko.c (fseeko): Likewise.
52408         * lib/fseterr.c (fseterr): Likewise.
52409         * lib/fwritable.c (fwritable): Likewise.
52410         * lib/fwriting.c (fwriting): Likewise.
52411
52412 2008-04-26  Bruno Haible  <bruno@clisp.org>
52413
52414         * lib/stdio-impl.h: New file.
52415         * lib/fbufmode.c: Include stdio-impl.h.
52416         (fbufmode): Use fp_, remove redundant #defines.
52417         * lib/fflush.c: Include stdio-impl.h.
52418         (clear_ungetc_buffer): Remove redundant #defines.
52419         * lib/fpurge.c: Include stdio-impl.h.
52420         (fpurge): Remove redundant #defines.
52421         * lib/freadable.c: Include stdio-impl.h.
52422         (freadable): Remove redundant #defines.
52423         * lib/freadahead.c: Include stdio-impl.h.
52424         (freadahead): Remove redundant #defines.
52425         * lib/freading.c: Include stdio-impl.h.
52426         (freading): Remove redundant #defines.
52427         * lib/freadptr.c: Include stdio-impl.h.
52428         (freadptr): Remove redundant #defines.
52429         * lib/freadseek.c: Include stdio-impl.h.
52430         (freadptrinc): Remove redundant #defines.
52431         * lib/fseeko.c: Include stdio-impl.h.
52432         (rpl_fseeko): Remove redundant #defines.
52433         * lib/fseterr.c: Include stdio-impl.h.
52434         (fseterr): Remove redundant #defines.
52435         * lib/fwritable.c: Include stdio-impl.h.
52436         (fwritable: Remove redundant #defines.
52437         * lib/fwriting.c: Include stdio-impl.h.
52438         (fwriting): Remove redundant #defines.
52439         * modules/fbufmode (Files): Add lib/stdio-impl.h.
52440         * modules/fflush (Files): Likewise.
52441         * modules/fpurge (Files): Likewise.
52442         * modules/freadable (Files): Likewise.
52443         * modules/freadahead (Files): Likewise.
52444         * modules/freading (Files): Likewise.
52445         * modules/freadptr (Files): Likewise.
52446         * modules/freadseek (Files): Likewise.
52447         * modules/fseeko (Files): Likewise.
52448         * modules/fseterr (Files): Likewise.
52449         * modules/fwritable (Files): Likewise.
52450         * modules/fwriting (Files): Likewise.
52451
52452 2008-04-26  Bruno Haible  <bruno@clisp.org>
52453
52454         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
52455         restore_seek_optimization, update_fpos_cache): New functions, extracted
52456         from rpl_fflush.
52457         (rpl_fflush): Use them.
52458         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
52459         (gl_REPLACE_FFLUSH): Use it.
52460
52461 2008-04-26  Bruno Haible  <bruno@clisp.org>
52462
52463         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
52464         on Solaris.
52465         * tests/test-xstrtoimax.sh: Likewise.
52466         * tests/test-xstrtoumax.sh: Likewise.
52467         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52468
52469 2008-04-26  Bruno Haible  <bruno@clisp.org>
52470
52471         * modules/memchr-tests: New file.
52472         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
52473
52474 2008-04-26  Eric Blake  <ebb9@byu.net>
52475             Bruno Haible  <bruno@clisp.org>
52476
52477         * lib/memchr.c: Include intprops.h.
52478         (__memchr): Optimize parallel detection of matching bytes. Rename local
52479         variables. Add explanatory comments.
52480
52481 2008-04-26  Bruno Haible  <bruno@clisp.org>
52482
52483         Fix module 'memchr', broken since 2000-10-28.
52484         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
52485
52486 2008-04-26  Bruno Haible  <bruno@clisp.org>
52487
52488         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
52489         comments.
52490
52491 2008-04-25  Eric Blake  <ebb9@byu.net>
52492
52493         Use native fstatat on cygwin 1.7.0.
52494         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
52495         first.
52496
52497 2008-04-23  Eric Blake  <ebb9@byu.net>
52498
52499         Improve memchr2 performance.
52500         * lib/memchr2.c (memchr2): Further optimize parallel detection of
52501         NUL bytes.
52502         * modules/memchr2 (Depends-on): Use intprops.h.
52503
52504 2008-04-23  Simon Josefsson  <simon@josefsson.org>
52505
52506         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
52507         an inline function instead of a CPP macro.  Patch by Ben Pfaff
52508         <blp@cs.stanford.edu>.
52509
52510 2008-04-23  Simon Josefsson  <simon@josefsson.org>
52511
52512         * lib/arpa_inet.in.h: New file.
52513
52514         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
52515         (Makefile.am): Sed in substitute header file.
52516
52517         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
52518         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
52519
52520         * modules/inet_ntop (configure.ac): Use
52521         gl_ARPA_INET_MODULE_INDICATOR.
52522
52523         * modules/inet_pton (configure.ac): Use
52524         gl_ARPA_INET_MODULE_INDICATOR.
52525
52526 2008-04-22  Jim Meyering  <meyering@redhat.com>
52527
52528         * modules/verify (License): Re-license as LGPLv2+.
52529
52530 2008-04-22  Simon Josefsson  <simon@josefsson.org>
52531
52532         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
52533         parameter to void* as per POSIX standard (MinGW uses char*).
52534
52535 2008-04-21  Bruno Haible  <bruno@clisp.org>
52536
52537         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
52538         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
52539         Define to replacements if REPLACE_ISWCNTRL is 1.
52540         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
52541         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
52542         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
52543         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
52544         what it fixes.
52545         * doc/posix-functions/iswalpha.texi: Likewise.
52546         * doc/posix-functions/iswblank.texi: Likewise.
52547         * doc/posix-functions/iswcntrl.texi: Likewise.
52548         * doc/posix-functions/iswdigit.texi: Likewise.
52549         * doc/posix-functions/iswgraph.texi: Likewise.
52550         * doc/posix-functions/iswlower.texi: Likewise.
52551         * doc/posix-functions/iswprint.texi: Likewise.
52552         * doc/posix-functions/iswpunct.texi: Likewise.
52553         * doc/posix-functions/iswspace.texi: Likewise.
52554         * doc/posix-functions/iswupper.texi: Likewise.
52555         * doc/posix-functions/iswxdigit.texi: Likewise.
52556         Reported by Alain Guibert.
52557
52558 2008-04-21  Bruno Haible  <bruno@clisp.org>
52559
52560         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
52561         Patch by Alain Guibert.
52562
52563 2008-04-21  Bruno Haible  <bruno@clisp.org>
52564
52565         Fix test failures on mingw.
52566         * tests/test-xstrtol.c (print_no_progname): New function.
52567         (main): Install it in error_print_progname hook.
52568         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
52569         * tests/test-xstrtoimax.sh: Likewise.
52570         * tests/test-xstrtoumax.sh: Likewise.
52571
52572 2008-04-21  Bruno Haible  <bruno@clisp.org>
52573
52574         Fix test failure on mingw.
52575         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
52576
52577 2008-04-21  Bruno Haible  <bruno@clisp.org>
52578
52579         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
52580         Actually assign a value.
52581
52582 2008-04-20  Bruno Haible  <bruno@clisp.org>
52583
52584         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
52585         take 2.
52586         * lib/canonicalize.c (canonicalize_file_name): Elide if the
52587         'canonicalize-lgpl' module is also used.
52588         * lib/canonicalize-lgpl.c: Undo last change.
52589         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
52590
52591 2008-04-20  Bruno Haible  <bruno@clisp.org>
52592
52593         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
52594         config.h. Provide _mkdir based fallback for mingw.
52595         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
52596         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
52597         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
52598         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
52599         rather than defining mkdir in config.h.
52600         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
52601         (gl_SYS_STAT_H_DEFAULTS): New macro.
52602         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
52603         HAVE_IO_H any more.
52604         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
52605         HAVE_DECL_MKDIR and HAVE_IO_H.
52606
52607 2008-04-20  Bruno Haible  <bruno@clisp.org>
52608
52609         * lib/isapipe.c: Port to native Windows platforms.
52610
52611 2008-04-20  Bruno Haible  <bruno@clisp.org>
52612
52613         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
52614
52615 2008-04-21  Eric Blake  <ebb9@byu.net>
52616
52617         Work around preprocessors that don't handle UINTMAX_MAX.
52618         * lib/memchr2.c (memchr2): Avoid embedded #if.
52619         Reported by Alain Guibert, fix suggested by Bruno Haible.
52620
52621 2008-04-21  Simon Josefsson  <simon@josefsson.org>
52622
52623         * doc/posix-functions/strftime.texi (strftime): Explain better
52624         Windows incompatibility.  Suggested by Micah Cowan
52625         <micah@cowan.name>.
52626
52627 2008-04-20  Bruno Haible  <bruno@clisp.org>
52628
52629         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
52630         unistr/u8-mblen.
52631
52632 2008-04-20  Bruno Haible  <bruno@clisp.org>
52633
52634         Fix test failure on platforms with non-GNU iconv.
52635         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
52636         (U_TO_U8): Use it, rather than u16_to_u8.
52637         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
52638         units at the end of the input string.
52639         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
52640
52641 2008-04-20  Bruno Haible  <bruno@clisp.org>
52642
52643         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
52644         when the resulting length is 0.
52645         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
52646
52647 2008-04-20  Bruno Haible  <bruno@clisp.org>
52648
52649         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
52650         works.
52651         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
52652
52653 2008-04-20  Bruno Haible  <bruno@clisp.org>
52654
52655         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
52656         * modules/tsearch-tests (configure.ac): Test for initstate function.
52657
52658 2008-04-20  Bruno Haible  <bruno@clisp.org>
52659
52660         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
52661         for nlink_t if missing.
52662         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
52663
52664 2008-04-19  Bruno Haible  <bruno@clisp.org>
52665
52666         Work around snprintf bug on Linux libc5.
52667         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
52668         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52669         gl_SNPRINTF_SIZE1.
52670         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52671         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
52672         that test failed.
52673         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
52674         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
52675         * modules/snprintf (Files): Add m4/printf.m4.
52676         * modules/vsnprintf (Files): Likewise.
52677         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
52678         * doc/posix-functions/vsnprintf.texi: Likewise.
52679
52680 2008-04-19  Bruno Haible  <bruno@clisp.org>
52681
52682         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
52683         from 0.0058 to less than 10^-7.
52684
52685 2008-04-19  Bruno Haible  <bruno@clisp.org>
52686
52687         Fix rounding when a precision is given.
52688         * lib/vasnprintf.c (is_borderline): New function.
52689         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
52690         9...9x.
52691         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
52692         %e, %g.
52693         * tests/test-vasprintf-posix.c (test_function): Likewise.
52694         * tests/test-snprintf-posix.h (test_function): Likewise.
52695         * tests/test-sprintf-posix.h (test_function): Likewise.
52696         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
52697         * tests/test-printf-posix.h (test_function): Likewise.
52698         * tests/test-printf-posix.output: Update.
52699         Reported by John Darrington <john@darrington.wattle.id.au> via
52700         Ben Pfaff <blp@cs.stanford.edu>.
52701
52702 2008-04-18  Simon Josefsson  <simon@josefsson.org>
52703
52704         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
52705         Suggested by Bruno Haible <bruno@clisp.org>.
52706
52707 2008-04-17  Bruno Haible  <bruno@clisp.org>
52708
52709         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
52710         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
52711         implementation.
52712         Patch by Bruce Merry <bmerry@gmail.com>.
52713
52714 2008-04-17  Simon Josefsson  <simon@josefsson.org>
52715
52716         * doc/posix-functions/strftime.texi (strftime): Mention that %e
52717         doesn't work under Windows.
52718
52719 2008-04-16  Bruno Haible  <bruno@clisp.org>
52720
52721         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
52722         New macros.
52723         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
52724         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
52725         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
52726         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
52727         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
52728         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
52729         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
52730         macros.
52731         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
52732         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
52733         Northern Sotho, Uighur.
52734
52735 2008-04-16  Bruno Haible  <bruno@clisp.org>
52736
52737         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
52738         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
52739         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
52740         Reported by Daniel Bergström <daniel@octocode.com>.
52741
52742 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
52743             Bruno Haible  <bruno@clisp.org>
52744
52745         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
52746         function.
52747         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
52748         New functions, mostly extracted from gl_locale_name_default.
52749         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
52750
52751 2008-04-16  Eric Blake  <ebb9@byu.net>
52752
52753         Adjust strtod detection to catch glibc 2.7 bug.
52754         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
52755         Reported by John Gatewood Ham.
52756
52757 2008-04-16  Bruno Haible  <bruno@clisp.org>
52758
52759         Add tentative support for Linux libc5.
52760         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
52761         * lib/fpurge.c (fpurge): Likewise.
52762         * lib/freadable.c (freadable): Likewise.
52763         * lib/freadahead.c (freadahead): Likewise.
52764         * lib/freading.c (freading): Likewise.
52765         * lib/freadptr.c (freadptr): Likewise.
52766         * lib/freadseek.c (freadptrinc): Likewise.
52767         * lib/fseeko.c (rpl_fseeko): Likewise.
52768         * lib/fseterr.c (fseterr): Likewise.
52769         * lib/fwritable.c (fwritable): Likewise.
52770         * lib/fwriting.c (fwriting): Likewise.
52771         Reported by Alain Guibert <alguibert+bts@free.fr>.
52772
52773 2008-04-15  Bruno Haible  <bruno@clisp.org>
52774
52775         * modules/mathl (configure.ac): Define module indicator.
52776
52777 2008-04-15  Bruno Haible  <bruno@clisp.org>
52778
52779         * lib/logl.c (logl): Remove unused variables.
52780
52781 2008-04-15  Bruno Haible  <bruno@clisp.org>
52782
52783         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
52784         fails.
52785
52786 2008-04-15  Bruno Haible  <bruno@clisp.org>
52787
52788         * lib/trim.c (trim2): Fix argument of isspace() macro.
52789
52790 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
52791
52792         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
52793         to 0.
52794         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
52795
52796 2008-04-14  Bruno Haible  <bruno@clisp.org>
52797
52798         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
52799         AC_LANG_PROGRAM argument.
52800         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
52801         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
52802         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
52803         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
52804         * m4/math_h.m4 (gl_MATH_H): Likewise.
52805         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
52806         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
52807         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
52808         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
52809         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
52810         * m4/regex.m4 (gl_REGEX): Likewise.
52811         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
52812         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
52813         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52814         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
52815         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
52816         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52817         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
52818         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
52819
52820 2008-04-14  Jim Meyering  <meyering@redhat.com>
52821
52822         test-strtod: fix typos: s/abs/fabs/
52823         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
52824
52825 2008-04-13  Bruno Haible  <bruno@clisp.org>
52826
52827         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
52828         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
52829         module is also used and while not building the reloc-wrapper.
52830
52831 2008-04-13  Bruno Haible  <bruno@clisp.org>
52832
52833         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
52834
52835 2008-04-13  Bruno Haible  <bruno@clisp.org>
52836
52837         Fix AIX compilation failure introduced on 2008-04-02.
52838         * tests/test-frexp.c (exp): Undefine before redefining.
52839         * tests/test-frexpl.c (exp): Likewise.
52840
52841 2008-04-13  Bruno Haible  <bruno@clisp.org>
52842
52843         Work around a HP-UX stdio bug.
52844         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
52845         * tests/test-ftello.c (main): Likewise.
52846         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
52847         * doc/posix-functions/ftello.texi: Likewise.
52848
52849 2008-04-13  Bruno Haible  <bruno@clisp.org>
52850
52851         Make test-signbit pass on HP-UX/hppa.
52852         * tests/test-signbit.c (minus_zerol): New variable.
52853         (test_signbitl): Use it.
52854
52855 2008-04-13  Bruno Haible  <bruno@clisp.org>
52856
52857         Make truncl work on OSF/1 4.0.
52858         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
52859         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
52860         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
52861         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
52862         HAVE_DECL_TRUNCL.
52863         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
52864         HAVE_DECL_TRUNCL.
52865         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
52866
52867 2008-04-13  Bruno Haible  <bruno@clisp.org>
52868
52869         * lib/unictype.h: Remove trailing comma from enumeration definitions.
52870
52871 2008-04-13  Bruno Haible  <bruno@clisp.org>
52872
52873         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
52874         expression, so as to avoid HP-UX 11 cc compiler bug.
52875
52876 2008-04-13  Bruno Haible  <bruno@clisp.org>
52877
52878         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
52879
52880 2008-04-13  Bruno Haible  <bruno@clisp.org>
52881
52882         * lib/git-merge-changelog.c: Remove empty declaration outside of
52883         functions.
52884
52885 2008-04-13  Bruno Haible  <bruno@clisp.org>
52886
52887         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
52888
52889 2008-04-13  Bruno Haible  <bruno@clisp.org>
52890
52891         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
52892         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
52893         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
52894         also if it exists but lacks definitions of the SHUT_* macros.
52895         * modules/sys_socket (Description): Update.
52896         Reported by Elbert Pol <e.pol@chello.nl>.
52897
52898 2008-04-13  Bruno Haible  <bruno@clisp.org>
52899
52900         * lib/localcharset.c (OS2): Don't redefine if already defined.
52901         Reported by Elbert Pol <e.pol@chello.nl>.
52902
52903 2008-04-13  Bruno Haible  <bruno@clisp.org>
52904
52905         * lib/binary-io.h [__EMX__]: Include <io.h>.
52906         Reported by Elbert Pol <e.pol@chello.nl>.
52907
52908 2008-04-12  Bruno Haible  <bruno@clisp.org>
52909
52910         * lib/fpucw.h: Enable the definitions also for x86_64.
52911         Needed for NetBSD/x86_64.
52912         Reported by Thomas Klausner <tk@giga.or.at>.
52913
52914 2008-04-12  Bruno Haible  <bruno@clisp.org>
52915
52916         * tests/test-strtod.c: Include isnand.h.
52917         (main): Use isnand instead of isnan.
52918         Reported by Jim Meyering.
52919
52920 2008-04-12  Bruno Haible  <bruno@clisp.org>
52921
52922         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
52923         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
52924
52925 2008-04-12  Jim Meyering  <meyering@redhat.com>
52926
52927         * m4/math_h.m4 (gl_MATH_H): Fix typos.
52928
52929 2008-04-12  Bruno Haible  <bruno@clisp.org>
52930
52931         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
52932         Reported by Elbert Pol <e.pol@chello.nl>.
52933
52934 2008-04-12  Eric Blake  <ebb9@byu.net>
52935
52936         Work around Solaris 10 math.h bug.
52937         * m4/math_h.m4 (gl_MATH_H): Check for bug.
52938         (gl_MATH_H_DEFAULTS): Set up default.
52939         * modules/math (Makefile.am): Replace new indicators.
52940         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
52941         * tests/test-math.c (main): Test this.
52942         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
52943         * doc/posix-headers/math.texi (math.h): Mention bug.
52944         Reported by Nelson H. F. Beebe and Jim Meyering.
52945
52946 2008-04-11  Bruno Haible  <bruno@clisp.org>
52947
52948         Adapt to future versions of Apple GCC.
52949         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
52950         Reported by Peter O'Gorman <peter@pogma.com>.
52951
52952 2008-04-11  Bruno Haible  <bruno@clisp.org>
52953
52954         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
52955
52956 2008-04-11  Bruno Haible  <bruno@clisp.org>
52957
52958         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
52959
52960         * modules/getaddrinfo-tests (Makefile.am): Define
52961         test_getaddrinfo_LDADD.
52962
52963 2008-04-11  Bruno Haible  <bruno@clisp.org>
52964
52965         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
52966         (init): Fix syntax error.
52967         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
52968         is declared.
52969
52970 2008-04-11  Bruno Haible  <bruno@clisp.org>
52971
52972         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
52973         * modules/glob (Depends-on): Add stdbool.
52974
52975 2008-04-11  Bruno Haible  <bruno@clisp.org>
52976
52977         * lib/trim.c: Include <string.h>.
52978
52979 2008-04-11  Eric Blake  <ebb9@byu.net>
52980
52981         Avoid compile failure on OS/2.
52982         * lib/regex_internal.h (internal_function): Disable optimization
52983         on OS/2 (__EMX__), where it caused compiler error.
52984         Reported by Elbert Pol.
52985
52986 2008-04-11  Bruno Haible  <bruno@clisp.org>
52987
52988         Flush the standard error stream before aborting. Needed on mingw.
52989         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
52990         * tests/test-array_list.c (ASSERT): Likewise.
52991         * tests/test-array_oset.c (ASSERT): Likewise.
52992         * tests/test-avltree_list.c (ASSERT): Likewise.
52993         * tests/test-avltree_oset.c (ASSERT): Likewise.
52994         * tests/test-avltreehash_list.c (ASSERT): Likewise.
52995         * tests/test-binary-io.c (ASSERT): Likewise.
52996         * tests/test-byteswap.c (ASSERT): Likewise.
52997         * tests/test-c-ctype.c (ASSERT): Likewise.
52998         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
52999         * tests/test-c-strcasestr.c (ASSERT): Likewise.
53000         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
53001         * tests/test-c-strstr.c (ASSERT): Likewise.
53002         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
53003         * tests/test-canonicalize.c (ASSERT): Likewise.
53004         * tests/test-carray_list.c (ASSERT): Likewise.
53005         * tests/test-ceilf1.c (ASSERT): Likewise.
53006         * tests/test-ceilf2.c (ASSERT): Likewise.
53007         * tests/test-ceill.c (ASSERT): Likewise.
53008         * tests/test-count-one-bits.c (ASSERT): Likewise.
53009         * tests/test-fbufmode.c (ASSERT): Likewise.
53010         * tests/test-fflush2.c (ASSERT): Likewise.
53011         * tests/test-floorf1.c (ASSERT): Likewise.
53012         * tests/test-floorf2.c (ASSERT): Likewise.
53013         * tests/test-floorl.c (ASSERT): Likewise.
53014         * tests/test-fopen.c (ASSERT): Likewise.
53015         * tests/test-fpending.c (ASSERT): Likewise.
53016         * tests/test-fprintf-posix.c (ASSERT): Likewise.
53017         * tests/test-fpurge.c (ASSERT): Likewise.
53018         * tests/test-freadable.c (ASSERT): Likewise.
53019         * tests/test-freadahead.c (ASSERT): Likewise.
53020         * tests/test-freading.c (ASSERT): Likewise.
53021         * tests/test-freadptr.c (ASSERT): Likewise.
53022         * tests/test-freadptr2.c (ASSERT): Likewise.
53023         * tests/test-freadseek.c (ASSERT): Likewise.
53024         * tests/test-freopen.c (ASSERT): Likewise.
53025         * tests/test-frexp.c (ASSERT): Likewise.
53026         * tests/test-frexpl.c (ASSERT): Likewise.
53027         * tests/test-fseek.c (ASSERT): Likewise.
53028         * tests/test-fseeko.c (ASSERT): Likewise.
53029         * tests/test-fstrcmp.c (ASSERT): Likewise.
53030         * tests/test-ftell.c (ASSERT): Likewise.
53031         * tests/test-ftello.c (ASSERT): Likewise.
53032         * tests/test-func.c (ASSERT): Likewise.
53033         * tests/test-fwritable.c (ASSERT): Likewise.
53034         * tests/test-fwriting.c (ASSERT): Likewise.
53035         * tests/test-getdelim.c (ASSERT): Likewise.
53036         * tests/test-getline.c (ASSERT): Likewise.
53037         * tests/test-i-ring.c (ASSERT): Likewise.
53038         * tests/test-iconv-utf.c (ASSERT): Likewise.
53039         * tests/test-iconv.c (ASSERT): Likewise.
53040         * tests/test-isfinite.c (ASSERT): Likewise.
53041         * tests/test-isnand.c (ASSERT): Likewise.
53042         * tests/test-isnanf.c (ASSERT): Likewise.
53043         * tests/test-isnanl.h (ASSERT): Likewise.
53044         * tests/test-ldexpl.c (ASSERT): Likewise.
53045         * tests/test-linked_list.c (ASSERT): Likewise.
53046         * tests/test-linkedhash_list.c (ASSERT): Likewise.
53047         * tests/test-localename.c (ASSERT): Likewise.
53048         * tests/test-lseek.c (ASSERT): Likewise.
53049         * tests/test-mbscasecmp.c (ASSERT): Likewise.
53050         * tests/test-mbscasestr1.c (ASSERT): Likewise.
53051         * tests/test-mbscasestr2.c (ASSERT): Likewise.
53052         * tests/test-mbscasestr3.c (ASSERT): Likewise.
53053         * tests/test-mbscasestr4.c (ASSERT): Likewise.
53054         * tests/test-mbschr.c (ASSERT): Likewise.
53055         * tests/test-mbscspn.c (ASSERT): Likewise.
53056         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
53057         * tests/test-mbspbrk.c (ASSERT): Likewise.
53058         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
53059         * tests/test-mbsrchr.c (ASSERT): Likewise.
53060         * tests/test-mbsspn.c (ASSERT): Likewise.
53061         * tests/test-mbsstr1.c (ASSERT): Likewise.
53062         * tests/test-mbsstr2.c (ASSERT): Likewise.
53063         * tests/test-mbsstr3.c (ASSERT): Likewise.
53064         * tests/test-memchr2.c (ASSERT): Likewise.
53065         * tests/test-memmem.c (ASSERT): Likewise.
53066         * tests/test-open.c (ASSERT): Likewise.
53067         * tests/test-printf-frexp.c (ASSERT): Likewise.
53068         * tests/test-printf-frexpl.c (ASSERT): Likewise.
53069         * tests/test-printf-posix.c (ASSERT): Likewise.
53070         * tests/test-quotearg.c (ASSERT): Likewise.
53071         * tests/test-rbtree_list.c (ASSERT): Likewise.
53072         * tests/test-rbtree_oset.c (ASSERT): Likewise.
53073         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
53074         * tests/test-round1.c (ASSERT): Likewise.
53075         * tests/test-roundf1.c (ASSERT): Likewise.
53076         * tests/test-roundl.c (ASSERT): Likewise.
53077         * tests/test-signbit.c (ASSERT): Likewise.
53078         * tests/test-sleep.c (ASSERT): Likewise.
53079         * tests/test-snprintf-posix.c (ASSERT): Likewise.
53080         * tests/test-snprintf.c (ASSERT): Likewise.
53081         * tests/test-sprintf-posix.c (ASSERT): Likewise.
53082         * tests/test-stat-time.c (ASSERT): Likewise.
53083         * tests/test-strcasestr.c (ASSERT): Likewise.
53084         * tests/test-strerror.c (ASSERT): Likewise.
53085         * tests/test-striconv.c (ASSERT): Likewise.
53086         * tests/test-striconveh.c (ASSERT): Likewise.
53087         * tests/test-striconveha.c (ASSERT): Likewise.
53088         * tests/test-strsignal.c (ASSERT): Likewise.
53089         * tests/test-strstr.c (ASSERT): Likewise.
53090         * tests/test-strtod.c (ASSERT): Likewise.
53091         * tests/test-trunc1.c (ASSERT): Likewise.
53092         * tests/test-trunc2.c (ASSERT): Likewise.
53093         * tests/test-truncf1.c (ASSERT): Likewise.
53094         * tests/test-truncf2.c (ASSERT): Likewise.
53095         * tests/test-truncl.c (ASSERT): Likewise.
53096         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
53097         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
53098         * tests/test-vasnprintf.c (ASSERT): Likewise.
53099         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
53100         * tests/test-vasprintf.c (ASSERT): Likewise.
53101         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
53102         * tests/test-vprintf-posix.c (ASSERT): Likewise.
53103         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
53104         * tests/test-vsnprintf.c (ASSERT): Likewise.
53105         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
53106         * tests/test-wcwidth.c (ASSERT): Likewise.
53107         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
53108         * tests/test-xprintf-posix.c (ASSERT): Likewise.
53109         * tests/test-xvasprintf.c (ASSERT): Likewise.
53110         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
53111         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
53112         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
53113         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
53114         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
53115         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
53116         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
53117         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
53118         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
53119         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
53120         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
53121         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
53122         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
53123         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
53124         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
53125         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
53126         * tests/unictype/test-block_list.c (ASSERT): Likewise.
53127         * tests/unictype/test-block_of.c (ASSERT): Likewise.
53128         * tests/unictype/test-block_test.c (ASSERT): Likewise.
53129         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
53130         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
53131         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
53132         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
53133         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
53134         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
53135         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
53136         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
53137         * tests/unictype/test-combining.c (ASSERT): Likewise.
53138         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
53139         * tests/unictype/test-digit.c (ASSERT): Likewise.
53140         * tests/unictype/test-mirror.c (ASSERT): Likewise.
53141         * tests/unictype/test-numeric.c (ASSERT): Likewise.
53142         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
53143         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
53144         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
53145         * tests/unictype/test-scripts.c (ASSERT): Likewise.
53146         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
53147         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
53148         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
53149         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
53150         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
53151         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
53152         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
53153         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
53154         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
53155         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
53156         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
53157         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
53158         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
53159         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
53160         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
53161         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
53162         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
53163         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
53164         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
53165         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
53166         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
53167         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
53168         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
53169         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
53170         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
53171         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
53172         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
53173         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
53174         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
53175         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
53176         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
53177         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
53178         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
53179         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
53180         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
53181         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
53182         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
53183         Reported by Eric Blake.
53184
53185 2008-04-11  Bruno Haible  <bruno@clisp.org>
53186
53187         * lib/wchar.in.h: Tweak comment.
53188
53189 2008-04-11  Bruno Haible  <bruno@clisp.org>
53190
53191         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
53192         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
53193         gl_COMMON.
53194         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
53195
53196 2008-04-11  Bruno Haible  <bruno@clisp.org>
53197
53198         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
53199
53200 2008-04-11  Simon Josefsson  <simon@josefsson.org>
53201
53202         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
53203         of attempting to use non-existing /dev/*random.  Based on patch
53204         from Adam Strzelecki <ono@java.pl> in
53205         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
53206
53207 2008-04-08  Bruno Haible  <bruno@clisp.org>
53208
53209         Add tentative support for emx+gcc.
53210         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
53211         * lib/fpurge.c (fpurge): Likewise.
53212         * lib/freadable.c (freadable): Likewise.
53213         * lib/freadahead.c (freadahead): Likewise.
53214         * lib/freading.c (freading): Likewise.
53215         * lib/freadptr.c (freadptr): Likewise.
53216         * lib/freadseek.c (freadptrinc): Likewise.
53217         * lib/fseeko.c (rpl_fseeko): Likewise.
53218         * lib/fseterr.c (fseterr): Likewise.
53219         * lib/fwritable.c (fwritable): Likewise.
53220         * lib/fwriting.c (fwriting): Likewise.
53221         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
53222
53223 2008-04-09  Eric Blake  <ebb9@byu.net>
53224
53225         Avoid some autoconf warnings.
53226         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
53227         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
53228         * m4/afs.m4 (gl_AFS): Likewise.
53229         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
53230         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
53231         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
53232         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
53233         (gl_INTEGER_TYPE_SUFFIX): Likewise.
53234         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
53235         (AC_CHECK_DECLS_ONCE): Likewise.
53236         Rename file...
53237         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
53238         gnulib-tool requires autoconf 2.59 or better.
53239         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
53240
53241 2008-04-08  Eric Blake  <ebb9@byu.net>
53242
53243         Use 'git describe --match' if present (added in git 1.5.5).
53244         * build-aux/git-version-gen: Limit result to tags that match 'v*'
53245         if possible.
53246
53247 2008-04-08  Bruno Haible  <bruno@clisp.org>
53248
53249         Add tentative support for OpenServer.
53250         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
53251         _ptr, _cnt.
53252         * lib/fpurge.c (fpurge): Likewise.
53253         * lib/freadable.c (freadable): Likewise.
53254         * lib/freadahead.c (freadahead): Likewise.
53255         * lib/freading.c (freading): Likewise.
53256         * lib/freadptr.c (freadptr): Likewise.
53257         * lib/freadseek.c (freadptrinc): Likewise.
53258         * lib/fseeko.c (rpl_fseeko): Likewise.
53259         * lib/fseterr.c (fseterr): Likewise.
53260         * lib/fwritable.c (fwritable): Likewise.
53261         * lib/fwriting.c (fwriting): Likewise.
53262         Reported by Roger Cornelius <rac@tenzing.org> and
53263         Brian K. White <brian@aljex.com>.
53264
53265 2008-04-06  Jim Meyering  <meyering@redhat.com>
53266
53267         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
53268
53269 2008-04-06  Bruno Haible  <bruno@clisp.org>
53270
53271         Avoid possible error with non-ASCII bytes in UTF-8 locales.
53272         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
53273         * tests/test-printf-posix.sh: Likewise.
53274         * tests/test-vfprintf-posix.sh: Likewise.
53275         * tests/test-vprintf-posix.sh: Likewise.
53276         * tests/test-xprintf-posix.sh: Likewise.
53277
53278 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53279
53280         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
53281         hide error from 'ls', needed on OS/2.
53282         Report by Elbert Pol <elbert.pol@gmail.com>.
53283
53284 2008-04-04  Eric Blake  <ebb9@byu.net>
53285
53286         Make test-fseeko.c failures meaningful.
53287         * tests/test-fseeko.c: Print line number on failure.
53288         * tests/test-fseek.c: Likewise.
53289         Reported by Nelson H. F. Beebe.
53290
53291         Improve strtod bug detection check.
53292         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
53293         required for Solaris 10.
53294         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
53295
53296 2008-04-04  Bruno Haible  <bruno@clisp.org>
53297
53298         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
53299         by m4/setenv.m4.
53300
53301 2008-04-03  Eric Blake  <ebb9@byu.net>
53302
53303         Ensure sane .version contents.
53304         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
53305         version string.
53306         * build-aux/git-version-gen: Improve documentation.
53307
53308         Make GNU make output nicer.
53309         * top/GNUmakefile [!_have-Makefile]: Add dependency on
53310         MAKECMDGOALS to enforce message for all command line targets.  Set
53311         srcdir for use in maint.mk.
53312
53313         Another maintainer tweak.
53314         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
53315         a target that regenerates version.
53316
53317 2008-04-03  Jim Meyering  <meyering@redhat.com>
53318
53319         vc-list-files: don't cause coreutils "make po-check" failure
53320         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
53321
53322 2008-04-03  Eric Blake  <ebb9@byu.net>
53323
53324         Allow VPATH usage of vc-list-files.
53325         * build-aux/vc-list-files (scriptversion): Add timestamp.
53326         (options): Add --help, --version, -C.
53327         (CVS): Support installed cvsu.
53328
53329 2008-04-02  Bruno Haible  <bruno@clisp.org>
53330
53331         Avoid some "statement with no effect" warnings from gcc.
53332         * tests/test-wctype.c (main): Explicitly ignore unused values.
53333         Reported by Jim Meyering.
53334
53335 2008-04-02  Jim Meyering  <meyering@redhat.com>
53336
53337         Avoid some warnings from "gcc -Wshadow".
53338         * tests/test-frexp.c (exp): Define to a different identifier.
53339         * tests/test-frexpl.c (exp): Likewise.
53340
53341 2008-04-03  Jim Meyering  <meyering@redhat.com>
53342
53343         bootstrap: remove dangling *.[ch] symlinks from lib
53344         * build-aux/bootstrap [dangling symlink removal]: Move find's
53345         -depth option to precede all others, to avoid a warning.
53346         Remove *.[ch] files too, and from "$source_base" (usually lib/).
53347
53348 2008-04-02  Bruno Haible  <bruno@clisp.org>
53349
53350         Avoid some warnings from "gcc -Wshadow".
53351         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
53352         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
53353         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
53354         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
53355         Reported by Jim Meyering.
53356
53357 2008-04-01  Bruno Haible  <bruno@clisp.org>
53358
53359         Fix test to work on IRIX 6.5 with cc.
53360         * tests/test-math.c (numeric_equal): New function.
53361         (main): Use it.
53362
53363 2008-04-01  Bruno Haible  <bruno@clisp.org>
53364
53365         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
53366
53367 2008-04-01  Bruno Haible  <bruno@clisp.org>
53368
53369         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
53370         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53371         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
53372         (Depends-on): Remove math.
53373
53374         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
53375         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53376         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
53377         (Depends-on): Remove math.
53378
53379         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
53380         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53381         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
53382         (Depends-on): Remove math.
53383         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
53384         (Depends-on): Remove math.
53385
53386         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
53387         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53388         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
53389         (Depends-on): Remove math.
53390         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
53391         (Depends-on): Remove math.
53392
53393         * tests/test-round1.c: Include nan.h.
53394         (main): Use NaNd instead of NAN.
53395         * modules/round-tests (Files): Add tests/nan.h.
53396
53397         * tests/test-trunc1.c: Include nan.h.
53398         (main): Use NaNd instead of NAN.
53399         * modules/trunc-tests (Files): Add tests/nan.h.
53400
53401         * tests/test-roundf1.c: Include nan.h.
53402         (main): Use NaNf instead of NAN.
53403         * modules/roundf-tests (Files): Add tests/nan.h.
53404
53405         * tests/test-truncf1.c: Include nan.h.
53406         (main): Use NaNf instead of NAN.
53407         * modules/truncf-tests (Files): Add tests/nan.h.
53408
53409         * tests/test-ceilf1.c: Include nan.h.
53410         (main): Use NaNf instead of NAN.
53411         * modules/ceilf-tests (Files): Add tests/nan.h.
53412
53413         * tests/test-floorf1.c: Include nan.h.
53414         (main): Use NaNf instead of NAN.
53415         * modules/floorf-tests (Files): Add tests/nan.h.
53416
53417         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
53418         (main): Use NaNf instead of NAN.
53419         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
53420
53421         * tests/test-isnand.c: Include nan.h instead of <math.h>.
53422         (main): Use NaNd instead of NAN.
53423         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
53424
53425         * tests/test-frexp.c: Include nan.h.
53426         (main): Use NaNd instead of NAN.
53427         * modules/frexp-tests (Files): Add tests/nan.h.
53428
53429         * lib/isnan.c: Don't include <math.h>.
53430         (FUNC): Don't use NAN macro.
53431         * modules/isnand-nolibm (Depends-on): Remove math.
53432         * modules/isnanf-nolibm (Depends-on): Remove math.
53433         * modules/isnanl (Depends-on): Remove math.
53434         * modules/isnanl-nolibm (Depends-on): Remove math.
53435
53436         * tests/nan.h: New file.
53437
53438 2008-04-01  Eric Blake  <ebb9@byu.net>
53439
53440         Fix typos.
53441         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
53442         values to be the right type.
53443
53444         For now, cater to gnulib strtod inaccuracies.
53445         * tests/test-strtod.c (main): Allow 1-ulp error on expected
53446         fractional results.  While not as nice from a QoI perspective, it
53447         is a quicker patch than correctly implementing decimal to binary
53448         rounding.
53449
53450 2008-03-31  Eric Blake  <ebb9@byu.net>
53451
53452         Guarantee a definition of NAN.
53453         * lib/math.in.h (NAN): Define if missing.
53454         * tests/test-math.c (main): Test it.
53455         * doc/posix-headers/math.texi (math.h): Document this.
53456         * lib/isnan.c (rpl_isnand): Use it.
53457         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
53458         * tests/test-floorf1.c (NaN): Likewise.
53459         * tests/test-frexp.c (NaN): Likewise.
53460         * tests/test-isnand.c (NaN): Likewise.
53461         * tests/test-isnanf.c (NaN): Likewise.
53462         * tests/test-round1.c (NaN): Likewise.
53463         * tests/test-roundf1.c (NaN): Likewise.
53464         * tests/test-snprintf-posix.h (NaN): Likewise.
53465         * tests/test-sprintf-posix.h (NaN): Likewise.
53466         * tests/test-trunc1.c (NaN): Likewise.
53467         * tests/test-truncf1.c (NaN): Likewise.
53468         * tests/test-vasnprintf-posix.c (NaN): Likewise.
53469         * tests/test-vasprintf-posix.c (NaN): Likewise.
53470         * modules/isnand-nolibm (Depends-on): Add math.
53471         * modules/isnanf-nolibm (Depends-on): Likewise.
53472         * modules/isnanl (Depends-on): Likewise.
53473         * modules/isnanl-nolibm (Depends-on): Likewise.
53474         * modules/snprintf-posix-tests (Depends-on): Likewise.
53475         * modules/sprintf-posix-tests (Depends-on): Likewise.
53476         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
53477         * modules/vsprintf-posix-tests (Depends-on): Likewise.
53478         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
53479         * modules/vasprintf-posix-tests (Depends-on): Likewise.
53480
53481 2008-03-31  Bruno Haible  <bruno@clisp.org>
53482
53483         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
53484         * doc/posix-functions/strtod.texi: Likewise.
53485
53486 2008-03-31  Bruno Haible  <bruno@clisp.org>
53487
53488         * tests/test-strtod.c (main): Don't use C99 syntax.
53489
53490 2008-03-31  Bruno Haible  <bruno@clisp.org>
53491
53492         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
53493         Reported by Eric Blake.
53494
53495 2008-03-31  Jim Meyering  <meyering@redhat.com>
53496
53497         Don't compare actual signbit return values.
53498         * tests/test-strtod.c (main): Rather, compare only their
53499         zero/non-zero nature.
53500
53501 2008-03-31  Eric Blake  <ebb9@byu.net>
53502
53503         More strtod documentation.
53504         * doc/posix-functions/strtod.texi (strtod): Interpret more test
53505         failures as distinct bugs.
53506
53507 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
53508
53509         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
53510         Problem reported by Erik Benada in
53511         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
53512
53513 2008-03-30  Bruno Haible  <bruno@clisp.org>
53514
53515         * tests/test-strtod.c: Add comments about which assertion fails on which
53516         platform.
53517         * doc/posix-functions/strtod.texi: Add info about many more platforms.
53518
53519 2008-03-30  Eric Blake  <ebb9@byu.net>
53520
53521         Test signbit behavior on zeros.
53522         * tests/test-signbit.c (test_signbitf): Add tests for zero.
53523         (test_signbitd, test_signbitl): Likewise.
53524
53525         More strtod touchups.
53526         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
53527         sign of negative underflow, for now.  Use .5, not .1.
53528         * doc/posix-functions/strtod.texi (strtod): Mention these
53529         limitations.
53530         Reported by Jim Meyering.
53531
53532 2008-03-30  Bruno Haible  <bruno@clisp.org>
53533
53534         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
53535         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
53536
53537 2008-03-30  Bruno Haible  <bruno@clisp.org>
53538
53539         Avoid failure when attempting to return empty iconv results on some
53540         platforms.
53541         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
53542         allocation, don't report ENOMEM when the resulting string is empty.
53543
53544 2008-03-30  Bruno Haible  <bruno@clisp.org>
53545
53546         Fix buffer overrun.
53547         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
53548         Don't consider the width for tmp_length. Check count against tmp_length
53549         before doing the padding. Ensure enough allocation during padding.
53550
53551 2008-03-30  Eric Blake  <ebb9@byu.net>
53552
53553         strtod touchups.
53554         * lib/strtod.c (strtod): Avoid compiler warnings.
53555         Reported by Jim Meyering.
53556
53557 2008-03-30  Bruno Haible  <bruno@clisp.org>
53558
53559         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
53560         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
53561         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
53562         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
53563         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
53564         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
53565         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
53566         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
53567
53568         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
53569         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
53570         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
53571         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
53572         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
53573         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
53574         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
53575         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
53576
53577         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
53578         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
53579         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
53580         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
53581         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
53582         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
53583         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
53584         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
53585
53586         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
53587         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
53588
53589         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
53590         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
53591
53592         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
53593         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
53594
53595         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
53596         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
53597         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
53598
53599         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
53600         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
53601         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
53602
53603         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
53604         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
53605         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
53606
53607         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
53608         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
53609         * modules/vasprintf (Depends-on): Add EOVERFLOW.
53610
53611         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
53612         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
53613         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
53614         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
53615         (Depends-on): Add EOVERFLOW.
53616         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
53617         (Depends-on): Add EOVERFLOW.
53618         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
53619         (Depends-on): Add EOVERFLOW.
53620         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
53621         (Depends-on): Add EOVERFLOW.
53622         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
53623         (Depends-on): Add EOVERFLOW.
53624         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
53625         (Depends-on): Add EOVERFLOW.
53626         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
53627         (Depends-on): Add EOVERFLOW.
53628         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
53629         (Depends-on): Add EOVERFLOW.
53630
53631         * lib/sprintf.c (EOVERFLOW): Remove fallback.
53632         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
53633         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
53634
53635         * lib/snprintf.c (EOVERFLOW): Remove fallback.
53636         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
53637         * modules/snprintf (Depends-on): Add EOVERFLOW.
53638
53639         * lib/poll.c (EOVERFLOW): Remove fallback.
53640         * modules/poll (Depends-on): Add EOVERFLOW.
53641
53642         * lib/getugroups.c (EOVERFLOW): Remove fallback.
53643         * modules/getugroups (Depends-on): Add EOVERFLOW.
53644
53645         * lib/getdelim.c (EOVERFLOW): Remove fallback.
53646         * modules/getdelim (Depends-on): Add EOVERFLOW.
53647
53648         * lib/ftell.c (EOVERFLOW): Remove fallback.
53649         * modules/ftell (Depends-on): Add EOVERFLOW.
53650
53651         * lib/fprintf.c (EOVERFLOW): Remove fallback.
53652         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
53653         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
53654
53655         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
53656
53657         * modules/EOVERFLOW-tests: New file.
53658         * tests/test-EOVERFLOW.c: New file.
53659
53660         * modules/EOVERFLOW: New file.
53661         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
53662
53663 2008-03-30  Bruno Haible  <bruno@clisp.org>
53664
53665         Fix bug introduced on 2007-06-10.
53666         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
53667         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
53668
53669 2008-03-30  Bruno Haible  <bruno@clisp.org>
53670
53671         Improve freadseek's efficiency after ungetc.
53672         * lib/freadseek.c: Include freadahead.h.
53673         (freadptrinc): New function, extracted from freadseek.
53674         (freadseek): Use it in a loop. Use freadahead to determine the number
53675         of loop iterations.
53676         * modules/freadseek (Depends-on): Add freadahead.
53677         (configure.ac): Require AC_C_INLINE.
53678
53679 2008-03-30  Bruno Haible  <bruno@clisp.org>
53680
53681         * lib/freadseek.c (freadseek): Don't ignore the return value of
53682         freadptr.
53683
53684 2008-03-29  Eric Blake  <ebb9@byu.net>
53685
53686         Add hex float support.
53687         * modules/strtod (Depends-on): Add c-ctype.
53688         (Link): Mention POW_LIB.
53689         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
53690         whitespace between 'e' and exponent.
53691         * tests/test-strtod.c (main): Enable hex float tests.
53692         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
53693         now provides.
53694
53695         Document various strtod bugs, with some fixes.
53696         * doc/posix-functions/strtod.texi (strtod): Document bugs with
53697         "-0x", "inf", "nan", and hex constants.
53698         * doc/posix-functions/atof.texi (atof): Likewise.
53699         * modules/stdlib (Makefile.am): Support strtod.
53700         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
53701         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
53702         detect additional strtod bugs.
53703         * lib/stdlib.in.h (rpl_strtod): Add declarations.
53704         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
53705         bool where appropriate.  Parse 'inf' and 'nan'.
53706         * tests/test-strtod.c: New file.
53707         * modules/strtod (Depends-on): Add stdbool, stdlib.
53708         (configure.ac): Turn on module indicator.
53709         * modules/strtod-tests: New module.
53710
53711 2008-03-29  Eric Blake  <ebb9@byu.net>
53712
53713         Fix ftell on mingw.
53714         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
53715         * modules/ftell-tests (Depends-on): Add binary-io.
53716         * modules/ftello-tests (Depends-on): Likewise.
53717         * tests/test-ftell.c (main): Enhance test to cover behavior after
53718         ungetc.  Enforce binary mode.
53719         * tests/test-ftello.c (main): Likewise.
53720
53721         Pass test-freadseek on cygwin.
53722         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
53723         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
53724         ungetc buffer.
53725
53726         * tests/test-fflush2.c (main): Fix typo.
53727
53728 2008-03-29  Bruno Haible  <bruno@clisp.org>
53729
53730         * tests/test-fflush2.c (main): Temporarily disable the contents of
53731         this test.
53732         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
53733         Reported by Eric Blake.
53734
53735 2008-03-28  Simon Josefsson  <simon@josefsson.org>
53736
53737         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
53738         (GC_SHA224_DIGEST_SIZE): Add.
53739
53740         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
53741         (gc_hash_digest_length): Likewise.
53742         (gc_hash_buffer): Likewise.
53743
53744 2008-03-25  Bruno Haible  <bruno@clisp.org>
53745
53746         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
53747         detail which gettext release to use.
53748         Reported by Simon Josefsson.
53749
53750 2008-03-26  Jim Meyering  <meyering@redhat.com>
53751
53752         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
53753         * modules/gnumakefile (clean-GNUmakefile): Also, use
53754         test ... && ... || : syntax rather than if-then ... fi.
53755
53756         gnumakefile: Don't double-quote-expand $(VPATH) value.
53757         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
53758
53759 2008-03-24  Eric Blake  <ebb9@byu.net>
53760
53761         Alter GNUmakefile to install into top directory.
53762         * modules/maintainer-makefile: Split, and add dependency...
53763         * modules/gnumakefile: to this new module.
53764         * build-aux/GNUmakefile: Move...
53765         * top/GNUmakefile: ...here.
53766         * build-aux/maint.mk: Move...
53767         * top/maint.mk: ...here.
53768         * MODULES.html.sh (Support for maintaining...): Document new
53769         module.
53770
53771 2008-03-23  Bruno Haible  <bruno@clisp.org>
53772
53773         * gnulib-tool: New options --vc-files, --no-vc-files.
53774         (func_usage): Document them.
53775         (vc_files): New variable.
53776         (func_import): Consider vc_files.
53777         (func_create_testdir): Set vc_files to empty.
53778         Suggested by Jim Meyering and Karl Berry.
53779
53780 2008-03-23  Bruno Haible  <bruno@clisp.org>
53781
53782         Fix regex compilation error on HP-UX 11.
53783         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
53784         * modules/regex (Files): Add m4/mbstate_t.m4.
53785         Reported by Ton Voon <ton.voon@altinity.com>.
53786
53787 2008-03-23  Bruno Haible  <bruno@clisp.org>
53788
53789         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
53790
53791 2008-03-23  Eric Blake  <ebb9@byu.net>
53792             Bruno Haible  <bruno@clisp.org>
53793
53794         Install files from top/ in the destination directory.
53795         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
53796         augmentation also for the files from top/.
53797         (func_import, func_create_testdir): Rewrite file names:
53798         top/filename -> filename.
53799
53800 2008-03-23  Bruno Haible  <bruno@clisp.org>
53801
53802         Tweak "gnulib --version" output.
53803         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
53804
53805 2008-03-23  Bruno Haible  <bruno@clisp.org>
53806
53807         Tweak "gnulib --version" output.
53808         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
53809         rather than contents of ChangeLog, when possible.
53810
53811 2008-03-21  Eric Blake  <ebb9@byu.net>
53812
53813         More --version tweaks.
53814         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
53815         date of last ChangeLog entry.
53816
53817 2008-03-21  Jim Meyering  <meyering@redhat.com>
53818
53819         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
53820
53821 2008-03-20  Eric Blake  <ebb9@byu.net>
53822
53823         VPATH fix.
53824         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
53825
53826 2008-03-20  Simon Josefsson  <simon@josefsson.org>
53827
53828         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
53829         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
53830
53831 2008-03-20  Eric Blake  <ebb9@byu.net>
53832
53833         Sync GNUmakefile with coreutils.
53834         * build-aux/GNUmakefile (have-Makefile): Rename...
53835         (_have-Makefile): ...to this, for namespace consideration.
53836         (GNUmakefile.cfg): Include, if present.
53837         (_autoreconf): Define a default.
53838         (_is-dist-target): New rule for rebuilds to pick up intra-release
53839         version.
53840         (maint-cfg.mk): Rename...
53841         (cfg.mk): ...to this.
53842
53843 2008-03-18  Jim Meyering  <meyering@redhat.com>
53844
53845         New script and module: mktempd
53846         * MODULES.html.sh (maint+release support): Add mktempd.
53847         * build-aux/mktempd: New file.
53848         * modules/mktempd: New file.
53849
53850 2008-03-15  Jim Meyering  <meyering@redhat.com>
53851
53852         Undo last change.
53853         * lib/sha1.c, lib/md5.c: 63 != ~63.
53854         Reported by Andreas Schwab.
53855
53856         sha1.c, md5.c: Hoist a redundant expression.
53857         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
53858         "ctx->buflen" only once, before calling *_process_block.
53859         * lib/md5.c (md5_process_bytes): Likewise.
53860
53861 2008-03-14  Eric Blake  <ebb9@byu.net>
53862
53863         Bump copyright year in files generated by gnulib-tool.
53864         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
53865         gnulib-tool, rather than hard-coding it.
53866
53867         Fix 'gnulib-tool --version' output to work with git.
53868         * gnulib-tool (func_gnulib_dir): New function, extracted from...
53869         (startup): ...here.
53870         (func_version): Use it to invoke git-version-gen, rather than
53871         relying on CVS keyword expansion.  Modernize wording.
53872         (cvsdatestamp, last_checkin_date, version): Kill unused
53873         variables.
53874
53875 2008-03-12  Jim Meyering  <meyering@redhat.com>
53876
53877         Recognize optional cast of the argument to free.
53878         * build-aux/useless-if-before-free: Update regexps.
53879
53880         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
53881
53882 2008-03-11  Bruno Haible  <bruno@clisp.org>
53883
53884         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
53885         by a single package.
53886         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
53887         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
53888         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
53889         Reported by Sam Steingold <sds@gnu.org>.
53890
53891 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
53892
53893         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
53894         repositories.
53895
53896 2008-03-11  Bruno Haible  <bruno@clisp.org>
53897
53898         Avoid conflicts between local macro definitions.
53899         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
53900         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
53901
53902 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
53903             Bruno Haible  <bruno@clisp.org>
53904
53905         Make va_copy work with some version of xlc on AIX 5.1.
53906         * lib/stdarg.in.h: New file.
53907         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
53908         On AIX, use a <stdarg.h> file substitute.
53909         * modules/stdarg (Files): Add lib/stdarg.in.h.
53910         (Depends-on): Add include_next.
53911         (Makefile.am): Build a stdarg.h substitute if requested.
53912         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
53913
53914 2008-03-10  Bruno Haible  <bruno@clisp.org>
53915
53916         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
53917         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
53918         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
53919
53920 2008-03-10  Bruno Haible  <bruno@clisp.org>
53921
53922         * modules/stdlib (Depends-on): Add include_next, remove
53923         absolute-header.
53924
53925 2008-03-09  Bruno Haible  <bruno@clisp.org>
53926
53927         * lib/freadahead.h (freadahead): Document more precisely.
53928         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
53929         the sum of both buffer sizes.
53930         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
53931         * NEWS: Document the change.
53932
53933 2008-03-09  Bruno Haible  <bruno@clisp.org>
53934
53935         Extend freadptr to return also the buffer size.
53936         * lib/freadptr.h (freadptr): Add sizep argument.
53937         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
53938         (freadptr): Add sizep argument. Determine buffer size like freadahead
53939         does.
53940         * tests/test-freadptr.c: Don't include freadahead.h.
53941         (main): Adapt for new calling convention of freadptr.
53942         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
53943         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
53944         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
53945         tests/test-freadptr2.sh.
53946         (Depends): Remove freadahead.
53947         (TESTS): Add test-freadptr2.sh.
53948         (check_PROGRAMS): Add test-freadptr2.
53949
53950 2008-03-09  Bruno Haible  <bruno@clisp.org>
53951
53952         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
53953         Report and solution by Simon Josefsson.
53954
53955 2008-03-06  Bruno Haible  <bruno@clisp.org>
53956
53957         Make fflush after ungetc work on BSD platforms.
53958         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
53959         * tests/test-fflush2.c: New file.
53960         * tests/test-fflush2.sh: New file.
53961         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
53962         tests/test-fflush2.c.
53963         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
53964         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
53965
53966 2008-03-06  Eric Blake  <ebb9@byu.net>
53967
53968         Likewise for ftello.
53969         * modules/ftello (Dependencies): Add extensions.
53970         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
53971
53972 2008-03-06  Bruno Haible  <bruno@clisp.org>
53973
53974         * modules/fseeko (Dependencies): Add extensions.
53975         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
53976         Needed on glibc systems.
53977
53978 2008-03-06  Bruno Haible  <bruno@clisp.org>
53979
53980         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
53981         email address.
53982         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
53983
53984 2008-03-06  Bruno Haible  <bruno@clisp.org>
53985
53986         * users.txt: Add libgnupdf.
53987
53988 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
53989
53990         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
53991         (Header File Substitutes, Function Substitutes,
53992         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
53993         (Build robot for gnulib): Fix typo.
53994
53995 2008-03-06  Bruno Haible  <bruno@clisp.org>
53996
53997         * doc/gnulib-tool.texi (VCS Issues): Small updates.
53998         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
53999
54000 2008-03-06  Bruno Haible  <bruno@clisp.org>
54001
54002         * doc/func.texi: New file, extracted from doc/gnulib.texi.
54003         * doc/gnulib.texi: Include it.
54004
54005 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54006
54007         * modules/func (License): Change license to unlimited; there was
54008         no LGPL parts in the module anyway.
54009
54010 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54011
54012         * modules/__func__: Renamed to modules/func.
54013         * modules/__func__-tests: Renamed to modules/func-tests.
54014         * tests/test-__func__.c: Renamed to tests/test-func.c.
54015         * m4/__func__.m4: Renamed to m4/func.m4.
54016         * doc/gnulib.texi (__func__): Section renamed to func.
54017         Suggested by Eric Blake <ebb9@byu.net>.
54018
54019 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54020
54021         * doc/gnulib.texi (__func__): Use C99 terminology when talking
54022         about __func__.  Make example self-contained.  Suggested by Eric
54023         Blake <ebb9@byu.net>.
54024
54025         * tests/test-__func__.c (main): Avoid extraneous () around __func.
54026         Suggested by Eric Blake <ebb9@byu.net>.
54027
54028 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54029
54030         * modules/__func__: New file.
54031         * modules/__func__-tests: New file.
54032         * tests/test-__func__.c: New file.
54033         * m4/__func__.m4: New file.
54034         * doc/gnulib.texi (__func__): Document __func__ module.
54035
54036 2008-03-05  Simon Josefsson  <simon@josefsson.org>
54037
54038         * modules/byteswap (License): Re-license as LGPLv2+.
54039
54040 2008-03-05  Simon Josefsson  <simon@josefsson.org>
54041
54042         * doc/Makefile: Add pdf target.
54043
54044 2008-03-05  Simon Josefsson  <simon@josefsson.org>
54045
54046         * modules/inline (License): Use 'unlimited', since there are only
54047         *.m4 files in this module.
54048
54049 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
54050             Bruno Haible  <bruno@clisp.org>
54051
54052         Add support for HP C 7.1 on OpenVMS 8.3.
54053         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
54054
54055 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
54056
54057         Update VMS specifics.
54058         * lib/getopt.c [VMS]: Remove include of unixlib.h.
54059
54060 2008-03-02  Jim Meyering  <meyering@redhat.com>
54061
54062         Remove the last dependency on the "free" module.
54063         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
54064         Reported by Bob Proulx.
54065
54066         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
54067
54068         Remove useless "if" tests before free.  Deprecate "free" module.
54069         * doc/posix-functions/free.texi: Mention that this
54070         module is no longer useful.
54071         * modules/free (Notice): Say this module is obsolete.
54072         * modules/readutmp (Depends-on): Remove free.
54073         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
54074         * lib/putenv.c (putenv): Likewise.
54075         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
54076         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
54077         * tests/test-c-strcasestr.c (main): Likewise.
54078         * tests/test-c-strstr.c (main): Likewise.
54079         * tests/test-mbscasestr1.c (main): Likewise.
54080         * tests/test-mbscasestr2.c (main): Likewise.
54081         * tests/test-mbsstr1.c (main): Likewise.
54082         * tests/test-mbsstr2.c (main): Likewise.
54083         * tests/test-memmem.c (main): Likewise.
54084         * tests/test-strcasestr.c (main): Likewise.
54085         * tests/test-striconv.c (main): Likewise.
54086         * tests/test-striconveh.c (main): Likewise.
54087         * tests/test-striconveha.c (main): Likewise.
54088         * tests/test-strstr.c (main): Likewise.
54089
54090         * build-aux/git-version-gen: Adjust a comment and the Usage string.
54091
54092         bootstrap: sync from coreutils again
54093         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
54094
54095 2008-03-01  Jim Meyering  <meyering@redhat.com>
54096
54097         bootstrap: sync from coreutils
54098         * build-aux/bootstrap (update_po_files): Copy a .po file into place
54099         also when the target doesn't exist.
54100
54101 2008-03-01  Eric Blake  <ebb9@byu.net>
54102
54103         Fix bugs in last patch.
54104         * lib/memchr2.c (memchr2): Fix typo.
54105         * tests/test-memchr2.c: Test previous bug, and don't use GNU
54106         extension.
54107         Reported by Bruce Korb.
54108
54109         New module 'memchr2'.
54110         * modules/memchr2: New file.
54111         * modules/memchr2-tests: Likewise.
54112         * lib/memchr2.h: Likewise.
54113         * lib/memchr2.c: Likewise, based on memchr.c.
54114         * tests/test-memchr2.c: New test.
54115         * MODULES.html.sh (String handling): Add memchr2.
54116
54117 2008-02-29  Bruno Haible  <bruno@clisp.org>
54118
54119         * modules/freadseek-tests: New file.
54120         * tests/test-freadseek.sh: New file.
54121         * tests/test-freadseek.c: New file.
54122
54123         New module 'freadseek'.
54124         * modules/freadseek: New file.
54125         * lib/freadseek.h: New file.
54126         * lib/freadseek.c: New file.
54127         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
54128
54129 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
54130
54131         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
54132         wydawca.
54133
54134         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
54135         program_invocation_name and program_invocation_short_name are
54136         present.
54137
54138 2008-02-28  Bruno Haible  <bruno@clisp.org>
54139
54140         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
54141         * tests/test-freadptr.sh: Also test non-seekable stdin.
54142
54143 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
54144
54145         * build-aux/bootstrap (source_base, m4_base)
54146         (doc_base, tests_base): New variables.
54147         (gnulib_tool_options): Do not hardcode base directories, use
54148         the above variables instead.
54149
54150 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
54151
54152         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
54153
54154 2008-02-28  Bruno Haible  <bruno@clisp.org>
54155
54156         * modules/freadptr-tests: New file.
54157         * tests/test-freadptr.sh: New file.
54158         * tests/test-freadptr.c: New file.
54159
54160         New module 'freadptr'.
54161         * modules/freadptr: New file.
54162         * lib/freadptr.h: New file.
54163         * lib/freadptr.c: New file.
54164         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
54165
54166 2008-02-26  Karl Berry  <karl@freefriends.org>
54167
54168         Sync from Libtool:
54169         * libltdl/argz.c (argz_add, argz_count): New functions.
54170         * libltdl/argz.in.h: Declare them.
54171         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
54172
54173 2008-02-22  Bruno Haible  <bruno@clisp.org>
54174
54175         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
54176         is a pointer type.  Needed for HP-UX 10.
54177         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
54178         * doc/posix-functions/gmtime_r.texi: Likewise.
54179         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
54180
54181 2008-02-24  Bruno Haible  <bruno@clisp.org>
54182
54183         * modules/environ-tests: New file.
54184         * tests/test-environ.c: New file.
54185
54186         New module 'environ'.
54187         * modules/environ: New file.
54188         * lib/unistd.in.h (environ): New declaration.
54189         * m4/environ.m4: New file.
54190         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
54191         after use.
54192         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
54193         HAVE_DECL_ENVIRON.
54194         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
54195         HAVE_DECL_ENVIRON.
54196         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
54197         wrong claim that 'environ' is missing on some systems.
54198         * modules/execute (Depends-on): Add environ.
54199         * lib/execute.c (environ): Remove fallback declaration.
54200         * modules/pipe (Depends-on): Add environ.
54201         * lib/pipe.c (environ): Remove fallback declaration.
54202         * modules/setenv (Depends-on): Add environ.
54203         * lib/setenv.c (environ): Remove fallback declaration.
54204         * modules/unsetenv (Depends-on): Add environ.
54205         * lib/unsetenv.c (environ): Remove fallback declaration.
54206         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
54207         m4/environ.m4.
54208         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
54209         (gl_PREREQ_UNSETENV): Likewise.
54210
54211 2008-02-24  Bruno Haible  <bruno@clisp.org>
54212
54213         * doc/posix-functions/environ.texi: Document the MacOS X problem.
54214
54215 2008-02-20  Bob Proulx  <bob@proulx.com>
54216
54217         Enable use of older two part flavor 'git describe'.
54218         * build-aux/git-version-gen: If using the older two part flavor of
54219         git version then recreate the third part now present in the
54220         newer three part flavor of git describe.
54221
54222 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
54223
54224         * lib/fts.c (fts_build): Typo correction to comment.
54225
54226 2008-02-17  Bruno Haible  <bruno@clisp.org>
54227
54228         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
54229         generating no-op conflicts.
54230
54231 2008-02-17  Bruno Haible  <bruno@clisp.org>
54232
54233         Speed up by 10%.
54234         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
54235         result_entries, rather than an index-based loop.
54236
54237 2008-02-17  Bruno Haible  <bruno@clisp.org>
54238
54239         Speed up by 25%.
54240         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
54241         'hashcode_cached'.
54242         (entry_create): New function.
54243         (entry_hashcode): Use the cached hashcode if possible.
54244         (read_changelog_file, try_split_merged_entry): Use entry_create.
54245
54246 2008-02-17  Bruno Haible  <bruno@clisp.org>
54247
54248         Speed up from O(n^2) to O(n) for long ChangeLog files.
54249         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
54250         (read_changelog_file): Change implementation of entries_reversed list
54251         to rbtreehash.
54252         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
54253
54254 2008-02-17  Bruno Haible  <bruno@clisp.org>
54255
54256         New option --split-merged-entry.
54257         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
54258         (find_paragraph_end, try_split_merged_entry): New functions.
54259         (long_options): Add option --split-merged-entry.
54260         (usage): Document option --split-merged-entry.
54261         (main): Implement option --split-merged-entry.
54262         Reported by Eric Blake.
54263
54264 2008-02-17  Bruno Haible  <bruno@clisp.org>
54265
54266         * lib/git-merge-changelog.c: Include c-strstr.h.
54267         (main): Support the "git pull --rebase" situation.
54268         * modules/git-merge-changelog (Depends-on): Add c-strstr.
54269         Reported by Eric Blake.
54270
54271 2008-02-16  Eric Blake  <ebb9@byu.net>
54272
54273         Avoid doubling \ in common case of "c-maybe" quoting style.
54274         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
54275         eliding outer quotes.
54276         * lib/quotearg.h: Document this.
54277         * tests/test-quotearg.c (result_strings, inputs, results_g)
54278         (flag_results, locale_results): Test it by adding a new string to
54279         each test group.
54280         (compare_strings): Test new string.
54281
54282 2008-02-13  Eric Blake  <ebb9@byu.net>
54283
54284         Avoid trigraph quoting in default output.
54285         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
54286         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
54287         unless explicitly requested.
54288         * tests/test-quotearg.c (flag_results, main): Add additional tests.
54289
54290 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
54291
54292         Don't rely on signed integer overflowing to negative value.
54293         * lib/getugroups.c (getugroups): Include <limits.h>.
54294         Instead, compare against INT_MAX, and increment only if the test passes.
54295
54296 2008-02-13  Jim Meyering  <meyering@redhat.com>
54297         and Eric Blake  <ebb9@byu.net>
54298
54299         Avoid shadowing warning and compile errors on Linux.
54300         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
54301         forwarding macros on Linux.
54302         (dcgettext): Define a stub, for Linux.
54303         (results_g, main): Avoid warnings.
54304
54305 2008-02-12  Eric Blake  <ebb9@byu.net>
54306
54307         Silence warning in last patch.
54308         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
54309
54310         Quotearg part 4: add tests, fix c-maybe colon quoting.
54311         * lib/quotearg.h: Improve documentation.
54312         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
54313         escapes when adding outer quotes.  When quoting trigraphs, use
54314         valid C notation.  When quoting NUL, omit extra characters if next
54315         character is not digit.  Alter prototype.
54316         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
54317         callers.
54318         * modules/quotearg-tests: New module.
54319         * tests/test-quotearg.c: New test.
54320
54321 2008-02-07  Eric Blake  <ebb9@byu.net>
54322
54323         Quotearg part 3: add flag to control outer quote elision.
54324         * lib/quotearg.h (c_maybe_quoting_style): New style.
54325         (enum quoting_flags): Better documentation of flags.
54326         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
54327         c-maybe style.
54328         (quotearg_buffer_restyled): Handle new flag to elide outer
54329         quotes.
54330
54331         Quotearg part 2: add flag that can control NUL elision.
54332         * lib/quotearg.h (set_quoting_flags): New prototype.
54333         * lib/quotearg.c (struct quoting_options): Add flag field.
54334         (set_quoting_flags): New function.
54335         (quotearg_buffer_restyled): Add flags parameter.
54336         (quotearg_alloc_mem): Set the flag if length cannot be returned.
54337         (quotearg_n_options): Set the flag, since length cannot be
54338         returned.
54339         (quoting_options_from_style): Default flags correctly.
54340
54341         Quotearg part 1: more wrappers, restore quotearg_char state.
54342         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
54343         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
54344         (quotearg_colon_mem): New wrappers.
54345         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
54346         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
54347         functions.
54348         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
54349         (quotearg_colon_mem): New functions.
54350
54351 2008-02-11  Bruno Haible  <bruno@clisp.org>
54352
54353         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
54354         library in the current directory: it does not work with parallel make.
54355         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54356
54357 2008-02-11  Bruno Haible  <bruno@clisp.org>
54358
54359         * .gitattributes: New file.
54360
54361 2008-02-11  Jim Meyering  <meyering@redhat.com>
54362
54363         useless-if-before-free: Fix reversed exit values.
54364         * build-aux/useless-if-before-free: Use correct values
54365         for EXIT_MATCH and EXIT_NO_MATCH.
54366
54367         * build-aux/useless-if-before-free: Close stdout carefully.
54368
54369 2008-02-10  Bruno Haible  <bruno@clisp.org>
54370
54371         New module 'git-merge-changelog'.
54372         * modules/git-merge-changelog: New file.
54373         * lib/git-merge-changelog.c: New file.
54374
54375 2008-02-10  Jim Meyering  <meyering@redhat.com>
54376
54377         useless-if-before-free: New option: --list (-l).
54378
54379         useless-if-before-free: Don't exit immediately upon open failure.
54380         * build-aux/useless-if-before-free: Exit 2 for errors.
54381         Upon failure to open a file, don't exit immediately.
54382         Rather, just warn and continue with any remaining files.
54383
54384 2008-02-10  Bruno Haible  <bruno@clisp.org>
54385
54386         New abstract list operation 'node_set_value'.
54387         * lib/gl_list.h (gl_list_node_set_value): New function.
54388         (struct gl_list_implementation): New field node_set_value.
54389         * lib/gl_list.c (gl_list_node_set_value): New function.
54390         * lib/gl_array_list.c (gl_array_node_set_value): New function.
54391         (gl_array_list_implementation): Update.
54392         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
54393         (gl_carray_list_implementation): Update.
54394         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
54395         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
54396         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
54397         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
54398         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
54399         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
54400         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
54401         Update.
54402         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
54403         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
54404         (gl_sublist_list_implementation): Update.
54405
54406 2008-02-10  Bruno Haible  <bruno@clisp.org>
54407
54408         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
54409         Needed when ELEMENT is #defined to 'some_type *'.
54410
54411 2008-02-10  Jim Meyering  <meyering@redhat.com>
54412
54413         New script and module: useless-if-before-free
54414         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
54415         * build-aux/useless-if-before-free: New file.
54416         * modules/useless-if-before-free: New file.
54417
54418         * build-aux/gitlog-to-changelog: Use committer date, not author date.
54419
54420         xstrtol_error: Fix typo.
54421         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
54422         s/exit_failure/exit_status/.
54423
54424 2008-02-09  Jim Meyering  <meyering@redhat.com>
54425
54426         New script and module: gitlog-to-changelog
54427         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
54428         * modules/gitlog-to-changelog: New file.
54429         * build-aux/gitlog-to-changelog: New file.
54430
54431 2008-02-08  Jim Meyering  <meyering@redhat.com>
54432
54433         Avoid two "parameter unused" warnings.
54434         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
54435         Mark "st" as used.
54436
54437         Use "git COMMAND", not "git-COMMAND".
54438         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
54439         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
54440         * build-aux/git-version-gen: Use "git status", not "git-status".
54441
54442 2008-02-07  Bruno Haible  <bruno@clisp.org>
54443
54444         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
54445         Avoids a crash on Windows Vista.
54446         Reported by Adam Strzelecki <ono@java.pl> via
54447         Simon Josefsson <simon@josefsson.org>.
54448
54449 2008-02-06  Bruno Haible  <bruno@clisp.org>
54450
54451         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
54452         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
54453         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
54454         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
54455         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
54456         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54457         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
54458         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
54459         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54460         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54461         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54462         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54463         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54464         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54465         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54466         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
54467         left-adjust flag.
54468         * tests/test-snprintf-posix.h (test_function): Likewise.
54469         * tests/test-sprintf-posix.h (test_function): Likewise.
54470         * tests/test-vasprintf-posix.c (test_function): Likewise.
54471         * doc/posix-functions/fprintf.texi: Update.
54472         * doc/posix-functions/printf.texi: Update.
54473         * doc/posix-functions/snprintf.texi: Update.
54474         * doc/posix-functions/sprintf.texi: Update.
54475         * doc/posix-functions/vfprintf.texi: Update.
54476         * doc/posix-functions/vprintf.texi: Update.
54477         * doc/posix-functions/vsnprintf.texi: Update.
54478         * doc/posix-functions/vsprintf.texi: Update.
54479         Reported by Peter Fales <psfales@alcatel-lucent.com>.
54480
54481 2008-02-06  Bruno Haible  <bruno@clisp.org>
54482
54483         Fix bug introduced on 2008-01-26.
54484         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
54485
54486 2008-02-06  Bruno Haible  <bruno@clisp.org>
54487
54488         Fix bug introduced on 2007-06-10.
54489         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
54490         !NEED_PRINTF_FLAG_ZERO.
54491
54492 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
54493
54494         getloadavg: use libperfstat on AIX5
54495         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
54496
54497 2008-02-03  Bruno Haible  <bruno@clisp.org>
54498
54499         * lib/diffseq.h: Add comments about required #includes.
54500         Reported by Michael Biggs <gnulib@doubleplum.net>.
54501
54502 2008-02-01  Bruno Haible  <bruno@clisp.org>
54503
54504         * users.txt: Add gnuit.
54505
54506 2008-01-31  Bruno Haible  <bruno@clisp.org>
54507
54508         * lib/md4.c (set_uint32): Mark as inline.
54509         * lib/md5.c (set_uint32): Likewise.
54510         * lib/sha1.c (set_uint32): Likewise.
54511         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
54512         * m4/md5.m4 (gl_MD5): Likewise.
54513         * m4/sha1.m4 (gl_SHA1): Likewise.
54514
54515 2008-01-31  Jim Meyering  <meyering@redhat.com>
54516
54517         Use "sizeof VAR", rather than a literal "4".
54518         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
54519         * lib/md4.c (md4_read_ctx): Likewise.
54520         * lib/sha1.c (sha1_read_ctx): Likewise.
54521
54522 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54523
54524         * tests/test-sha1.c: New file, based on test-md5.c.
54525
54526         * modules/crypto/sha1-tests: New file.
54527
54528 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54529
54530         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
54531
54532 2008-01-31  Jim Meyering  <meyering@redhat.com>
54533
54534         Prefer "sizeof v" over the equivalent "4".
54535         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
54536         * lib/md5.c (set_uint32): Likewise.
54537         * lib/sha1.c (set_uint32): Likewise.
54538
54539 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54540
54541         * lib/sha1.c (set_uint32): Mark function as static.
54542
54543 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54544
54545         md2: clarify comments to say that alignment is not required.
54546         * lib/md2.h: Remove warning about alignment in comment.
54547         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
54548         never been required.
54549
54550 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54551
54552         md4: adapt alignment constraint fix from sha1.
54553         * lib/md4.c (set_uint32): New function, from sha1.c
54554         (md4_read_ctx): Use it.
54555         (md4_finish_ctx): Doc fix.
54556         * lib/md4.h: Doc fix.
54557
54558 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54559
54560         md5: adapt alignment constraint fix from sha1.
54561         * lib/md5.c (set_uint32): New function, from sha1.c
54562         (md5_read_ctx): Use it.
54563         (md5_finish_ctx): Doc fix.
54564         * lib/md5.h: Doc fix.
54565
54566 2008-01-30  Peter Palfrader  <weasel@debian.org>
54567
54568         sha1: remove the result buffer alignment constraint
54569         * lib/sha1.c (set_uint32): New function.
54570         (sha1_read_ctx): Rewrite to remove the result buffer alignment
54571         constraint.
54572         (sha1_finish_ctx): Remove comment warning about alignment constraint.
54573         * lib/sha1.h: Likewise.
54574
54575 2008-01-30  Andreas Schwab  <schwab@suse.de>
54576             Bruno Haible  <bruno@clisp.org>
54577
54578         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
54579         correct definition of LDBL_MIN_EXP.
54580
54581 2008-01-30  Karl Berry  <karl@gnu.org>
54582
54583         * config/srclist-update: try to preserve x bit on updates.
54584         * config/srclistvars.sh: update for karl.
54585
54586 2008-01-29  Jim Meyering  <meyering@redhat.com>
54587
54588         vasnprintf.c: Avoid warning about unused label
54589         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
54590         "overflow" label definition and associated code with the
54591         same cpp condition that guards the sole use of that label.
54592
54593 2008-01-26  Bruno Haible  <bruno@clisp.org>
54594
54595         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
54596         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
54597         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
54598         * lib/isnanl-nolibm.h (isnanl): Likewise.
54599         Reported by Paul Eggert <eggert@cs.ucla.edu>.
54600
54601 2008-01-26  Bruno Haible  <bruno@clisp.org>
54602
54603         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
54604         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
54605
54606 2008-01-26  Bruno Haible  <bruno@clisp.org>
54607
54608         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
54609         GCC >= 4.0 built-in.
54610         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
54611
54612 2008-01-26  Bruno Haible  <bruno@clisp.org>
54613
54614         Rename isnan, applicable to 'double' only, to isnand.
54615         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
54616         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
54617         (configure.ac): Update.
54618         (Include): Replace "isnan.h" with "isnand.h".
54619         * m4/isnand.m4: Renamed from m4/isnan.m4.
54620         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
54621         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
54622         instead of isnan.c.
54623         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
54624         instead of HAVE_ISNAN_IN_LIBC.
54625         (isnand): Renamed from isnan.
54626         * lib/isnand.c: New file.
54627         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
54628         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
54629         (Makefile.am): Update.
54630         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
54631         Include isnand.h instead of isnan.h.
54632         (main): Test isnand instead of isnan.
54633         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
54634         isnan-nolibm.
54635         * modules/frexp (Depends-on): Likewise.
54636         * modules/frexp-tests (Depends-on): Likewise.
54637         * modules/frexp-nolibm (Depends-on): Likewise.
54638         * modules/frexp-nolibm-tests (Depends-on): Likewise.
54639         * modules/isfinite (Depends-on): Likewise.
54640         * modules/round-tests (Depends-on): Likewise.
54641         * modules/signbit (Depends-on): Likewise.
54642         * modules/signbit-tests (Depends-on): Likewise.
54643         * modules/snprintf-posix (Depends-on): Likewise.
54644         * modules/sprintf-posix (Depends-on): Likewise.
54645         * modules/trunc-tests (Depends-on): Likewise.
54646         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
54647         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
54648         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
54649         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
54650         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54651         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54652         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54653         * modules/vasnprintf-posix (Depends-on): Likewise.
54654         * modules/vasprintf-posix (Depends-on): Likewise.
54655         * modules/vfprintf-posix (Depends-on): Likewise.
54656         * modules/vsnprintf-posix (Depends-on): Likewise.
54657         * modules/vsprintf-posix (Depends-on): Likewise.
54658         * lib/frexp.c: Include isnand.h instead of isnan.h.
54659         (ISNAN): Set to isnand instead of isnan.
54660         * lib/isfinite.c: Include isnand.h instead of isnan.h.
54661         (gl_isfinited): Use isnand instead of isnan.
54662         * lib/signbitd.c: Include isnand.h instead of isnan.h.
54663         (gl_signbitd): Use isnand instead of isnan.
54664         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
54665         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
54666         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
54667         (main): Use isnand instead of isnan.
54668         * tests/test-round1.c: Include isnand.h.
54669         (main): Use isnand instead of isnan.
54670         * tests/test-round2.c: Include isnand.h instead of isnan.h.
54671         (ISNAN): Set to isnand instead of isnan.
54672         * tests/test-trunc1.c: Include isnand.h.
54673         (main): Use isnand instead of isnan.
54674         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
54675         (equal): Use isnand instead of isnan.
54676         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
54677         isnand-nolibm.
54678         * NEWS: Mention the change.
54679
54680 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
54681             Bruno Haible  <bruno@clisp.org>
54682
54683         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
54684         the GCC builtins for signbits are present and set
54685         REPLACE_SIGNBIT_USING_GCC if so.
54686         * lib/math.in.h (signbit): Define using GCC builtins if
54687         REPLACE_SIGNBIT_USING_GCC is set.
54688         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
54689         REPLACE_SIGNBIT_USING_GCC.
54690         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
54691
54692 2008-01-25  Jim Meyering  <meyering@redhat.com>
54693
54694         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
54695         * lib/poll.c: Include <config.h>, not "config.h".
54696         * tests/test-getaddrinfo.c: Likewise.
54697
54698 2008-01-25  Simon Josefsson  <simon@josefsson.org>
54699
54700         * modules/sockets-tests: New file.
54701
54702 2008-01-24  Simon Josefsson  <simon@josefsson.org>
54703
54704         * modules/sockets: New module, can be used to call WSA_Startup and
54705         WSA_Cleanup when needed.
54706
54707         * lib/sockets.h, lib/sockets.c: New files.
54708
54709         * m4/sockets.m4: New file.
54710
54711         * tests/test-sockets.c: New file.
54712
54713 2008-01-19  Bruno Haible  <bruno@clisp.org>
54714
54715         * doc/posix-headers: Renamed from doc/headers.
54716         * doc/posix-functions: Renamed from doc/functions.
54717         * doc/gnulib.texi: Update.
54718
54719 2008-01-19  Bruno Haible  <bruno@clisp.org>
54720
54721         * doc/glibc-functions/strcasestr.texi: Include contents of
54722         doc/functions/strcasestr.texi, fixing the list of platforms.
54723         * doc/functions/strcasestr.texi: Remove file.
54724
54725 2008-01-19  Bruno Haible  <bruno@clisp.org>
54726
54727         * doc/glibc-functions/memmem.texi: Include contents of
54728         doc/functions/memmem.texi.
54729         * doc/functions/memmem.texi: Remove file.
54730
54731 2008-01-18  Bruno Haible  <bruno@clisp.org>
54732
54733         * doc/glibc-functions/*.texi: New files.
54734         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
54735         to use the new files.
54736
54737 2008-01-17  Bruno Haible  <bruno@clisp.org>
54738
54739         * tests/test-gethostname.c (main): Fix printf statement.
54740
54741 2008-01-17  Simon Josefsson  <simon@josefsson.org>
54742
54743         * modules/gethostname-tests: New file.
54744
54745         * tests/test-gethostname.c: New file.
54746
54747 2008-01-17  Simon Josefsson  <simon@josefsson.org>
54748
54749         * lib/gethostname.c: Include string.h unconditionally, strncpy is
54750         used by the UNAME case.  Reported by Bruno Haible
54751         <bruno@clisp.org>.
54752
54753 2008-01-17  Eric Blake  <ebb9@byu.net>
54754
54755         Convert c-strcasestr to be more efficient.
54756         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
54757         (Depends-on): Add c-strcase, remove malloca, strnlen.
54758         * tests/test-c-strcasestr.c (main): Enhance test.
54759         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
54760
54761 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
54762
54763         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
54764         Use it in creating po/Makevars.
54765
54766 2008-01-15  Simon Josefsson  <simon@josefsson.org>
54767
54768         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
54769         Applications that requires it should initialize libgcrypt
54770         manually.
54771
54772 2008-01-16  Simon Josefsson  <simon@josefsson.org>
54773
54774         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
54775
54776 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
54777
54778         Fix problem with getdate on mingw32 reported by Simon Josefsson
54779         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
54780         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
54781         tzname", when deciding whether to declare tzname.
54782         * lib/strftime.c (tzname): Likewise.
54783
54784 2008-01-15  Bruno Haible  <bruno@clisp.org>
54785
54786         Work around a MacOS X 10.5 bug in frexpl().
54787         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
54788         * doc/functions/frexpl.texi: Document the bug.
54789         Reported by Elias Pipping <pipping@gentoo.org>.
54790
54791 2008-01-14  Eric Blake  <ebb9@byu.net>
54792
54793         Touch up previous patch.
54794         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
54795         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
54796
54797         Convert strcasestr module to use Two-Way algorithm.
54798         * modules/strcasestr-simple: New module, based on the old
54799         strcasestr, but with Two-Way rather than KMP.
54800         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
54801         * lib/string.in.h (rpl_strcasestr): Declare.
54802         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
54803         performance.
54804         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
54805         * modules/string (Makefile.am): Support strcasestr.
54806         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
54807         * modules/strcasestr-tests (Depends-on): Check for alarm.
54808         * tests/test-strcasestr.c: Augment test.
54809         * lib/str-two-way.h: Clean up stray macro.
54810         * NEWS: Document new module.
54811         * MODULES.html.sh (string handling): Likewise.
54812         * doc/functions/strcasestr.texi: New file.
54813         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
54814         here, since it is not a POSIX function.
54815
54816 2008-01-14  Colin Watson  <cjwatson@debian.org>
54817             Bruno Haible  <bruno@clisp.org>
54818
54819         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
54820         works fine; if not, set REPLACE_STRSIGNAL.
54821         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
54822         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54823         REPLACE_STRSIGNAL.
54824         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
54825         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
54826         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
54827
54828 2008-01-14  Bruno Haible  <bruno@clisp.org>
54829
54830         * modules/strsignal (Include): Change to <string.h>.
54831
54832 2008-01-14  Colin Watson  <cjwatson@debian.org>
54833
54834         * modules/argp (Notice): Add a notice recommending to change
54835         XGETTEXT_OPTIONS.
54836         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
54837
54838 2008-01-13  Colin Watson  <cjwatson@debian.org>
54839
54840         * modules/strsignal-tests: New file.
54841         * tests/test-strsignal.c: New file.
54842
54843         * lib/strsignal.c: New file, from glibc with modifications.
54844         * lib/siglist.h: New file, from glibc with modifications.
54845         * lib/string.in.h (strsignal): New declaration.
54846         * m4/strsignal.m4: New file.
54847         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54848         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
54849         * modules/strsignal: New file.
54850         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
54851         HAVE_DECL_STRSIGNAL.
54852
54853 2008-01-13  Bruno Haible  <bruno@clisp.org>
54854
54855         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
54856         locale encoding is not ASCII. Needed for OpenBSD 4.0.
54857         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
54858         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
54859
54860 2008-01-13  Bruno Haible  <bruno@clisp.org>
54861
54862         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
54863         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
54864         * lib/argp.h (__attribute__): Likewise.
54865         * lib/c-stack.c (__attribute__): Likewise.
54866         * lib/error.h (__attribute__): Likewise.
54867         * lib/fts.c (__attribute__): Likewise.
54868         * lib/openat.h (__attribute__): Likewise.
54869         * lib/stdio.in.h (__attribute__): Likewise.
54870         * lib/string.in.h (__attribute__): Likewise.
54871         * lib/utimens.c (__attribute__): Likewise.
54872         * lib/vasnprintf.h (__attribute__): Likewise.
54873         * lib/xalloc.h (__attribute__): Likewise.
54874         * lib/xprintf.h (__attribute__): Likewise.
54875         * lib/xstrtol.h (__attribute__): Likewise.
54876         * lib/xvasprintf.h (__attribute__): Likewise.
54877
54878 2008-01-12  Bruno Haible  <bruno@clisp.org>
54879
54880         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
54881         * doc/glibc-headers/a.out.texi: New file.
54882         * doc/glibc-headers/aliases.texi: New file.
54883         * doc/glibc-headers/alloca.texi: New file.
54884         * doc/glibc-headers/ar.texi: New file.
54885         * doc/glibc-headers/argp.texi: New file.
54886         * doc/glibc-headers/argz.texi: New file.
54887         * doc/glibc-headers/byteswap.texi: New file.
54888         * doc/glibc-headers/crypt.texi: New file.
54889         * doc/glibc-headers/endian.texi: New file.
54890         * doc/glibc-headers/envz.texi: New file.
54891         * doc/glibc-headers/err.texi: New file.
54892         * doc/glibc-headers/error.texi: New file.
54893         * doc/glibc-headers/execinfo.texi: New file.
54894         * doc/glibc-headers/fpu_control.texi: New file.
54895         * doc/glibc-headers/fstab.texi: New file.
54896         * doc/glibc-headers/fts.texi: New file.
54897         * doc/glibc-headers/getopt.texi: New file.
54898         * doc/glibc-headers/ieee754.texi: New file.
54899         * doc/glibc-headers/ifaddrs.texi: New file.
54900         * doc/glibc-headers/libintl.texi: New file.
54901         * doc/glibc-headers/mcheck.texi: New file.
54902         * doc/glibc-headers/mntent.texi: New file.
54903         * doc/glibc-headers/obstack.texi: New file.
54904         * doc/glibc-headers/paths.texi: New file.
54905         * doc/glibc-headers/printf.texi: New file.
54906         * doc/glibc-headers/pty.texi: New file.
54907         * doc/glibc-headers/resolv.texi: New file.
54908         * doc/glibc-headers/shadow.texi: New file.
54909         * doc/glibc-headers/sysexits.texi: New file.
54910         * doc/glibc-headers/ttyent.texi: New file.
54911
54912 2008-01-12  Jim Meyering  <meyering@redhat.com>
54913
54914         announce-gen: emit Gnulib's git-based version string.
54915         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
54916         New option --gnulib-version=V, where V is expected to be
54917         the output of running git describe in the gnulib directory.
54918         (get_tool_versions): Request feedback on xdelta.  I suspect it's
54919         not useful, and plan to stop publishing an xdelta file with each
54920         coreutils release.
54921
54922         * build-aux/announce-gen: Also check for lzma-compressed files.
54923
54924 2008-01-11  Bruno Haible  <bruno@clisp.org>
54925
54926         * tests/test-memmem.c (main): Increase maximum allowed time.
54927         * tests/test-strstr.c (main): Likewise.
54928
54929 2008-01-11  Bruno Haible  <bruno@clisp.org>
54930
54931         * doc/functions/memmem.texi: Add more precisions about platforms.
54932         * doc/functions/strstr.texi: Likewise.
54933
54934 2008-01-10  Eric Blake  <ebb9@byu.net>
54935
54936         * m4/strstr.m4: Delete cruft from copy-n-paste.
54937         Reported by Bruno Haible.
54938
54939 2008-01-10  Bruno Haible  <bruno@clisp.org>
54940
54941         Make c-strstr rely on strstr.
54942         * lib/c-strstr.c: Don't include str-kmp.h.
54943         (c_strstr): Define in terms of strstr.
54944         * modules/c-strstr (Files): Remove lib/str-kmp.h.
54945         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
54946
54947 2008-01-10  Bruno Haible  <bruno@clisp.org>
54948
54949         * doc/gnulib.texi (String Functions in C Locale): New section.
54950         * doc/c-ctype.texi: New file.
54951         * doc/c-strcase.texi: New file.
54952         * doc/c-strcaseeq.texi: New file.
54953         * doc/c-strcasestr.texi: New file.
54954         * doc/c-strstr.texi: New file.
54955         * doc/c-strtod.texi: New file.
54956         * doc/c-strtold.texi: New file.
54957
54958 2008-01-10  Eric Blake  <ebb9@byu.net>
54959
54960         * lib/relocatable.h: Fix a comment.
54961
54962 2008-01-10  Eric Blake  <ebb9@byu.net>
54963
54964         Share two-way algorithm.
54965         * lib/str-two-way.h: New file, merged from...
54966         * lib/memmem.c: ...here...
54967         * lib/strstr.c: ...and here.
54968         * modules/memmem (Files): Use it.
54969         * modules/strstr (Files): Likewise.
54970
54971         Avoid quadratic strstr implementations.
54972         * lib/strstr.c: New file.
54973         * m4/strstr.m4: Likewise.
54974         * modules/strstr: Likewise.
54975         * modules/strstr-tests: Likewise.
54976         * tests/test-strstr.c: Likewise.
54977         * lib/string.in.h (rpl_strstr): Declare.
54978         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
54979         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
54980         * modules/string (Makefile.am): Likewise.
54981         * MODULES.html.sh (string handling): Mention new module.
54982         * doc/functions/strstr.texi (strstr): Document the bug.
54983
54984 2008-01-10  Bruno Haible  <bruno@clisp.org>
54985
54986         * lib/relocatable.h (relocate): State whether result is freshly
54987         allocated or not.
54988         * lib/relocatable.c (relocate): Return a freshly allocated string
54989         instead of a pointer to a privately held string.
54990         Reported by Sylvain Beucler <beuc@gnu.org>.
54991
54992 2008-01-10  Colin Watson  <cjwatson@debian.org>
54993
54994         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
54995         s/S_ISNLK/S_ISLNK/.
54996
54997 2008-01-09  Bruno Haible  <bruno@clisp.org>
54998
54999         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
55000         and other files.
55001         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
55002         if it's only a guess.
55003         * modules/memmem: Simplify by depending on memmem-simple.
55004
55005 2008-01-09  Bruno Haible  <bruno@clisp.org>
55006
55007         Work around OpenBSD 4.0 tdelete() bug.
55008         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
55009         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
55010         macros and don't redefine the enum values.
55011         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
55012         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
55013         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
55014
55015 2008-01-09  Bruno Haible  <bruno@clisp.org>
55016
55017         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
55018         (main): Don't perform the tests if setlocale did not install a UTF-8
55019         locale. Needed on OpenBSD 4.0.
55020         * modules/wcwidth-tests (Depends-on): Add localcharset.
55021
55022 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
55023
55024         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
55025         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
55026         * NEWS: announce this.
55027         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
55028
55029 2008-01-09  Simon Josefsson  <simon@josefsson.org>
55030         and Eric Blake  <ebb9@byu.net>
55031
55032         Add memmem-simple module.
55033         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
55034         (gl_FUNC_MEMMEM): Separate performance from presence checks.
55035         * modules/memmem-simple: New file.
55036         * modules/memmem (Description): Tweak.
55037         * MODULES.html.sh (string handling): Mention new module.
55038         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
55039         addressed by memmem-simple.
55040         * NEWS: Document the difference.
55041
55042 2008-01-09  Eric Blake  <ebb9@byu.net>
55043
55044         Give gcc some memmem optimization hints.
55045         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
55046         (strcasestr): Declare as pure.
55047         * modules/memmem (Maintainer): Claim my implementation.
55048
55049 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55050
55051         Support AIX 6.1 and higher.
55052         * build-aux/config.libpath: Likewise.
55053         * build-aux/config.rpath: Likewise.
55054
55055 2008-01-08  Jim Meyering  <meyering@redhat.com>
55056             Bruno Haible  <bruno@clisp.org>
55057
55058         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
55059         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
55060         Reported by Peter Fales in
55061         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
55062
55063 2008-01-08  Bruno Haible  <bruno@clisp.org>
55064
55065         * modules/unictype/category-of (Depends-on): Add
55066         unictype/category-none.
55067         * modules/unictype/category-and-tests (Depends-on): Add
55068         unictype/category-{L,N,Lu,Nd}.
55069         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
55070         * modules/unictype/category-or-tests (Depends-on): Add
55071         unictype/category-{L,N}.
55072         * modules/unictype/category-name-tests (Depends-on): Add
55073         unictype/category-{Z,Nl}.
55074         Reported by Simon Josefsson.
55075
55076 2008-01-08  Bruno Haible  <bruno@clisp.org>
55077
55078         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
55079         convention better.
55080         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
55081         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
55082         Reported by Peter Miller <millerp@canb.auug.org.au>.
55083
55084 2008-01-08  Eric Blake  <ebb9@byu.net>
55085
55086         Rewrite memmem to guarantee linear complexity without malloc.
55087         * lib/memmem.c (memmem): Use Two-Way rather than
55088         Knuth-Morris-Pratt, to allow O(1) space usage.
55089         (critical_factorization, two_way_short_needle)
55090         (two_way_long_needle): New functions.
55091         (knuth_morris_pratt): Delete.
55092         * modules/memmem (Depends-on): No longer need malloca or stdbool.
55093         Add stdint.
55094         * tests/test-memmem.c (main): Add tests for periodic needle and
55095         sublinear performance.
55096         * doc/functions/memmem.texi (memmem): Document other deficiencies
55097         in cygwin and older glibc.
55098
55099 2008-01-08  Bruno Haible  <bruno@clisp.org>
55100
55101         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
55102         augmentation.
55103
55104 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
55105
55106         Add a configure time option: --disable-acl.
55107         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
55108         AC_ARG_ENABLE(acl).
55109
55110 2008-01-06  Simon Josefsson  <simon@josefsson.org>
55111
55112         * tests/test-localename.c: Don't include obsolete "setenv.h".
55113
55114         * modules/localename-tests (Depends-on): Need unsetenv.
55115
55116 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55117
55118         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
55119
55120 2008-01-06  Colin Watson  <cjwatson@debian.org>
55121
55122         * users.txt: Add man-db.
55123
55124 2008-01-07  Bruno Haible  <bruno@clisp.org>
55125
55126         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
55127         previous section name.
55128
55129 2008-01-07  Bruno Haible  <bruno@clisp.org>
55130
55131         * lib/progname.c (set_program_name): Don't strip off a leading
55132         "lt-" prefix outside a .libs directory.
55133         Suggested by Paul Eggert.
55134
55135 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
55136             Bruno Haible  <bruno@clisp.org>
55137
55138         Improve memory cleanup in 'relocatable' module.
55139         * lib/relocatable.h (compute_curr_prefix): Change return type to
55140         'char *'.
55141         * lib/relocatable.c (compute_curr_prefix): Change return type to
55142         'char *'. Free curr_installdir after use.
55143         (relocate): Free curr_prefix_better after use.
55144         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
55145
55146 2008-01-01  Bruno Haible  <bruno@clisp.org>
55147
55148         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
55149         failure on older glibc systems.
55150         Reported by Peter Fales <psfales@alcatel-lucent.com>.
55151
55152 2008-01-05  Eric Blake  <ebb9@byu.net>
55153
55154         Avoid quadratic system memmem.
55155         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
55156         Reported by Ralf Wildenhues.
55157
55158         Fix memmem test for mingw.
55159         * modules/memmem-tests (configure.ac): Check for alarm.
55160         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
55161         it.
55162         * doc/functions/memmem.texi: New file.
55163         * doc/gnulib.texi (Function Substitutes): Add memmem.
55164         Reported by Bruno Haible.
55165
55166 2008-01-04  Bruno Haible  <bruno@clisp.org>
55167
55168         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
55169         Require gl_HEADER_STRINGS_H_DEFAULTS, not
55170         gl_HEADER_STRING_H_DEFAULTS.
55171
55172 2008-01-04  Eric Blake  <ebb9@byu.net>
55173
55174         Shorten duration of memmem test.
55175         * tests/test-memmem.c (main): Use alarm to declare failure if test
55176         is taking too long.
55177         Reported by Ralf Wildenhues.
55178
55179 2007-12-21  Simon Josefsson  <simon@josefsson.org>
55180
55181         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
55182         string, needed by strerror.
55183
55184 2008-01-03  Colin Watson  <cjwatson@debian.org>
55185             Bruno Haible  <bruno@clisp.org>
55186
55187         * doc/gnulib-tool.texi (Localization): New section.
55188
55189 2008-01-02  Bruno Haible  <bruno@clisp.org>
55190
55191         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
55192         variables to 'unsigned char *' type.
55193         Reported by Paul Eggert.
55194
55195 2008-01-02  Jim Meyering  <jim@meyering.net>
55196
55197         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
55198
55199 2007-12-31  Jim Meyering  <jim@meyering.net>
55200
55201         Avoid use of private FTS type name.
55202         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
55203
55204 2007-12-30  Karl Berry  <karl@gnu.org>
55205
55206         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
55207         work around defect in Texinfo and/or the standalone Info browser.
55208
55209 2007-12-30  Bruno Haible  <bruno@clisp.org>
55210
55211         Unify 5 copies of the KMP code.
55212         * lib/str-kmp.h: New file.
55213         * lib/c-strcasestr.c: Include str-kmp.h.
55214         (knuth_morris_pratt): Remove function.
55215         (c_strcasestr): Update.
55216         * lib/c-strstr.c: Include str-kmp.h.
55217         (knuth_morris_pratt): Remove function.
55218         (c_strcasestr): Update.
55219         * lib/mbscasestr.c: Include str-kmp.h.
55220         (knuth_morris_pratt_unibyte): Remove function.
55221         * lib/mbsstr.c: Include str-kmp.h.
55222         (knuth_morris_pratt_unibyte): Remove function.
55223         * lib/strcasestr.c: Include str-kmp.h.
55224         (knuth_morris_pratt): Remove function.
55225         (strcasestr): Update.
55226         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
55227         * modules/c-strstr (Files): Likewise.
55228         * modules/mbscasestr (Files): Likewise.
55229         * modules/mbsstr (Files): Likewise.
55230         * modules/strcasestr (Files): Likewise.
55231         Suggested by Paul Eggert.
55232
55233 2007-12-30  Bruno Haible  <bruno@clisp.org>
55234
55235         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
55236         defined.
55237
55238 2007-12-30  Bruno Haible  <bruno@clisp.org>
55239
55240         * lib/xmalloca.h: Include xalloc.h.
55241         (xnmalloca): New macro.
55242
55243 2007-12-30  Bruno Haible  <bruno@clisp.org>
55244
55245         * lib/malloca.h (nmalloca): New macro.
55246         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
55247         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
55248         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
55249         knuth_morris_pratt_multibyte): Likewise.
55250         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
55251         knuth_morris_pratt_multibyte): Likewise.
55252         * lib/memmem.c (knuth_morris_pratt): Likewise.
55253         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
55254
55255 2007-12-25  Bruno Haible  <bruno@clisp.org>
55256
55257         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
55258         * lib/glob.c: Don't include openat.h.
55259         (link_exists2_p): Add back the code that deals with the
55260         !GLOB_ALTDIRFUNC case.
55261         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
55262         let it do the filename concatenation.
55263         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
55264         * modules/glob (Depends-on): Remove openat.
55265
55266 2007-12-31  Bruno Haible  <bruno@clisp.org>
55267
55268         * modules/dirfd (License): Change to LGPLv2+.
55269         Approved by Jim Meyering.
55270
55271 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
55272
55273         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
55274         when multiplying M by sizeof (size_t).
55275
55276 2007-12-10  Martin Lambers  <marlam@marlam.de>
55277
55278         Override getpagesize on mingw.
55279         * lib/getpagesize.c: New file.
55280         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
55281         * modules/getpagesize (Files): Add lib/getpagesize.c.
55282         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
55283         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55284         REPLACE_GETPAGESIZE.
55285         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
55286
55287 2007-12-25  Bruno Haible  <bruno@clisp.org>
55288
55289         * modules/localcharset (Notice): New field.
55290         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
55291         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
55292
55293 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
55294             Bruno Haible  <bruno@clisp.org>
55295
55296         Avoid using the syntax symbol() in formatted documentation.
55297         * MODULES.html.sh (func_module): When replacing symbol() with a
55298         hyperlink, remove the parentheses. Show an error if some remain.
55299         Recognize and render the '...' syntax.
55300         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
55301         Rework. Add paragraph about GCC's inlining.
55302         * doc/alloca.texi: Likewise.
55303         * doc/error.texi: Remove parentheses from symbol reference.
55304         * doc/gnulib-intro.texi: Likewise.
55305         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
55306         * modules/fnmatch (Description): Reword to say "the ... function".
55307         * modules/full-read (Description): Likewise.
55308         * modules/full-write (Description): Likewise.
55309         * modules/safe-read (Description): Likewise.
55310         * modules/safe-write (Description): Likewise.
55311         * modules/strchrnul (Description): Likewise.
55312         * modules/trim (Description): Likewise.
55313         * modules/error (Description): Remove parentheses from symbol
55314         references.
55315         * modules/verror (Description): Likewise.
55316         Reported by Karl Berry.
55317
55318 2007-12-25  Bruno Haible  <bruno@clisp.org>
55319
55320         Fixup after 2007-10-16 commit.
55321         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
55322
55323 2007-12-24  Bruno Haible  <bruno@clisp.org>
55324
55325         Make --enable-relocatable work with DESTDIR.
55326         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
55327         to compute installdir from destprog.
55328         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
55329         also set the RELOC_DESTDIR variable.
55330         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55331
55332 2007-12-24  Bruno Haible  <bruno@clisp.org>
55333
55334         Fix link error due to xalloc_die().
55335         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
55336         of xreadlink.
55337         * lib/relocwrapper.c: Update comments.
55338         * build-aux/install-reloc: Remove xreadlink.c from file list.
55339         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
55340         xreadlink.c.
55341         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55342
55343 2007-12-24  Bruno Haible  <bruno@clisp.org>
55344
55345         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
55346         * lib/setenv.h: Remove file.
55347         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
55348         lib/setenv.h.
55349         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
55350         (Depends-on): Add stdlib.
55351         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
55352         gl_FUNC_UNSETENV.
55353         (Include): Replace setenv.h with <stdlib.h>.
55354         * modules/unsetenv: New file.
55355         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
55356         * lib/unsetenv.c: Include <stdlib.h> first.
55357         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
55358         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
55359         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
55360         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
55361         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
55362         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
55363         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
55364         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
55365         * doc/functions/unsetenv.texi: Update.
55366         * modules/xsetenv (Depends-on): Add unsetenv.
55367         * modules/getdate (Depends-on): Likewise.
55368         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
55369         * lib/xsetenv.c: Don't include setenv.h.
55370         * lib/getdate.y: Likewise.
55371         * lib/relocwrapper.c: Likewise.
55372         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
55373         (Depends-on): Add stdlib.
55374         * NEWS: Mention the changes.
55375         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55376
55377 2007-12-23  Bruno Haible  <bruno@clisp.org>
55378
55379         * lib/memmem.c (memmem): Use lowercase variable names. Tab
55380         indentation.
55381
55382 2007-12-23  Bruno Haible  <bruno@clisp.org>
55383
55384         * lib/c-strcasestr.c: Add more comments.
55385         * lib/c-strstr.c: Likewise.
55386         * lib/mbscasestr.c: Likewise.
55387         * lib/mbsstr.c: Likewise.
55388         * lib/strcasestr.c: Likewise.
55389         * lib/memmem.c: Likewise.
55390
55391 2007-12-23  Bruno Haible  <bruno@clisp.org>
55392
55393         * tests/test-memmem.c: Include <string.h> first.
55394
55395 2007-12-22  Bruno Haible  <bruno@clisp.org>
55396
55397         * gnulib-tool (func_create_testdir): Change $auxdir while generating
55398         the contents of $testsbase.
55399         Reported by Ralf Wildenhues.
55400
55401 2007-12-22  Bruno Haible  <bruno@clisp.org>
55402
55403         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
55404         two variables local_ldadd_before, local_ldadd_last.
55405
55406 2007-12-20  Eric Blake  <ebb9@byu.net>
55407
55408         Work around circular library issue when cross-compiling.
55409         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
55410         that progname.o does not need to pull in rpl_memcmp.
55411
55412 2007-12-19  Eric Blake  <ebb9@byu.net>
55413
55414         Fix memmem to avoid O(n^2) worst-case complexity.
55415         * lib/memmem.c (knuth_morris_pratt): New function.
55416         (memmem): Use it if first few naive iterations fail.
55417         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
55418         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
55419         * modules/memchr (License): Likewise.
55420         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
55421         malloca.
55422         * tests/test-memmem.c: Rewrite, borrowing ideas from
55423         test-mbsstr1.c; the old version wouldn't even compile!
55424         * modules/memmem-tests: New file.
55425         * lib/string.in.h (rpl_memmem): Add declaration.
55426         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
55427         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
55428         REPLACE_MEMMEM.
55429
55430 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
55431
55432         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
55433         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
55434         before any system include files, and undef after them all.  This
55435         should fix a problem on VMS reported by John E. Malmberg in
55436         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
55437
55438 2007-12-17  Eric Blake  <ebb9@byu.net>
55439
55440         Revert addition of verify, for BSD/OS.
55441         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
55442         can't handle large files, for the sake of obsolete platforms.
55443         * modules/fseeko (Depends-on): Remove verify.
55444         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
55445         * doc/functions/ftello.texi (ftello): Likewise.
55446         * doc/functions/fgetpos.texi (fgetpos): Likewise.
55447         Reported by Larry Jones.
55448
55449 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
55450
55451         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
55452         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
55453
55454 2007-12-17  Jim Meyering  <meyering@redhat.com>
55455
55456         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
55457         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
55458         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
55459         * modules/getcwd (Depends-on): Add openat.
55460         Reported by Petr Salinger.
55461
55462 2007-12-17  Bruno Haible  <bruno@clisp.org>
55463
55464         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
55465         avoid a segmentation fault of the configure test on x86_64 systems.
55466
55467 2007-12-15  Jim Meyering  <meyering@redhat.com>
55468
55469         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
55470
55471 2007-12-13  Eric Blake  <ebb9@byu.net>
55472
55473         Another fseek test.
55474         * tests/test-fseek.c (main): Also test ungetc handling.
55475         * tests/test-fseeko.c (main): Likewise.
55476         * modules/fseeko (Depends-on): Add verify.
55477         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
55478         large.
55479         Reported by Larry Jones.
55480
55481         Fix fseeko on mingw.
55482         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
55483         seek.
55484
55485         Beef up fseek tests.
55486         * tests/test-fseek.c (main): Also test eof handling.
55487         * tests/test-fseeko.c (main): Likewise.
55488         Reported by Larry Jones.
55489
55490 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
55491
55492         Fix fseeko on BSD-based platforms.
55493         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
55494         successful seek.
55495
55496 2007-12-12  Eric Blake  <ebb9@byu.net>
55497
55498         Allow circular dependency of separate libtests.a
55499         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
55500         when use_libtests.
55501
55502 2007-12-11  Eric Blake  <ebb9@byu.net>
55503
55504         Fix bug with -0.0L in previous patch.
55505         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
55506         * tests/test-isnan.c (main): Also test on zeroes.
55507         * tests/test-isnanf.c (main): Likewise.
55508         * tests/test-isnanl.h (main): Likewise.
55509
55510         Detect pseudo-denormals on x86 even when cross-compiling.
55511         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
55512         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
55513         invalid bit patterns that happen to satisfy ==.
55514
55515         Avoid link failures with separate libtests.a.
55516         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
55517         last, to satisfy circular dependencies.
55518
55519 2007-12-11  Eric Blake  <ebb9@byu.net>
55520         and Bruno Haible  <bruno@clisp.org>
55521
55522         Fix OpenBSD 4.0 <float.h> handling of long double.
55523         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
55524         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
55525         * doc/headers/float.texi (float.h): Document OpenBSD bug.
55526
55527 2007-12-11  Jim Meyering  <meyering@redhat.com>
55528
55529         * users.txt: Add libvirt.
55530
55531         Support versions of autoconf prior to 2.59c.
55532         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
55533         if it is not already defined.
55534
55535 2007-12-09  Bruno Haible  <bruno@clisp.org>
55536
55537         Let 'gnulib-tool --import' collect sources needed for the tests in
55538         tests/ rather than in lib/.
55539         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
55540         argument. If true, add rules to generate libtests.a, and put libtests.a
55541         into $(LDADD). Consider source files in subdirectories and set
55542         uses_subdirs.
55543         (func_emit_initmacro_start, func_emit_initmacro_end,
55544         func_emit_initmacro_done): Pass all arguments explicitly.
55545         (func_import): Determine two module lists main_modules,
55546         testsrelated_modules. Determine use_libtests. Determine two variables
55547         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
55548         instead of just sed_transform_lib_file. Determine two variables
55549         main_files and testsrelated_files. Compute 'files' as the union of
55550         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
55551         func_add_or_update. In the generated gnulib-comp.m4, collect the
55552         object files for tests/ in different variables than those for lib/.
55553         Substitute LIBTESTS_LIBDEPS.
55554         (func_create_testdir): Combine the uses_subdirs results from
55555         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
55556
55557 2007-12-09  Bruno Haible  <bruno@clisp.org>
55558
55559         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
55560         the build-aux directory.
55561
55562 2007-12-09  Bruno Haible  <bruno@clisp.org>
55563
55564         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
55565         introduced on 2006-09-09.
55566
55567 2007-12-07  Jim Meyering  <meyering@redhat.com>
55568
55569         Let these macros work also with autoconf-2.59.
55570         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
55571         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
55572         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
55573
55574 2007-12-06  Jim Meyering  <meyering@redhat.com>
55575
55576         Avoid a configure-time syntax error in gl_FUNC_ACL.
55577         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
55578         function in each branch, before testing the cache variable.
55579
55580 2007-12-04  Eric Blake  <ebb9@byu.net>
55581
55582         Make scripts executable.
55583         * build-aux/config.guess: Add execute permissions.
55584         * build-aux/config.sub: Likewise.
55585         * build-aux/gendocs.sh: Likewise.
55586
55587         Fix frexp on mingw.
55588         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
55589         cross-compiling.
55590         * doc/functions/frexp.texi (frexp): Document the bug.
55591
55592         Make cygwin fseeko check more reliable.
55593         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
55594         version numbers, rather than unrelated feature check.
55595         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
55596         * doc/functions/ftello.texi (ftello): Likewise.
55597         Reported by Bruno Haible.
55598
55599         * m4/strerror.m4: Bump version number.
55600
55601 2007-12-03  Bruno Haible  <bruno@clisp.org>
55602
55603         * doc/functions/mprotect.texi: Mention the mingw problem.
55604
55605 2007-12-03  Eric Blake  <ebb9@byu.net>
55606
55607         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
55608         REPLACE_STRERROR is initialized before this macro.
55609
55610 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
55611
55612         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
55613         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
55614         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
55615         put -lsec in even for programs other than 'ls'.  This fixes a problem
55616         for gettext reported by Bruno Haible in
55617         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
55618         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
55619         Add support for Solaris 10.  This isn't efficient, but should get the
55620         job done for now.
55621
55622 2007-12-03  James Youngman  <jay@gnu.org>
55623
55624         * doc/regexprops-generic.texi: change "an close-group" to "a
55625         close-group" and "illegal" to "not allowed".
55626
55627 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55628
55629         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
55630         pr_byname.h. Needed for the rare case when the maintainer has done
55631         "make maintainer-clean" in the source directory and then attempts a
55632         build outside the source directory.
55633         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
55634         scripts_byname.h.
55635
55636 2007-12-02  Martin Lambers <marlam@marlam.de>
55637             Bruno Haible  <bruno@clisp.org>
55638
55639         * lib/getpagesize.h: Remove file.
55640         * lib/unistd.in.h: Include declaration of getpagesize here.
55641         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
55642         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
55643         HAVE_SYS_PARAM_H.
55644         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
55645         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
55646         * modules/getpagesize (Files): Remove lib/getpagesize.h.
55647         (Depends-on): Add unistd.
55648         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55649         (Include): Use <unistd.h> instead of getpagesize.h.
55650         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
55651         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
55652         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
55653         gl_GETPAGESIZE invocation, already handled by module dependency.
55654         * lib/pagealign_alloc.c: Don't include getpagesize.h.
55655
55656 2007-12-02  Bruno Haible  <bruno@clisp.org>
55657
55658         * modules/strings-tests: New file.
55659         * tests/test-strings.c: New file.
55660
55661         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
55662         * lib/strings.in.h: New file.
55663         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
55664         * m4/strings_h.m4: New file.
55665         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
55666         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
55667         * modules/strings: New file.
55668         * modules/string (Makefile.am): Update.
55669         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
55670         Reported by Karl Berry.
55671
55672 2007-12-01  Eric Blake  <ebb9@byu.net>
55673
55674         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
55675         accomodate fix in cygwin 1.5.25.
55676
55677 2007-12-01  Jim Meyering  <meyering@redhat.com>
55678
55679         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
55680         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
55681         that would inhibit utf8-optimization of a regexp containing line-
55682         or buffer-anchors, e.g., `^', `$'.
55683
55684 2007-11-30  Bruno Haible  <bruno@clisp.org>
55685
55686         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
55687         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
55688         glthread_recursive_lock_init.
55689         * lib/lock.c (glthread_recursive_lock_init)
55690         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
55691         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55692
55693 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
55694
55695         New function qset_acl, like set_acl but with syscall semantics.
55696         * lib/acl.h (qset_acl): New decl.
55697         * lib/acl.c (qset_acl): New function.
55698         (set_acl): Use new function.  Use more-consistent diagnostics.
55699
55700 2007-11-28  Jim Meyering  <meyering@redhat.com>
55701
55702         * modules/physmem (License): Change from GPL to LGPLv2+.
55703
55704 2007-11-26  Bruno Haible  <bruno@clisp.org>
55705
55706         * lib/vasnprintf.c (decode_long_double): Don't abort if the
55707         'long double' type has excess precision.
55708         Reported by Jim Meyering in
55709         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
55710
55711 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55712
55713         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
55714         Sync from <http://gnu.org/licenses>.
55715         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
55716         with license text from same location.
55717         * doc/maintain.texi, doc/standards.texi:  Sync from
55718         <http://savannah.gnu.org/projects/gnustandards>.
55719
55720 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
55721         and Jim Meyering  <meyering@redhat.com>
55722
55723         Adjust getdate' grammar to accept a slightly more regular language.
55724         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
55725         Before, the former was rejected.
55726         * lib/getdate.y (digits_to_date_time): New function, factored
55727         out of ...
55728         (number): ...here.  Just call digits_to_date_time.
55729         (hybrid): New non-terminal to handle an <unsigned number,
55730         signed relative offset> sequence consistently.
55731
55732 2007-11-18  Jim Meyering  <meyering@redhat.com>
55733
55734         Pull my changes from coreutils:
55735         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
55736         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
55737         use of $gnulib_tool_option_extras, so that it's separated from the
55738         preceding argument.
55739
55740         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
55741         * build-aux/bootstrap (cp_mark_as_generated): Create any required
55742         parent destination directories before copying a file into place.
55743
55744 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
55745
55746         bootstrap: work also with 4-argument variant of AC_INIT
55747         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
55748
55749 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55750
55751         Port test-getaddrinfo to Solaris.
55752         Problem reported by Bruno Haible in
55753         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
55754         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
55755         explanation of setting 'hints'.
55756         Don't reject an implementation merely because it returns EAI_SERVICE.
55757         (EAI_SERVICE): Define to 0 if not defined.
55758
55759 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
55760
55761         The license of gnu-make and posix-shell is now "GPLed build tool".
55762         * modules/gnu-make (License): Likewise.
55763         * modules/posix-shell (License): Likewise.
55764
55765         New module posix-shell, for determining a POSIX shell
55766         or perhaps something that is close enough to a POSIX shell.
55767         * m4/posix-shell.m4: New file.
55768         * modules/posix-shell: New file.
55769
55770         * MODULES.html.sh: Mention new module.
55771
55772         New module gnu-make, for determining whether we're using GNU Make.
55773         * m4/gnu-make.m4: New file.
55774         * modules/gnu-make: New file.
55775         * MODULES.html.sh: Mention new module.
55776
55777 2007-11-14  Jim Meyering  <meyering@redhat.com>
55778
55779         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
55780         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
55781         use this macro to create a function _definition_.
55782         Remove useless "#undef ARGMATCH_DIE".
55783
55784 2007-11-14  Bruno Haible  <bruno@clisp.org>
55785
55786         * lib/config.charset: Update for OpenBSD 4.1.
55787         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
55788
55789 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
55790
55791         Document 64-bit #if problems in stdint.texi.
55792         * doc/headers/stdint.texi (stdint.h): Mention problems with
55793         64-bit-#if, and how to work around them.
55794
55795         Don't insist on 'long long int' support in the preprocessor.  It
55796         breaks too many things.  For example, PRIdMAX still uses a 'long
55797         long int' format with the latest Sun compiler, even though
55798         HAVE_LONG_LONG_INT isn't defined due to that compiler's
55799         preprocessor problem.  This causes the latest coreutils to dump
55800         core on Solaris 10 sparc with the Sun C compiler.
55801         Instead, fix the 2007-10-16 problem in a different way, by evaluating
55802         the troublesome expressions at configure-time, not at #if-time.
55803         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
55804         preprocessor.
55805         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
55806         compile-time C checks, done at 'configure'-time.
55807         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
55808         * modules/inttypes (Makefile): Substitute the new symbols that
55809         gl_INTTYPES_H now generates.
55810         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
55811
55812 2007-11-12  Bruno Haible  <bruno@clisp.org>
55813
55814         Tests for Unicode character classification functions.
55815
55816         * modules/unictype/bidicategory-byname-tests: New file.
55817         * modules/unictype/bidicategory-name-tests: New file.
55818         * modules/unictype/bidicategory-of-tests: New file.
55819         * modules/unictype/bidicategory-test-tests: New file.
55820         * modules/unictype/block-list-tests: New file.
55821         * modules/unictype/block-of-tests: New file.
55822         * modules/unictype/block-test-tests: New file.
55823         * modules/unictype/category-C-tests: New file.
55824         * modules/unictype/category-Cc-tests: New file.
55825         * modules/unictype/category-Cf-tests: New file.
55826         * modules/unictype/category-Cn-tests: New file.
55827         * modules/unictype/category-Co-tests: New file.
55828         * modules/unictype/category-Cs-tests: New file.
55829         * modules/unictype/category-L-tests: New file.
55830         * modules/unictype/category-Ll-tests: New file.
55831         * modules/unictype/category-Lm-tests: New file.
55832         * modules/unictype/category-Lo-tests: New file.
55833         * modules/unictype/category-Lt-tests: New file.
55834         * modules/unictype/category-Lu-tests: New file.
55835         * modules/unictype/category-M-tests: New file.
55836         * modules/unictype/category-Mc-tests: New file.
55837         * modules/unictype/category-Me-tests: New file.
55838         * modules/unictype/category-Mn-tests: New file.
55839         * modules/unictype/category-N-tests: New file.
55840         * modules/unictype/category-Nd-tests: New file.
55841         * modules/unictype/category-Nl-tests: New file.
55842         * modules/unictype/category-No-tests: New file.
55843         * modules/unictype/category-P-tests: New file.
55844         * modules/unictype/category-Pc-tests: New file.
55845         * modules/unictype/category-Pd-tests: New file.
55846         * modules/unictype/category-Pe-tests: New file.
55847         * modules/unictype/category-Pf-tests: New file.
55848         * modules/unictype/category-Pi-tests: New file.
55849         * modules/unictype/category-Po-tests: New file.
55850         * modules/unictype/category-Ps-tests: New file.
55851         * modules/unictype/category-S-tests: New file.
55852         * modules/unictype/category-Sc-tests: New file.
55853         * modules/unictype/category-Sk-tests: New file.
55854         * modules/unictype/category-Sm-tests: New file.
55855         * modules/unictype/category-So-tests: New file.
55856         * modules/unictype/category-Z-tests: New file.
55857         * modules/unictype/category-Zl-tests: New file.
55858         * modules/unictype/category-Zp-tests: New file.
55859         * modules/unictype/category-Zs-tests: New file.
55860         * modules/unictype/category-and-not-tests: New file.
55861         * modules/unictype/category-and-tests: New file.
55862         * modules/unictype/category-byname-tests: New file.
55863         * modules/unictype/category-name-tests: New file.
55864         * modules/unictype/category-none-tests: New file.
55865         * modules/unictype/category-of-tests: New file.
55866         * modules/unictype/category-or-tests: New file.
55867         * modules/unictype/category-test-withtable-tests: New file.
55868         * modules/unictype/combining-class-tests: New file.
55869         * modules/unictype/ctype-alnum-tests: New file.
55870         * modules/unictype/ctype-alpha-tests: New file.
55871         * modules/unictype/ctype-blank-tests: New file.
55872         * modules/unictype/ctype-cntrl-tests: New file.
55873         * modules/unictype/ctype-digit-tests: New file.
55874         * modules/unictype/ctype-graph-tests: New file.
55875         * modules/unictype/ctype-lower-tests: New file.
55876         * modules/unictype/ctype-print-tests: New file.
55877         * modules/unictype/ctype-punct-tests: New file.
55878         * modules/unictype/ctype-space-tests: New file.
55879         * modules/unictype/ctype-upper-tests: New file.
55880         * modules/unictype/ctype-xdigit-tests: New file.
55881         * modules/unictype/decimal-digit-tests: New file.
55882         * modules/unictype/digit-tests: New file.
55883         * modules/unictype/mirror-tests: New file.
55884         * modules/unictype/numeric-tests: New file.
55885         * modules/unictype/property-alphabetic-tests: New file.
55886         * modules/unictype/property-ascii-hex-digit-tests: New file.
55887         * modules/unictype/property-bidi-arabic-digit-tests: New file.
55888         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
55889         * modules/unictype/property-bidi-block-separator-tests: New file.
55890         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
55891         * modules/unictype/property-bidi-common-separator-tests: New file.
55892         * modules/unictype/property-bidi-control-tests: New file.
55893         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
55894         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
55895         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
55896         * modules/unictype/property-bidi-european-digit-tests: New file.
55897         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
55898         * modules/unictype/property-bidi-left-to-right-tests: New file.
55899         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
55900         * modules/unictype/property-bidi-other-neutral-tests: New file.
55901         * modules/unictype/property-bidi-pdf-tests: New file.
55902         * modules/unictype/property-bidi-segment-separator-tests: New file.
55903         * modules/unictype/property-bidi-whitespace-tests: New file.
55904         * modules/unictype/property-byname-tests: New file.
55905         * modules/unictype/property-combining-tests: New file.
55906         * modules/unictype/property-composite-tests: New file.
55907         * modules/unictype/property-currency-symbol-tests: New file.
55908         * modules/unictype/property-dash-tests: New file.
55909         * modules/unictype/property-decimal-digit-tests: New file.
55910         * modules/unictype/property-default-ignorable-code-point-tests: New file.
55911         * modules/unictype/property-deprecated-tests: New file.
55912         * modules/unictype/property-diacritic-tests: New file.
55913         * modules/unictype/property-extender-tests: New file.
55914         * modules/unictype/property-format-control-tests: New file.
55915         * modules/unictype/property-grapheme-base-tests: New file.
55916         * modules/unictype/property-grapheme-extend-tests: New file.
55917         * modules/unictype/property-grapheme-link-tests: New file.
55918         * modules/unictype/property-hex-digit-tests: New file.
55919         * modules/unictype/property-hyphen-tests: New file.
55920         * modules/unictype/property-id-continue-tests: New file.
55921         * modules/unictype/property-id-start-tests: New file.
55922         * modules/unictype/property-ideographic-tests: New file.
55923         * modules/unictype/property-ids-binary-operator-tests: New file.
55924         * modules/unictype/property-ids-trinary-operator-tests: New file.
55925         * modules/unictype/property-ignorable-control-tests: New file.
55926         * modules/unictype/property-iso-control-tests: New file.
55927         * modules/unictype/property-join-control-tests: New file.
55928         * modules/unictype/property-left-of-pair-tests: New file.
55929         * modules/unictype/property-line-separator-tests: New file.
55930         * modules/unictype/property-logical-order-exception-tests: New file.
55931         * modules/unictype/property-lowercase-tests: New file.
55932         * modules/unictype/property-math-tests: New file.
55933         * modules/unictype/property-non-break-tests: New file.
55934         * modules/unictype/property-not-a-character-tests: New file.
55935         * modules/unictype/property-numeric-tests: New file.
55936         * modules/unictype/property-other-alphabetic-tests: New file.
55937         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
55938         * modules/unictype/property-other-grapheme-extend-tests: New file.
55939         * modules/unictype/property-other-id-continue-tests: New file.
55940         * modules/unictype/property-other-id-start-tests: New file.
55941         * modules/unictype/property-other-lowercase-tests: New file.
55942         * modules/unictype/property-other-math-tests: New file.
55943         * modules/unictype/property-other-uppercase-tests: New file.
55944         * modules/unictype/property-paired-punctuation-tests: New file.
55945         * modules/unictype/property-paragraph-separator-tests: New file.
55946         * modules/unictype/property-pattern-syntax-tests: New file.
55947         * modules/unictype/property-pattern-white-space-tests: New file.
55948         * modules/unictype/property-private-use-tests: New file.
55949         * modules/unictype/property-punctuation-tests: New file.
55950         * modules/unictype/property-quotation-mark-tests: New file.
55951         * modules/unictype/property-radical-tests: New file.
55952         * modules/unictype/property-sentence-terminal-tests: New file.
55953         * modules/unictype/property-soft-dotted-tests: New file.
55954         * modules/unictype/property-space-tests: New file.
55955         * modules/unictype/property-terminal-punctuation-tests: New file.
55956         * modules/unictype/property-test-tests: New file.
55957         * modules/unictype/property-titlecase-tests: New file.
55958         * modules/unictype/property-unassigned-code-value-tests: New file.
55959         * modules/unictype/property-unified-ideograph-tests: New file.
55960         * modules/unictype/property-uppercase-tests: New file.
55961         * modules/unictype/property-variation-selector-tests: New file.
55962         * modules/unictype/property-white-space-tests: New file.
55963         * modules/unictype/property-xid-continue-tests: New file.
55964         * modules/unictype/property-xid-start-tests: New file.
55965         * modules/unictype/property-zero-width-tests: New file.
55966         * modules/unictype/scripts-tests: New file.
55967         * modules/unictype/syntax-c-ident-tests: New file.
55968         * modules/unictype/syntax-c-whitespace-tests: New file.
55969         * modules/unictype/syntax-java-ident-tests: New file.
55970         * modules/unictype/syntax-java-whitespace-tests: New file.
55971         * tests/unictype/test-bidi_byname.c: New file.
55972         * tests/unictype/test-bidi_name.c: New file.
55973         * tests/unictype/test-bidi_of.c: New file.
55974         * tests/unictype/test-bidi_test.c: New file.
55975         * tests/unictype/test-block_list.c: New file.
55976         * tests/unictype/test-block_of.c: New file.
55977         * tests/unictype/test-block_test.c: New file.
55978         * tests/unictype/test-categ_and.c: New file.
55979         * tests/unictype/test-categ_and_not.c: New file.
55980         * tests/unictype/test-categ_byname.c: New file.
55981         * tests/unictype/test-categ_name.c: New file.
55982         * tests/unictype/test-categ_none.c: New file.
55983         * tests/unictype/test-categ_of.c: New file.
55984         * tests/unictype/test-categ_or.c: New file.
55985         * tests/unictype/test-categ_test_withtable.c: New file.
55986         * tests/unictype/test-combining.c: New file.
55987         * tests/unictype/test-decdigit.c: New file.
55988         * tests/unictype/test-digit.c: New file.
55989         * tests/unictype/test-mirror.c: New file.
55990         * tests/unictype/test-numeric.c: New file.
55991         * tests/unictype/test-pr_byname.c: New file.
55992         * tests/unictype/test-pr_test.c: New file.
55993         * tests/unictype/test-predicate-part1.h: New file.
55994         * tests/unictype/test-predicate-part2.h: New file.
55995         * tests/unictype/test-scripts.c: New file.
55996         * tests/unictype/test-sy_c_ident.c: New file.
55997         * tests/unictype/test-sy_java_ident.c: New file.
55998
55999         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
56000         for Unicode 5.0.0.
56001         * tests/unictype/test-categ_Cc.c: Likewise.
56002         * tests/unictype/test-categ_Cf.c: Likewise.
56003         * tests/unictype/test-categ_Cn.c: Likewise.
56004         * tests/unictype/test-categ_Co.c: Likewise.
56005         * tests/unictype/test-categ_Cs.c: Likewise.
56006         * tests/unictype/test-categ_L.c: Likewise.
56007         * tests/unictype/test-categ_Ll.c: Likewise.
56008         * tests/unictype/test-categ_Lm.c: Likewise.
56009         * tests/unictype/test-categ_Lo.c: Likewise.
56010         * tests/unictype/test-categ_Lt.c: Likewise.
56011         * tests/unictype/test-categ_Lu.c: Likewise.
56012         * tests/unictype/test-categ_M.c: Likewise.
56013         * tests/unictype/test-categ_Mc.c: Likewise.
56014         * tests/unictype/test-categ_Me.c: Likewise.
56015         * tests/unictype/test-categ_Mn.c: Likewise.
56016         * tests/unictype/test-categ_N.c: Likewise.
56017         * tests/unictype/test-categ_Nd.c: Likewise.
56018         * tests/unictype/test-categ_Nl.c: Likewise.
56019         * tests/unictype/test-categ_No.c: Likewise.
56020         * tests/unictype/test-categ_P.c: Likewise.
56021         * tests/unictype/test-categ_Pc.c: Likewise.
56022         * tests/unictype/test-categ_Pd.c: Likewise.
56023         * tests/unictype/test-categ_Pe.c: Likewise.
56024         * tests/unictype/test-categ_Pf.c: Likewise.
56025         * tests/unictype/test-categ_Pi.c: Likewise.
56026         * tests/unictype/test-categ_Po.c: Likewise.
56027         * tests/unictype/test-categ_Ps.c: Likewise.
56028         * tests/unictype/test-categ_S.c: Likewise.
56029         * tests/unictype/test-categ_Sc.c: Likewise.
56030         * tests/unictype/test-categ_Sk.c: Likewise.
56031         * tests/unictype/test-categ_Sm.c: Likewise.
56032         * tests/unictype/test-categ_So.c: Likewise.
56033         * tests/unictype/test-categ_Z.c: Likewise.
56034         * tests/unictype/test-categ_Zl.c: Likewise.
56035         * tests/unictype/test-categ_Zp.c: Likewise.
56036         * tests/unictype/test-categ_Zs.c: Likewise.
56037         * tests/unictype/test-ctype_alnum.c: Likewise.
56038         * tests/unictype/test-ctype_alpha.c: Likewise.
56039         * tests/unictype/test-ctype_blank.c: Likewise.
56040         * tests/unictype/test-ctype_cntrl.c: Likewise.
56041         * tests/unictype/test-ctype_digit.c: Likewise.
56042         * tests/unictype/test-ctype_graph.c: Likewise.
56043         * tests/unictype/test-ctype_lower.c: Likewise.
56044         * tests/unictype/test-ctype_print.c: Likewise.
56045         * tests/unictype/test-ctype_punct.c: Likewise.
56046         * tests/unictype/test-ctype_space.c: Likewise.
56047         * tests/unictype/test-ctype_upper.c: Likewise.
56048         * tests/unictype/test-ctype_xdigit.c: Likewise.
56049         * tests/unictype/test-decdigit.h: Likewise.
56050         * tests/unictype/test-digit.h: Likewise.
56051         * tests/unictype/test-numeric.h: Likewise.
56052         * tests/unictype/test-pr_alphabetic.c: Likewise.
56053         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
56054         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
56055         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
56056         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
56057         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
56058         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
56059         * tests/unictype/test-pr_bidi_control.c: Likewise.
56060         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
56061         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
56062         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
56063         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
56064         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
56065         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
56066         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
56067         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
56068         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
56069         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
56070         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
56071         * tests/unictype/test-pr_combining.c: Likewise.
56072         * tests/unictype/test-pr_composite.c: Likewise.
56073         * tests/unictype/test-pr_currency_symbol.c: Likewise.
56074         * tests/unictype/test-pr_dash.c: Likewise.
56075         * tests/unictype/test-pr_decimal_digit.c: Likewise.
56076         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
56077         * tests/unictype/test-pr_deprecated.c: Likewise.
56078         * tests/unictype/test-pr_diacritic.c: Likewise.
56079         * tests/unictype/test-pr_extender.c: Likewise.
56080         * tests/unictype/test-pr_format_control.c: Likewise.
56081         * tests/unictype/test-pr_grapheme_base.c: Likewise.
56082         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
56083         * tests/unictype/test-pr_grapheme_link.c: Likewise.
56084         * tests/unictype/test-pr_hex_digit.c: Likewise.
56085         * tests/unictype/test-pr_hyphen.c: Likewise.
56086         * tests/unictype/test-pr_id_continue.c: Likewise.
56087         * tests/unictype/test-pr_id_start.c: Likewise.
56088         * tests/unictype/test-pr_ideographic.c: Likewise.
56089         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
56090         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
56091         * tests/unictype/test-pr_ignorable_control.c: Likewise.
56092         * tests/unictype/test-pr_iso_control.c: Likewise.
56093         * tests/unictype/test-pr_join_control.c: Likewise.
56094         * tests/unictype/test-pr_left_of_pair.c: Likewise.
56095         * tests/unictype/test-pr_line_separator.c: Likewise.
56096         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
56097         * tests/unictype/test-pr_lowercase.c: Likewise.
56098         * tests/unictype/test-pr_math.c: Likewise.
56099         * tests/unictype/test-pr_non_break.c: Likewise.
56100         * tests/unictype/test-pr_not_a_character.c: Likewise.
56101         * tests/unictype/test-pr_numeric.c: Likewise.
56102         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
56103         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
56104         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
56105         * tests/unictype/test-pr_other_id_continue.c: Likewise.
56106         * tests/unictype/test-pr_other_id_start.c: Likewise.
56107         * tests/unictype/test-pr_other_lowercase.c: Likewise.
56108         * tests/unictype/test-pr_other_math.c: Likewise.
56109         * tests/unictype/test-pr_other_uppercase.c: Likewise.
56110         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
56111         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
56112         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
56113         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
56114         * tests/unictype/test-pr_private_use.c: Likewise.
56115         * tests/unictype/test-pr_punctuation.c: Likewise.
56116         * tests/unictype/test-pr_quotation_mark.c: Likewise.
56117         * tests/unictype/test-pr_radical.c: Likewise.
56118         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
56119         * tests/unictype/test-pr_soft_dotted.c: Likewise.
56120         * tests/unictype/test-pr_space.c: Likewise.
56121         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
56122         * tests/unictype/test-pr_titlecase.c: Likewise.
56123         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
56124         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
56125         * tests/unictype/test-pr_uppercase.c: Likewise.
56126         * tests/unictype/test-pr_variation_selector.c: Likewise.
56127         * tests/unictype/test-pr_white_space.c: Likewise.
56128         * tests/unictype/test-pr_xid_continue.c: Likewise.
56129         * tests/unictype/test-pr_xid_start.c: Likewise.
56130         * tests/unictype/test-pr_zero_width.c: Likewise.
56131         * tests/unictype/test-sy_c_whitespace.c: Likewise.
56132         * tests/unictype/test-sy_java_whitespace.c: Likewise.
56133
56134 2007-11-12  Bruno Haible  <bruno@clisp.org>
56135
56136         Unicode character classification functions.
56137         * lib/unictype.h: New file.
56138         * modules/unictype/base: New file.
56139         * modules/unictype/category-L: New file.
56140         * modules/unictype/category-Lu: New file.
56141         * modules/unictype/category-Ll: New file.
56142         * modules/unictype/category-Lt: New file.
56143         * modules/unictype/category-Lm: New file.
56144         * modules/unictype/category-Lo: New file.
56145         * modules/unictype/category-M: New file.
56146         * modules/unictype/category-Mn: New file.
56147         * modules/unictype/category-Mc: New file.
56148         * modules/unictype/category-Me: New file.
56149         * modules/unictype/category-N: New file.
56150         * modules/unictype/category-Nd: New file.
56151         * modules/unictype/category-Nl: New file.
56152         * modules/unictype/category-No: New file.
56153         * modules/unictype/category-P: New file.
56154         * modules/unictype/category-Pc: New file.
56155         * modules/unictype/category-Pd: New file.
56156         * modules/unictype/category-Ps: New file.
56157         * modules/unictype/category-Pe: New file.
56158         * modules/unictype/category-Pi: New file.
56159         * modules/unictype/category-Pf: New file.
56160         * modules/unictype/category-Po: New file.
56161         * modules/unictype/category-S: New file.
56162         * modules/unictype/category-Sm: New file.
56163         * modules/unictype/category-Sc: New file.
56164         * modules/unictype/category-Sk: New file.
56165         * modules/unictype/category-So: New file.
56166         * modules/unictype/category-Z: New file.
56167         * modules/unictype/category-Zs: New file.
56168         * modules/unictype/category-Zl: New file.
56169         * modules/unictype/category-Zp: New file.
56170         * modules/unictype/category-C: New file.
56171         * modules/unictype/category-Cc: New file.
56172         * modules/unictype/category-Cf: New file.
56173         * modules/unictype/category-Cs: New file.
56174         * modules/unictype/category-Co: New file.
56175         * modules/unictype/category-Cn: New file.
56176         * modules/unictype/category-or: New file.
56177         * modules/unictype/category-of: New file.
56178         * modules/unictype/category-test: New file.
56179         * modules/unictype/category-test-withtable: New file.
56180         * modules/unictype/category-byname: New file.
56181         * modules/unictype/category-none: New file.
56182         * modules/unictype/category-and: New file.
56183         * modules/unictype/category-and-not: New file.
56184         * modules/unictype/category-name: New file.
56185         * modules/unictype/combining-class: New file.
56186         * modules/unictype/category-all: New file.
56187         * modules/unictype/bidicategory-all: New file.
56188         * modules/unictype/bidicategory-byname: New file.
56189         * modules/unictype/bidicategory-name: New file.
56190         * modules/unictype/bidicategory-of: New file.
56191         * modules/unictype/bidicategory-test: New file.
56192         * modules/unictype/decimal-digit: New file.
56193         * modules/unictype/digit: New file.
56194         * modules/unictype/numeric: New file.
56195         * modules/unictype/mirror: New file.
56196         * modules/unictype/property-white-space: New file.
56197         * modules/unictype/property-alphabetic: New file.
56198         * modules/unictype/property-other-alphabetic: New file.
56199         * modules/unictype/property-not-a-character: New file.
56200         * modules/unictype/property-default-ignorable-code-point: New file.
56201         * modules/unictype/property-other-default-ignorable-code-point: New
56202         file.
56203         * modules/unictype/property-deprecated: New file.
56204         * modules/unictype/property-logical-order-exception: New file.
56205         * modules/unictype/property-variation-selector: New file.
56206         * modules/unictype/property-private-use: New file.
56207         * modules/unictype/property-unassigned-code-value: New file.
56208         * modules/unictype/property-uppercase: New file.
56209         * modules/unictype/property-other-uppercase: New file.
56210         * modules/unictype/property-lowercase: New file.
56211         * modules/unictype/property-other-lowercase: New file.
56212         * modules/unictype/property-titlecase: New file.
56213         * modules/unictype/property-soft-dotted: New file.
56214         * modules/unictype/property-id-start: New file.
56215         * modules/unictype/property-other-id-start: New file.
56216         * modules/unictype/property-id-continue: New file.
56217         * modules/unictype/property-other-id-continue: New file.
56218         * modules/unictype/property-xid-start: New file.
56219         * modules/unictype/property-xid-continue: New file.
56220         * modules/unictype/property-pattern-white-space: New file.
56221         * modules/unictype/property-pattern-syntax: New file.
56222         * modules/unictype/property-join-control: New file.
56223         * modules/unictype/property-grapheme-base: New file.
56224         * modules/unictype/property-grapheme-extend: New file.
56225         * modules/unictype/property-other-grapheme-extend: New file.
56226         * modules/unictype/property-grapheme-link: New file.
56227         * modules/unictype/property-bidi-control: New file.
56228         * modules/unictype/property-bidi-left-to-right: New file.
56229         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
56230         * modules/unictype/property-bidi-arabic-right-to-left: New file.
56231         * modules/unictype/property-bidi-european-digit: New file.
56232         * modules/unictype/property-bidi-eur-num-separator: New file.
56233         * modules/unictype/property-bidi-eur-num-terminator: New file.
56234         * modules/unictype/property-bidi-arabic-digit: New file.
56235         * modules/unictype/property-bidi-common-separator: New file.
56236         * modules/unictype/property-bidi-block-separator: New file.
56237         * modules/unictype/property-bidi-segment-separator: New file.
56238         * modules/unictype/property-bidi-whitespace: New file.
56239         * modules/unictype/property-bidi-non-spacing-mark: New file.
56240         * modules/unictype/property-bidi-boundary-neutral: New file.
56241         * modules/unictype/property-bidi-pdf: New file.
56242         * modules/unictype/property-bidi-embedding-or-override: New file.
56243         * modules/unictype/property-bidi-other-neutral: New file.
56244         * modules/unictype/property-hex-digit: New file.
56245         * modules/unictype/property-ascii-hex-digit: New file.
56246         * modules/unictype/property-ideographic: New file.
56247         * modules/unictype/property-unified-ideograph: New file.
56248         * modules/unictype/property-radical: New file.
56249         * modules/unictype/property-ids-binary-operator: New file.
56250         * modules/unictype/property-ids-trinary-operator: New file.
56251         * modules/unictype/property-zero-width: New file.
56252         * modules/unictype/property-space: New file.
56253         * modules/unictype/property-non-break: New file.
56254         * modules/unictype/property-iso-control: New file.
56255         * modules/unictype/property-format-control: New file.
56256         * modules/unictype/property-dash: New file.
56257         * modules/unictype/property-hyphen: New file.
56258         * modules/unictype/property-punctuation: New file.
56259         * modules/unictype/property-line-separator: New file.
56260         * modules/unictype/property-paragraph-separator: New file.
56261         * modules/unictype/property-quotation-mark: New file.
56262         * modules/unictype/property-sentence-terminal: New file.
56263         * modules/unictype/property-terminal-punctuation: New file.
56264         * modules/unictype/property-currency-symbol: New file.
56265         * modules/unictype/property-math: New file.
56266         * modules/unictype/property-other-math: New file.
56267         * modules/unictype/property-paired-punctuation: New file.
56268         * modules/unictype/property-left-of-pair: New file.
56269         * modules/unictype/property-combining: New file.
56270         * modules/unictype/property-composite: New file.
56271         * modules/unictype/property-decimal-digit: New file.
56272         * modules/unictype/property-numeric: New file.
56273         * modules/unictype/property-diacritic: New file.
56274         * modules/unictype/property-extender: New file.
56275         * modules/unictype/property-ignorable-control: New file.
56276         * modules/unictype/property-test: New file.
56277         * modules/unictype/property-byname: New file.
56278         * modules/unictype/property-all: New file.
56279         * modules/unictype/scripts: New file.
56280         * modules/unictype/scripts-all: New file.
56281         * modules/unictype/block-of: New file.
56282         * modules/unictype/block-test: New file.
56283         * modules/unictype/block-list: New file.
56284         * modules/unictype/block-all: New file.
56285         * modules/unictype/syntax-c-whitespace: New file.
56286         * modules/unictype/syntax-java-whitespace: New file.
56287         * modules/unictype/syntax-c-ident: New file.
56288         * modules/unictype/syntax-java-ident: New file.
56289         * modules/unictype/ctype-alnum: New file.
56290         * modules/unictype/ctype-alpha: New file.
56291         * modules/unictype/ctype-cntrl: New file.
56292         * modules/unictype/ctype-digit: New file.
56293         * modules/unictype/ctype-graph: New file.
56294         * modules/unictype/ctype-lower: New file.
56295         * modules/unictype/ctype-print: New file.
56296         * modules/unictype/ctype-punct: New file.
56297         * modules/unictype/ctype-space: New file.
56298         * modules/unictype/ctype-upper: New file.
56299         * modules/unictype/ctype-xdigit: New file.
56300         * modules/unictype/ctype-blank: New file.
56301         * lib/unictype/bidi_byname.c: New file.
56302         * lib/unictype/bidi_name.c: New file.
56303         * lib/unictype/bidi_of.c: New file.
56304         * lib/unictype/bidi_test.c: New file.
56305         * lib/unictype/bitmap.h: New file.
56306         * lib/unictype/block_test.c: New file.
56307         * lib/unictype/blocks.c: New file.
56308         * lib/unictype/categ_C.c: New file.
56309         * lib/unictype/categ_Cc.c: New file.
56310         * lib/unictype/categ_Cf.c: New file.
56311         * lib/unictype/categ_Cn.c: New file.
56312         * lib/unictype/categ_Co.c: New file.
56313         * lib/unictype/categ_Cs.c: New file.
56314         * lib/unictype/categ_L.c: New file.
56315         * lib/unictype/categ_Ll.c: New file.
56316         * lib/unictype/categ_Lm.c: New file.
56317         * lib/unictype/categ_Lo.c: New file.
56318         * lib/unictype/categ_Lt.c: New file.
56319         * lib/unictype/categ_Lu.c: New file.
56320         * lib/unictype/categ_M.c: New file.
56321         * lib/unictype/categ_Mc.c: New file.
56322         * lib/unictype/categ_Me.c: New file.
56323         * lib/unictype/categ_Mn.c: New file.
56324         * lib/unictype/categ_N.c: New file.
56325         * lib/unictype/categ_Nd.c: New file.
56326         * lib/unictype/categ_Nl.c: New file.
56327         * lib/unictype/categ_No.c: New file.
56328         * lib/unictype/categ_P.c: New file.
56329         * lib/unictype/categ_Pc.c: New file.
56330         * lib/unictype/categ_Pd.c: New file.
56331         * lib/unictype/categ_Pe.c: New file.
56332         * lib/unictype/categ_Pf.c: New file.
56333         * lib/unictype/categ_Pi.c: New file.
56334         * lib/unictype/categ_Po.c: New file.
56335         * lib/unictype/categ_Ps.c: New file.
56336         * lib/unictype/categ_S.c: New file.
56337         * lib/unictype/categ_Sc.c: New file.
56338         * lib/unictype/categ_Sk.c: New file.
56339         * lib/unictype/categ_Sm.c: New file.
56340         * lib/unictype/categ_So.c: New file.
56341         * lib/unictype/categ_Z.c: New file.
56342         * lib/unictype/categ_Zl.c: New file.
56343         * lib/unictype/categ_Zp.c: New file.
56344         * lib/unictype/categ_Zs.c: New file.
56345         * lib/unictype/categ_and.c: New file.
56346         * lib/unictype/categ_and_not.c: New file.
56347         * lib/unictype/categ_byname.c: New file.
56348         * lib/unictype/categ_name.c: New file.
56349         * lib/unictype/categ_none.c: New file.
56350         * lib/unictype/categ_of.c: New file.
56351         * lib/unictype/categ_or.c: New file.
56352         * lib/unictype/categ_test.c: New file.
56353         * lib/unictype/combining.c: New file.
56354         * lib/unictype/ctype_alnum.c: New file.
56355         * lib/unictype/ctype_alpha.c: New file.
56356         * lib/unictype/ctype_blank.c: New file.
56357         * lib/unictype/ctype_cntrl.c: New file.
56358         * lib/unictype/ctype_digit.c: New file.
56359         * lib/unictype/ctype_graph.c: New file.
56360         * lib/unictype/ctype_lower.c: New file.
56361         * lib/unictype/ctype_print.c: New file.
56362         * lib/unictype/ctype_punct.c: New file.
56363         * lib/unictype/ctype_space.c: New file.
56364         * lib/unictype/ctype_upper.c: New file.
56365         * lib/unictype/ctype_xdigit.c: New file.
56366         * lib/unictype/decdigit.c: New file.
56367         * lib/unictype/digit.c: New file.
56368         * lib/unictype/identsyntaxmap.h: New file.
56369         * lib/unictype/mirror.c: New file.
56370         * lib/unictype/numeric.c: New file.
56371         * lib/unictype/pr_alphabetic.c: New file.
56372         * lib/unictype/pr_ascii_hex_digit.c: New file.
56373         * lib/unictype/pr_bidi_arabic_digit.c: New file.
56374         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
56375         * lib/unictype/pr_bidi_block_separator.c: New file.
56376         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
56377         * lib/unictype/pr_bidi_common_separator.c: New file.
56378         * lib/unictype/pr_bidi_control.c: New file.
56379         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
56380         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
56381         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
56382         * lib/unictype/pr_bidi_european_digit.c: New file.
56383         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
56384         * lib/unictype/pr_bidi_left_to_right.c: New file.
56385         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
56386         * lib/unictype/pr_bidi_other_neutral.c: New file.
56387         * lib/unictype/pr_bidi_pdf.c: New file.
56388         * lib/unictype/pr_bidi_segment_separator.c: New file.
56389         * lib/unictype/pr_bidi_whitespace.c: New file.
56390         * lib/unictype/pr_byname.c: New file.
56391         * lib/unictype/pr_byname.gperf: New file.
56392         * lib/unictype/pr_combining.c: New file.
56393         * lib/unictype/pr_composite.c: New file.
56394         * lib/unictype/pr_currency_symbol.c: New file.
56395         * lib/unictype/pr_dash.c: New file.
56396         * lib/unictype/pr_decimal_digit.c: New file.
56397         * lib/unictype/pr_default_ignorable_code_point.c: New file.
56398         * lib/unictype/pr_deprecated.c: New file.
56399         * lib/unictype/pr_diacritic.c: New file.
56400         * lib/unictype/pr_extender.c: New file.
56401         * lib/unictype/pr_format_control.c: New file.
56402         * lib/unictype/pr_grapheme_base.c: New file.
56403         * lib/unictype/pr_grapheme_extend.c: New file.
56404         * lib/unictype/pr_grapheme_link.c: New file.
56405         * lib/unictype/pr_hex_digit.c: New file.
56406         * lib/unictype/pr_hyphen.c: New file.
56407         * lib/unictype/pr_id_continue.c: New file.
56408         * lib/unictype/pr_id_start.c: New file.
56409         * lib/unictype/pr_ideographic.c: New file.
56410         * lib/unictype/pr_ids_binary_operator.c: New file.
56411         * lib/unictype/pr_ids_trinary_operator.c: New file.
56412         * lib/unictype/pr_ignorable_control.c: New file.
56413         * lib/unictype/pr_iso_control.c: New file.
56414         * lib/unictype/pr_join_control.c: New file.
56415         * lib/unictype/pr_left_of_pair.c: New file.
56416         * lib/unictype/pr_line_separator.c: New file.
56417         * lib/unictype/pr_logical_order_exception.c: New file.
56418         * lib/unictype/pr_lowercase.c: New file.
56419         * lib/unictype/pr_math.c: New file.
56420         * lib/unictype/pr_non_break.c: New file.
56421         * lib/unictype/pr_not_a_character.c: New file.
56422         * lib/unictype/pr_numeric.c: New file.
56423         * lib/unictype/pr_other_alphabetic.c: New file.
56424         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
56425         * lib/unictype/pr_other_grapheme_extend.c: New file.
56426         * lib/unictype/pr_other_id_continue.c: New file.
56427         * lib/unictype/pr_other_id_start.c: New file.
56428         * lib/unictype/pr_other_lowercase.c: New file.
56429         * lib/unictype/pr_other_math.c: New file.
56430         * lib/unictype/pr_other_uppercase.c: New file.
56431         * lib/unictype/pr_paired_punctuation.c: New file.
56432         * lib/unictype/pr_paragraph_separator.c: New file.
56433         * lib/unictype/pr_pattern_syntax.c: New file.
56434         * lib/unictype/pr_pattern_white_space.c: New file.
56435         * lib/unictype/pr_private_use.c: New file.
56436         * lib/unictype/pr_punctuation.c: New file.
56437         * lib/unictype/pr_quotation_mark.c: New file.
56438         * lib/unictype/pr_radical.c: New file.
56439         * lib/unictype/pr_sentence_terminal.c: New file.
56440         * lib/unictype/pr_soft_dotted.c: New file.
56441         * lib/unictype/pr_space.c: New file.
56442         * lib/unictype/pr_terminal_punctuation.c: New file.
56443         * lib/unictype/pr_test.c: New file.
56444         * lib/unictype/pr_titlecase.c: New file.
56445         * lib/unictype/pr_unassigned_code_value.c: New file.
56446         * lib/unictype/pr_unified_ideograph.c: New file.
56447         * lib/unictype/pr_uppercase.c: New file.
56448         * lib/unictype/pr_variation_selector.c: New file.
56449         * lib/unictype/pr_white_space.c: New file.
56450         * lib/unictype/pr_xid_continue.c: New file.
56451         * lib/unictype/pr_xid_start.c: New file.
56452         * lib/unictype/pr_zero_width.c: New file.
56453         * lib/unictype/scripts.c: New file.
56454         * lib/unictype/sy_c_ident.c: New file.
56455         * lib/unictype/sy_c_whitespace.c: New file.
56456         * lib/unictype/sy_java_ident.c: New file.
56457         * lib/unictype/sy_java_whitespace.c: New file.
56458
56459         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
56460         Unicode 5.0.0.
56461         * lib/unictype/blocks.h: Likewise.
56462         * lib/unictype/categ_C.h: Likewise.
56463         * lib/unictype/categ_Cc.h: Likewise.
56464         * lib/unictype/categ_Cf.h: Likewise.
56465         * lib/unictype/categ_Cn.h: Likewise.
56466         * lib/unictype/categ_Co.h: Likewise.
56467         * lib/unictype/categ_Cs.h: Likewise.
56468         * lib/unictype/categ_L.h: Likewise.
56469         * lib/unictype/categ_Ll.h: Likewise.
56470         * lib/unictype/categ_Lm.h: Likewise.
56471         * lib/unictype/categ_Lo.h: Likewise.
56472         * lib/unictype/categ_Lt.h: Likewise.
56473         * lib/unictype/categ_Lu.h: Likewise.
56474         * lib/unictype/categ_M.h: Likewise.
56475         * lib/unictype/categ_Mc.h: Likewise.
56476         * lib/unictype/categ_Me.h: Likewise.
56477         * lib/unictype/categ_Mn.h: Likewise.
56478         * lib/unictype/categ_N.h: Likewise.
56479         * lib/unictype/categ_Nd.h: Likewise.
56480         * lib/unictype/categ_Nl.h: Likewise.
56481         * lib/unictype/categ_No.h: Likewise.
56482         * lib/unictype/categ_P.h: Likewise.
56483         * lib/unictype/categ_Pc.h: Likewise.
56484         * lib/unictype/categ_Pd.h: Likewise.
56485         * lib/unictype/categ_Pe.h: Likewise.
56486         * lib/unictype/categ_Pf.h: Likewise.
56487         * lib/unictype/categ_Pi.h: Likewise.
56488         * lib/unictype/categ_Po.h: Likewise.
56489         * lib/unictype/categ_Ps.h: Likewise.
56490         * lib/unictype/categ_S.h: Likewise.
56491         * lib/unictype/categ_Sc.h: Likewise.
56492         * lib/unictype/categ_Sk.h: Likewise.
56493         * lib/unictype/categ_Sm.h: Likewise.
56494         * lib/unictype/categ_So.h: Likewise.
56495         * lib/unictype/categ_Z.h: Likewise.
56496         * lib/unictype/categ_Zl.h: Likewise.
56497         * lib/unictype/categ_Zp.h: Likewise.
56498         * lib/unictype/categ_Zs.h: Likewise.
56499         * lib/unictype/categ_of.h: Likewise.
56500         * lib/unictype/combining.h: Likewise.
56501         * lib/unictype/ctype_alnum.h: Likewise.
56502         * lib/unictype/ctype_alpha.h: Likewise.
56503         * lib/unictype/ctype_blank.h: Likewise.
56504         * lib/unictype/ctype_cntrl.h: Likewise.
56505         * lib/unictype/ctype_digit.h: Likewise.
56506         * lib/unictype/ctype_graph.h: Likewise.
56507         * lib/unictype/ctype_lower.h: Likewise.
56508         * lib/unictype/ctype_print.h: Likewise.
56509         * lib/unictype/ctype_punct.h: Likewise.
56510         * lib/unictype/ctype_space.h: Likewise.
56511         * lib/unictype/ctype_upper.h: Likewise.
56512         * lib/unictype/ctype_xdigit.h: Likewise.
56513         * lib/unictype/decdigit.h: Likewise.
56514         * lib/unictype/digit.h: Likewise.
56515         * lib/unictype/mirror.h: Likewise.
56516         * lib/unictype/numeric.h: Likewise.
56517         * lib/unictype/pr_alphabetic.h: Likewise.
56518         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
56519         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
56520         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
56521         * lib/unictype/pr_bidi_block_separator.h: Likewise.
56522         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
56523         * lib/unictype/pr_bidi_common_separator.h: Likewise.
56524         * lib/unictype/pr_bidi_control.h: Likewise.
56525         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
56526         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
56527         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
56528         * lib/unictype/pr_bidi_european_digit.h: Likewise.
56529         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
56530         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
56531         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
56532         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
56533         * lib/unictype/pr_bidi_pdf.h: Likewise.
56534         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
56535         * lib/unictype/pr_bidi_whitespace.h: Likewise.
56536         * lib/unictype/pr_combining.h: Likewise.
56537         * lib/unictype/pr_composite.h: Likewise.
56538         * lib/unictype/pr_currency_symbol.h: Likewise.
56539         * lib/unictype/pr_dash.h: Likewise.
56540         * lib/unictype/pr_decimal_digit.h: Likewise.
56541         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
56542         * lib/unictype/pr_deprecated.h: Likewise.
56543         * lib/unictype/pr_diacritic.h: Likewise.
56544         * lib/unictype/pr_extender.h: Likewise.
56545         * lib/unictype/pr_format_control.h: Likewise.
56546         * lib/unictype/pr_grapheme_base.h: Likewise.
56547         * lib/unictype/pr_grapheme_extend.h: Likewise.
56548         * lib/unictype/pr_grapheme_link.h: Likewise.
56549         * lib/unictype/pr_hex_digit.h: Likewise.
56550         * lib/unictype/pr_hyphen.h: Likewise.
56551         * lib/unictype/pr_id_continue.h: Likewise.
56552         * lib/unictype/pr_id_start.h: Likewise.
56553         * lib/unictype/pr_ideographic.h: Likewise.
56554         * lib/unictype/pr_ids_binary_operator.h: Likewise.
56555         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
56556         * lib/unictype/pr_ignorable_control.h: Likewise.
56557         * lib/unictype/pr_iso_control.h: Likewise.
56558         * lib/unictype/pr_join_control.h: Likewise.
56559         * lib/unictype/pr_left_of_pair.h: Likewise.
56560         * lib/unictype/pr_line_separator.h: Likewise.
56561         * lib/unictype/pr_logical_order_exception.h: Likewise.
56562         * lib/unictype/pr_lowercase.h: Likewise.
56563         * lib/unictype/pr_math.h: Likewise.
56564         * lib/unictype/pr_non_break.h: Likewise.
56565         * lib/unictype/pr_not_a_character.h: Likewise.
56566         * lib/unictype/pr_numeric.h: Likewise.
56567         * lib/unictype/pr_other_alphabetic.h: Likewise.
56568         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
56569         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
56570         * lib/unictype/pr_other_id_continue.h: Likewise.
56571         * lib/unictype/pr_other_id_start.h: Likewise.
56572         * lib/unictype/pr_other_lowercase.h: Likewise.
56573         * lib/unictype/pr_other_math.h: Likewise.
56574         * lib/unictype/pr_other_uppercase.h: Likewise.
56575         * lib/unictype/pr_paired_punctuation.h: Likewise.
56576         * lib/unictype/pr_paragraph_separator.h: Likewise.
56577         * lib/unictype/pr_pattern_syntax.h: Likewise.
56578         * lib/unictype/pr_pattern_white_space.h: Likewise.
56579         * lib/unictype/pr_private_use.h: Likewise.
56580         * lib/unictype/pr_punctuation.h: Likewise.
56581         * lib/unictype/pr_quotation_mark.h: Likewise.
56582         * lib/unictype/pr_radical.h: Likewise.
56583         * lib/unictype/pr_sentence_terminal.h: Likewise.
56584         * lib/unictype/pr_soft_dotted.h: Likewise.
56585         * lib/unictype/pr_space.h: Likewise.
56586         * lib/unictype/pr_terminal_punctuation.h: Likewise.
56587         * lib/unictype/pr_titlecase.h: Likewise.
56588         * lib/unictype/pr_unassigned_code_value.h: Likewise.
56589         * lib/unictype/pr_unified_ideograph.h: Likewise.
56590         * lib/unictype/pr_uppercase.h: Likewise.
56591         * lib/unictype/pr_variation_selector.h: Likewise.
56592         * lib/unictype/pr_white_space.h: Likewise.
56593         * lib/unictype/pr_xid_continue.h: Likewise.
56594         * lib/unictype/pr_xid_start.h: Likewise.
56595         * lib/unictype/pr_zero_width.h: Likewise.
56596         * lib/unictype/scripts.h: Likewise.
56597         * lib/unictype/scripts_byname.gperf: Likewise.
56598         * lib/unictype/sy_c_ident.h: Likewise.
56599         * lib/unictype/sy_c_whitespace.h: Likewise.
56600         * lib/unictype/sy_java_ident.h: Likewise.
56601         * lib/unictype/sy_java_whitespace.h: Likewise.
56602
56603         * lib/unictype/Makefile: New file.
56604         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
56605         glibc.
56606         * lib/unictype/3level.h: New file, copied from glibc.
56607         * lib/unictype/3levelbit.h: New file.
56608
56609 2007-11-11  Bruno Haible  <bruno@clisp.org>
56610
56611         * modules/gperf: New file.
56612         * modules/iconv_open (Depends-on): Add it.
56613         (Makefile.am): Remove the GPERF definition.
56614
56615 2007-11-11  Bruno Haible  <bruno@clisp.org>
56616
56617         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
56618         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
56619
56620 2007-11-11  Bruno Haible  <bruno@clisp.org>
56621
56622         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
56623         (usage): Remove function.
56624
56625 2007-11-11  Bruno Haible  <bruno@clisp.org>
56626
56627         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
56628         gl_FUNC_CEILF_LIBS.
56629         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
56630         gl_FUNC_CEIL_LIBS.
56631         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
56632         gl_FUNC_CEILL_LIBS.
56633         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
56634         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
56635         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
56636
56637 2007-11-11  Bruno Haible  <bruno@clisp.org>
56638
56639         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
56640         roundf were declared but do not exist on functions.
56641         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
56642         roundl were declared but do not exist on functions.
56643         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
56644         HAVE_FLOORL_AND_CEILL, respectively.
56645         Needed for Sun C on Solaris 10.
56646
56647 2007-11-11  Bruno Haible  <bruno@clisp.org>
56648
56649         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
56650         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
56651         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
56652         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
56653         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
56654         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
56655         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
56656         HAVE_DECL_ROUNDF.
56657         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
56658         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
56659         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
56660         of HAVE_DECL_ROUND*.
56661         * modules/math (Makefile.am): Update.
56662
56663 2007-11-10  Bruno Haible  <bruno@clisp.org>
56664
56665         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
56666         ptrdiff_t as m4/intl.m4.
56667
56668 2007-11-10  Jim Meyering  <meyering@redhat.com>
56669
56670         Avoid link failure for the argmatch test.
56671         * tests/test-argmatch.c (usage): Define function to avoid a link
56672         failure: argmatch_die requires a usage function.
56673
56674 2007-11-09  Bruno Haible  <bruno@clisp.org>
56675
56676         * doc/functions/snprintf.texi: Mention BeOS deficiency.
56677         * doc/functions/vsnprintf.texi: Likewise.
56678         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
56679         with a size argument < 2.
56680
56681 2007-11-09  Bruno Haible  <bruno@clisp.org>
56682
56683         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
56684         buffer. Fixes an inefficiency introduced on 2007-11-03.
56685
56686 2007-11-09  Bruno Haible  <bruno@clisp.org>
56687
56688         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
56689         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
56690
56691 2007-11-08  Jim Meyering  <meyering@redhat.com>
56692
56693         Change cache variable name prefix "jm_" to "gl_" everywhere.
56694         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
56695         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
56696         * m4/uptime.m4: s/gl_/jm_/
56697
56698 2007-11-07  Bruno Haible  <bruno@clisp.org>
56699
56700         Update to GNU gettext 0.17.
56701         * m4/intl.m4: Update to GNU gettext 0.17.
56702         * m4/po.m4: Likewise.
56703         * modules/gettext (Files): Remove m4/ulonglong.m4.
56704         (configure.ac): Require gettext infrastructure from version 0.17.
56705
56706 2007-11-06  Bruno Haible  <bruno@clisp.org>
56707
56708         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
56709         symbolic values are not defined in a public header.
56710         * lib/freadable.c (freadable) [QNX]: Likewise.
56711         * lib/freadahead.c (freadahead) [QNX]: Likewise.
56712         * lib/freading.c (freading) [QNX]: Likewise.
56713         * lib/fseterr.c (fseterr) [QNX]: Likewise.
56714         * lib/fwritable.c (fwritable) [QNX]: Likewise.
56715         * lib/fwriting.c (fwriting) [QNX]: Likewise.
56716         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
56717         Reported by Alain Magloire.
56718
56719         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
56720
56721 2007-11-05  Bruno Haible  <bruno@clisp.org>
56722
56723         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
56724         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
56725         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
56726         Reported by Eric Blake.
56727
56728 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56729             Bruno Haible  <bruno@clisp.org>
56730
56731         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
56732         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
56733         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
56734         (malloc): Undefine also before including <stdlib.h>.
56735         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
56736         Needed on OSF/1 4.0.
56737
56738 2007-11-05  Jim Meyering  <meyering@redhat.com>
56739
56740         git-version-gen: sync from coreutils.
56741         * build-aux/git-version-gen: Add comments.
56742         Change the first '-' to '.' in the snapshot version string,
56743         e.g., 6.9-377-08144 -> 6.9.377-08144
56744         Remove first parameter.
56745         Don't declare a version "-dirty" merely because a time
56746         stamp has changed.
56747
56748 2007-11-04  Bruno Haible  <bruno@clisp.org>
56749
56750         * lib/lock.h: Protect all macro definitions containing an 'if'
56751         statement through a "do { ... } while (0)".
56752         * lib/tls.h: Likewise.
56753
56754 2007-11-04  Bruno Haible  <bruno@clisp.org>
56755
56756         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
56757
56758 2007-11-04  Bruno Haible  <bruno@clisp.org>
56759
56760         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
56761         * modules/fprintf-posix (Depends-on): Add nocrash.
56762         * modules/snprintf-posix (Depends-on): Likewise.
56763         * modules/sprintf-posix (Depends-on): Likewise.
56764         * modules/vasnprintf-posix (Depends-on): Likewise.
56765         * modules/vasprintf-posix (Depends-on): Likewise.
56766         * modules/vfprintf-posix (Depends-on): Likewise.
56767         * modules/vsnprintf-posix (Depends-on): Likewise.
56768         * modules/vsprintf-posix (Depends-on): Likewise.
56769         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56770         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56771         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56772         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56773         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56774         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56775         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56776
56777 2007-11-04  Bruno Haible  <bruno@clisp.org>
56778
56779         * modules/nocrash: New file.
56780         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
56781         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
56782
56783 2007-11-04  Bruno Haible  <bruno@clisp.org>
56784
56785         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
56786         precision handling.
56787         * tests/test-vasprintf-posix.c (test_function): Likewise.
56788         * tests/test-snprintf-posix.h (test_function): Likewise.
56789         * tests/test-sprintf-posix.h (test_function): Likewise.
56790
56791         Fix *printf behaviour for large precisions on mingw and BeOS.
56792         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
56793         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
56794         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
56795         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
56796         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56797         gl_PRINTF_PRECISION and test its result. Invoke
56798         gl_PREREQ_VASNPRINTF_PRECISION.
56799         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56800         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56801         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56802         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56803         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56804         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56805         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56806         * doc/functions/fprintf.texi: Update.
56807         * doc/functions/printf.texi: Update.
56808         * doc/functions/snprintf.texi: Update.
56809         * doc/functions/sprintf.texi: Update.
56810         * doc/functions/vfprintf.texi: Update.
56811         * doc/functions/vprintf.texi: Update.
56812         * doc/functions/vsnprintf.texi: Update.
56813         * doc/functions/vsprintf.texi: Update.
56814
56815 2007-11-04  Bruno Haible  <bruno@clisp.org>
56816
56817         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
56818
56819 2007-11-04  Bruno Haible  <bruno@clisp.org>
56820
56821         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
56822         Reported by Sylvain Beucler <beuc@gnu.org>.
56823
56824 2007-11-03  Bruno Haible  <bruno@clisp.org>
56825
56826         * tests/test-fprintf-posix2.sh: New file.
56827         * tests/test-fprintf-posix2.c: New file.
56828         * modules/fprintf-posix-tests (Files): Add them.
56829         (TESTS): Add test-fprintf-posix2.sh.
56830         (configure.ac): Check for getrlimit and setrlimit.
56831         (check_PROGRAMS): Add test-fprintf-posix2.
56832
56833         * tests/test-printf-posix2.sh: New file.
56834         * tests/test-printf-posix2.c: New file.
56835         * modules/printf-posix-tests (Files): Add them.
56836         (TESTS): Add test-printf-posix2.sh.
56837         (configure.ac): Check for getrlimit and setrlimit.
56838         (check_PROGRAMS): Add test-printf-posix2.
56839
56840         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
56841         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
56842         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
56843         (decode_double): New function, copied from decode_long_double.
56844         (scale10_round_decimal_decoded): New function, extracted from
56845         scale10_round_decimal_long_double.
56846         (scale10_round_decimal_long_double): Use it.
56847         (scale10_round_decimal_double): New function.
56848         (floorlog10): New function.
56849         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
56850         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
56851         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
56852         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56853         gl_PRINTF_ENOMEM and test its result. Invoke
56854         gl_PREREQ_VASNPRINTF_ENOMEM.
56855         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56856         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56857         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56858         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56859         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56860         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56861         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56862         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
56863         * modules/snprintf-posix (Depends-on): Likewise.
56864         * modules/sprintf-posix (Depends-on): Likewise.
56865         * modules/vasnprintf-posix (Depends-on): Likewise.
56866         * modules/vasprintf-posix (Depends-on): Likewise.
56867         * modules/vfprintf-posix (Depends-on): Likewise.
56868         * modules/vsnprintf-posix (Depends-on): Likewise.
56869         * modules/vsprintf-posix (Depends-on): Likewise.
56870         * doc/functions/fprintf.texi: Update.
56871         * doc/functions/printf.texi: Update.
56872         * doc/functions/snprintf.texi: Update.
56873         * doc/functions/sprintf.texi: Update.
56874         * doc/functions/vfprintf.texi: Update.
56875         * doc/functions/vprintf.texi: Update.
56876         * doc/functions/vsnprintf.texi: Update.
56877         * doc/functions/vsprintf.texi: Update.
56878
56879 2007-11-03  Bruno Haible  <bruno@clisp.org>
56880
56881         * modules/frexp-nolibm-tests: New file.
56882
56883         * modules/frexp-nolibm: New file.
56884         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
56885
56886 2007-11-03  Bruno Haible  <bruno@clisp.org>
56887
56888         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
56889         value is C99 compliant.
56890         Needed for OSF/1 5.1.
56891
56892 2007-11-03  Bruno Haible  <bruno@clisp.org>
56893
56894         Fix out-of-memory handling of vasnprintf.
56895         * lib/printf-parse.c: Include <errno.h>.
56896         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
56897         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
56898         is already set.
56899
56900 2007-11-02  Eric Blake  <ebb9@byu.net>
56901
56902         Fix tests on cygwin.
56903         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
56904
56905 2007-11-01  Bruno Haible  <bruno@clisp.org>
56906
56907         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
56908         warning.
56909         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
56910         needed for POSIX compatibility.
56911
56912 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
56913
56914         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
56915         for compatibility with GNU.
56916
56917 2007-11-01  Bruno Haible  <bruno@clisp.org>
56918
56919         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
56920         (putenv): Renamed from rpl_putenv. Change argument type from
56921         'const char *' to 'char *'.
56922         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
56923         of defining putenv in config.h, just set REPLACE_PUTENV.
56924         * modules/putenv (Depends-on): Add stdlib.
56925         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56926         (Include): Use <stdlib.h>.
56927         * lib/stdlib.in.h (putenv): New declaration.
56928         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
56929         REPLACE_PUTENV.
56930         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
56931         REPLACE_PUTENV.
56932         Needed for MacOS X 10.5.0.
56933         Reported by Peter O'Gorman <peter@pogma.com>.
56934
56935 2007-11-01  Jim Meyering  <meyering@redhat.com>
56936
56937         Treat an empty date string exactly like "0".
56938         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
56939         if the remaining date string (to be parsed) is empty, use "0".
56940         Reported by Mischa Molhoek and discussed in this thread:
56941         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
56942
56943 2007-10-31  Bruno Haible  <bruno@clisp.org>
56944
56945         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
56946         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
56947         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
56948         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
56949         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
56950         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
56951
56952 2007-10-31  Bruno Haible  <bruno@clisp.org>
56953
56954         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
56955         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
56956         (AC_TYPE_LONG_LONG_INT): Use it.
56957         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
56958         it as well.
56959         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
56960         to m4/longlong.m4.
56961         * modules/stdint (Files): Remove m4/ulonglong.m4.
56962         * modules/strtoull (Files): Use m4/longlong.m4 instead of
56963         m4/ulonglong.m4.
56964         * modules/strtoumax (Files): Likewise.
56965
56966 2007-10-30  Bruno Haible  <bruno@clisp.org>
56967
56968         * modules/xvasprintf-posix: New file.
56969         Suggested by Eric Blake.
56970
56971 2007-10-30  Bruno Haible  <bruno@clisp.org>
56972
56973         * modules/xprintf-posix-tests: New file.
56974         * tests/test-xprintf-posix.sh: New file.
56975         * tests/test-xprintf-posix.c: New file.
56976         * tests/test-xfprintf-posix.c: New file.
56977
56978         * modules/xprintf-posix: New file.
56979
56980 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56981
56982         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
56983         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
56984         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
56985
56986 2007-10-29  Bruno Haible  <bruno@clisp.org>
56987
56988         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
56989         contain the special marker '_cv_'.
56990         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
56991         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
56992         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
56993         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
56994         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
56995         Reported by Ralf Wildenhues.
56996
56997 2007-10-29  Bruno Haible  <bruno@clisp.org>
56998
56999         * gnulib-tool (func_import): When --lgpl is not specified, set
57000         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
57001         GPLv3.
57002         Reported by Simon Josefsson.
57003
57004 2007-10-28  Bruno Haible  <bruno@clisp.org>
57005
57006         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
57007         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
57008         HAVE_DECL_ISFINITE.
57009         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
57010         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
57011         HAVE_DECL_ISFINITE.
57012
57013 2007-10-28  Bruno Haible  <bruno@clisp.org>
57014
57015         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
57016         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
57017
57018 2007-10-28  Bruno Haible  <bruno@clisp.org>
57019
57020         Fix link errors with Sun C 5.0 on Solaris 10.
57021         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
57022         function is declared but not present in the compiler's libm.
57023         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
57024         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
57025         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
57026         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
57027         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
57028         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
57029         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
57030         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
57031         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
57032         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
57033         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
57034         HAVE_DECL_FLOORL.
57035
57036 2007-10-28  Bruno Haible  <bruno@clisp.org>
57037
57038         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
57039         gl_FUNC_FLOORL. Cache the result.
57040         (gl_FUNC_FLOORL): Use it.
57041         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
57042         gl_FUNC_CEILL. Cache the result.
57043         (gl_FUNC_CEILL): Use it.
57044
57045         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
57046         gl_FUNC_FLOOR. Cache the result.
57047         (gl_FUNC_FLOOR): Use it.
57048         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
57049         gl_FUNC_CEIL. Cache the result.
57050         (gl_FUNC_CEIL): Use it.
57051
57052         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
57053         gl_FUNC_FLOORF. Cache the result.
57054         (gl_FUNC_FLOORF): Use it.
57055         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
57056         gl_FUNC_CEILF. Cache the result.
57057         (gl_FUNC_CEILF): Use it.
57058
57059 2007-10-28  Bruno Haible  <bruno@clisp.org>
57060
57061         * gnulib-tool: Allow specifying the LGPL version number through
57062         --lgpl=2 or --lgpl=3.
57063         (func_usage): Document --lgpl with argument.
57064         Handle --lgpl=... arguments.
57065         (func_import): Recognize also gl_LGPL calls with an argument. When
57066         --lgpl=2 is used and the module's license is just LGPL, report an
57067         error. Set sed_transform_lib_file according to the lgpl variable. In
57068         the generated files, use --lgpl or gl_LGPL invocations with argument,
57069         if necessary.
57070         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
57071         an LGPv2+ license.
57072         * doc/gnulib-tool.texi (Modified imports): Update explanation of
57073         gl_LGPL macro.
57074
57075 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57076             Bruno Haible  <bruno@clisp.org>
57077
57078         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
57079         (u16_uctomb_aux): Likewise.
57080         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
57081         !HAVE_INLINE.
57082         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
57083
57084 2007-10-28  Bruno Haible  <bruno@clisp.org>
57085
57086         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
57087         Invoke AM_GETTEXT_OPTION if it exists.
57088         * modules/vasprintf: Likewise.
57089         * modules/verror: Likewise.
57090         * modules/xprintf: Likewise.
57091         * modules/xvasprintf: Likewise.
57092
57093 2007-10-27  Ben Pfaff  <blp@gnu.org>
57094
57095         * lib/math.in.h: Define isfinite macro and prototypes for
57096         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
57097         implementations.
57098         * m4/math_h.m4: New substitutions for isfinite module.
57099         * lib/isfinite.c: New file.
57100         * m4/isfinite.m4: New file.
57101         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
57102         * modules/isfinite: New file.
57103         * modules/isfinite-tests: New file.
57104         * tests/tests-isfinite.c: New file.
57105         * doc/functions/isfinite.texi: Mention isfinite module.
57106         * MODULES.html.sh: Mention new module.
57107
57108 2007-10-27  Ben Pfaff  <blp@gnu.org>
57109
57110         Ralf Wildenhues reported that Tru64 4.0D declares the round
57111         functions but does not have definitions.
57112         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
57113         cannot be found in any library, set the output variable to
57114         "missing" instead of "".
57115         * m4/round.m4: Also use our substitute if we cannot find round in
57116         any library, even if it is declared.
57117         * m4/roundf.m4: Likewise for roundf.
57118         * m4/roundl.m4: Likewise for roundl.
57119         * lib/math.in.h: Undefine roundf, round, roundl before defining
57120         their replacements, to allow for hypothetical systems where these
57121         may be defined as macros but not available in libraries.
57122
57123 2007-10-27  Bruno Haible  <bruno@clisp.org>
57124
57125         * doc/gnulib.texi: Invoke @firstparagraphindent.
57126         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
57127         changes in gnulib.
57128         (Source changes): New section.
57129
57130 2007-10-26  Bruno Haible  <bruno@clisp.org>
57131
57132         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
57133         borrowed from autoconf.
57134
57135 2007-10-26  Bruno Haible  <bruno@clisp.org>
57136
57137         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
57138         strerror returned the empty string. Needed on HP-UX 11.00.
57139
57140 2007-10-24  Micah Cowan  <micah@cowan.name>
57141
57142         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
57143         * build-aux/bootstrap: Remove support for now-unnecessary option,
57144         --cvs-user, and envvars CVS_USER, CVS_RSH.
57145
57146 2007-10-24  Jim Meyering  <meyering@redhat.com>
57147
57148         Avoid diagnostics from sha1sum when there is no cached checksum.
57149         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
57150         if the po.s1 file hasn't been created yet.
57151
57152         * build-aux/bootstrap: Sync from coreutils:
57153         2007-10-24  Jim Meyering  <meyering@redhat.com>
57154         Get gnulib from the git repository, not from an obsolete cvs one.
57155         * build-aux/bootstrap: Suggestion from Micah Cowan.
57156         2007-10-04  Jim Meyering  <jim@meyering.net>
57157         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
57158         (update_po_files): Work also when there are no .po files in po/.
57159
57160 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57161
57162         * README: Append ".git" to git and cg examples.
57163         Problem reported by Benoit Sigoure.
57164
57165 2007-10-23  Micah Cowan  <micah@cowan.name>
57166
57167         * users.txt: Add wget.
57168
57169 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57170
57171         Fix linking of some unistdio tests on FreeBSD.
57172         * modules/unistdio/u16-vsnprintf-tests
57173         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
57174         * modules/unistdio/u16-vsprintf-tests
57175         (test_u16_vsnprintf1_LDADD): Likewise.
57176         * modules/unistdio/u32-vsnprintf-tests
57177         (test_u32_vsnprintf1_LDADD): Likewise.
57178         * modules/unistdio/u32-vsprintf-tests
57179         (test_u32_vsprintf1_LDADD): Likewise.
57180         * modules/unistdio/u8-vsnprintf-tests
57181         (test_u8_vsnprintf1_LDADD): Likewise.
57182         * modules/unistdio/u8-vsprintf-tests
57183         (test_u8_vsprintf1_LDADD): Likewise.
57184         * modules/unistdio/ulc-vsnprintf-tests
57185         (test_ulc_vsnprintf1_LDADD): Likewise.
57186         * modules/unistdio/ulc-vsprintf-tests
57187         (test_ulc_vsprintf1_LDADD): Likewise.
57188
57189         Fix linking of some uniconv tests on FreeBSD.
57190         * modules/uniconv/u16-conv-from-enc-tests
57191         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
57192         * modules/uniconv/u16-conv-to-enc-tests
57193         (test_u16_conv_to_enc_LDADD): Likewise.
57194         * modules/uniconv/u16-strconv-from-enc-tests
57195         (test_u16_strconv_from_enc_LDADD): Likewise.
57196         * modules/uniconv/u16-strconv-to-enc-tests
57197         (test_u16_strconv_to_enc_LDADD): Likewise.
57198         * modules/uniconv/u32-conv-from-enc-tests
57199         (test_u32_conv_from_enc_LDADD): Likewise.
57200         * modules/uniconv/u32-conv-to-enc-tests
57201         (test_u32_conv_to_enc_LDADD): Likewise.
57202         * modules/uniconv/u32-strconv-from-enc-tests
57203         (test_u32_strconv_from_enc_LDADD): Likewise.
57204         * modules/uniconv/u32-strconv-to-enc-tests
57205         (test_u32_strconv_to_enc_LDADD): Likewise.
57206         * modules/uniconv/u8-conv-from-enc-tests
57207         (test_u8_conv_from_enc_LDADD): Likewise.
57208         * modules/uniconv/u8-conv-to-enc-tests
57209         (test_u8_conv_to_enc_LDADD): Likewise.
57210         * modules/uniconv/u8-strconv-from-enc-tests
57211         (test_u8_strconv_from_enc_LDADD): Likewise.
57212         * modules/uniconv/u8-strconv-to-enc-tests
57213         (test_u8_strconv_to_enc_LDADD): Likewise.
57214
57215 2007-10-22  Bruno Haible  <bruno@clisp.org>
57216
57217         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
57218         size.
57219
57220 2007-10-22  Eric Blake  <ebb9@byu.net>
57221
57222         Tweak x*printf documentation.
57223         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
57224         variable name and comments.
57225         Suggested by Bruno Haible.
57226
57227 2007-10-22  Bruno Haible  <bruno@clisp.org>
57228
57229         * lib/acl.c (copy_acl): Fix file name in comment.
57230
57231 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57232
57233         Fix Tru64 problem with stdbool.h.
57234         * lib/stdbool.in.h (false, true):
57235         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
57236         Don't declare as an enum in this situation; it runs afoul of Tru64.
57237         Problem reported by Steven M. Schweda in
57238         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
57239
57240 2007-10-22  Eric Blake  <ebb9@byu.net>
57241
57242         Also wrap vf?printf.
57243         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
57244         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
57245         (xvprintf, xvfprintf): New functions.
57246
57247 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57248
57249         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
57250         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
57251
57252         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
57253         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
57254
57255 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57256
57257         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
57258         by Bruno Haible.
57259
57260 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57261
57262         * lib/getloadavg.c
57263         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
57264         Undef `sys' after including sys/table.h, for Tru64 4.0D.
57265
57266         * tests/test-i-ring.c: Work for C89.
57267
57268 2007-10-22  Bruno Haible  <bruno@clisp.org>
57269
57270         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
57271         -1u, in preprocessor expression, so that we don't test for the bug
57272         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
57273         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
57274
57275 2007-10-22  Eric Blake  <ebb9@byu.net>
57276
57277         * tests/test-yesno.sh: Silence stderr during test.
57278
57279 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57280
57281         * modules/crypto/gc-camellia: New file.
57282
57283         * m4/gc-camellia.m4: New file.
57284
57285         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
57286
57287         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
57288
57289 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57290
57291         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
57292         --help to stdout.  Reported by sms@antinode.org (Steven
57293         M. Schweda).
57294
57295 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57296
57297         * users.txt: Fix link to libksba.
57298
57299 2007-10-21  Ben Pfaff  <blp@gnu.org>
57300
57301         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
57302         round.c roundf implementation that depends on floorf and ceilf to
57303         be tested unconditionally.
57304
57305 2007-10-21  Ben Pfaff  <blp@gnu.org>
57306
57307         * m4/check-libm-func.m4: Removed.
57308         * m4/check-math-lib.m4: New file.
57309         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
57310         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
57311         definition and lack of AC_LIBOBJ([roundf]).
57312         * m4/roundl.m4: Ditto, and similarly for roundl.
57313         * modules/round: Reference new m4 file.
57314         * modules/roundf: Ditto.
57315         * modules/roundl: Ditto.
57316         * tests/test-round2.c (main): Use ROUND instead of round.
57317         Bug report from Bruno Haible.
57318
57319 2007-10-21  Bruno Haible  <bruno@clisp.org>
57320
57321         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
57322         context.
57323
57324 2007-10-21  Bruno Haible  <bruno@clisp.org>
57325
57326         * tests/test-wcwidth.c (main): Allow negative result for some control
57327         characters.
57328
57329         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
57330         Needed on OSF/1 5.1.
57331
57332 2007-10-21  Bruno Haible  <bruno@clisp.org>
57333
57334         * tests/test-floorf1.c: Include isnanf.h.
57335         (main): Use isnanf() instead of isnan().
57336         * tests/test-ceilf1.c: Include isnanf.h.
57337         (main): Use isnanf() instead of isnan().
57338         * tests/test-truncf1.c: Include isnanf.h.
57339         (main): Use isnanf() instead of isnan().
57340         * tests/test-roundf1.c: Include isnanf.h.
57341         (main): Use isnanf() instead of isnan().
57342
57343 2007-10-21  Eric Blake  <ebb9@byu.net>
57344
57345         * users.txt: Update URL for m4.
57346
57347 2007-10-21  Bruno Haible  <bruno@clisp.org>
57348
57349         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
57350
57351 2007-10-21  Bruno Haible  <bruno@clisp.org>
57352
57353         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
57354         Git's management files if the CVS files are not present.
57355
57356 2007-10-20  Bruno Haible  <bruno@clisp.org>
57357
57358         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
57359         gcc-3.4.x.
57360
57361 2007-10-20  Ben Pfaff  <blp@gnu.org>
57362
57363         * lib/math.in.h: Declare round, roundf, roundl if we are providing
57364         implementations.
57365         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
57366         * lib/round.c: New file.
57367         * lib/roundf.c: New file.
57368         * lib/roundl.c: New file.
57369         * m4/round.m4: New file.
57370         * m4/roundf.m4: New file.
57371         * m4/roundl.m4: New file.
57372         * m4/check-libm-func-m4: New file.
57373         * modules/math: Replace round, roundf, roundl related @VARS@ in
57374         math.in.h.
57375         * modules/round: New file.
57376         * modules/round-tests: New file.
57377         * modules/roundf: New file.
57378         * modules/roundf-tests: New file.
57379         * modules/roundl: New file.
57380         * modules/roundl-tests: New file.
57381         * tests/test-round1.c: New file.
57382         * tests/test-round2.c: New file.
57383         * tests/test-roundf1.c: New file.
57384         * tests/test-roundf2.c: New file.
57385         * tests/test-roundl.c: New file.
57386         * doc/functions/round.texi: Mention round module.
57387         * doc/functions/roundf.texi: Mention roundf module.
57388         * doc/functions/roundl.texi: Mention roundl module.
57389         * MODULES.html.sh: Mention new modules.
57390         Thanks to Bruno Haible for suggestions.
57391
57392 2007-10-20  Jim Meyering  <meyering@redhat.com>
57393
57394         * lib/xprintf.c: Include <config.h> unconditionally.
57395
57396         Change xprintf's license to GPL.
57397         * modules/xprintf (License): s/LGPL/GPL/, since this module
57398         depends on modules (exit and exitfail) which are GPL.
57399         Suggestion from Bruno Haible.
57400
57401         xprintf fixes.
57402         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
57403         Use a clearer diagnostic.
57404         Patch from Bruno Haible.
57405
57406 2007-10-20  Bruno Haible  <bruno@clisp.org>
57407
57408         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
57409         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
57410         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57411
57412 2007-10-20  Bruno Haible  <bruno@clisp.org>
57413
57414         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
57415         precision in the comparison result > x - 1 or similar.
57416         * tests/test-ceilf2.c (correct_result_p): Likewise.
57417         * tests/test-truncf2.c (correct_result_p): Likewise.
57418         * tests/test-trunc2.c (correct_result_p): Likewise.
57419         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57420
57421 2007-10-20  Bruno Haible  <bruno@clisp.org>
57422
57423         * modules/ceil: New file.
57424         * m4/ceil.m4: New file.
57425         * doc/functions/ceil.texi: Mention the 'ceil' module.
57426
57427 2007-10-20  Bruno Haible  <bruno@clisp.org>
57428
57429         * modules/floor: New file.
57430         * m4/floor.m4: New file.
57431         * doc/functions/floor.texi: Mention the 'floor' module.
57432
57433 2007-10-20  Bruno Haible  <bruno@clisp.org>
57434
57435         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
57436         of %a.
57437         * modules/floorf-tests (Depends-on): Likewise.
57438         * modules/truncf-tests (Depends-on): Likewise.
57439         * modules/trunc-tests (Depends-on): Likewise.
57440         Reported by Ben Pfaff.
57441
57442 2007-10-19  Jim Meyering  <meyering@redhat.com>
57443
57444         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
57445         Don't bother testing specific errno values.  Just test ferror.
57446
57447         New module: xprintf
57448         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
57449
57450 2007-10-19  Bruno Haible  <bruno@clisp.org>
57451
57452         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
57453         syntax.
57454         * modules/javaexec (Makefile.am): Likewise.
57455         * modules/relocatable-prog (Makefile.am): Likewise.
57456         Suggested by Jim Meyering.
57457
57458 2007-10-18  Bruno Haible  <bruno@clisp.org>
57459
57460         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
57461         Reported by Jim Meyering.
57462
57463 2007-10-18  Eric Blake  <ebb9@byu.net>
57464
57465         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
57466
57467 2007-10-18  Bruno Haible  <bruno@clisp.org>
57468
57469         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
57470         the format string into writable memory. Needed in Fortify conditions.
57471
57472 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
57473             Bruno Haible  <bruno@clisp.org>
57474
57475         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
57476         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
57477         * modules/trim (Depends-on): Add mbchar.
57478         (configure.ac): Add gl_FUNC_MBRTOWC.
57479         (Makefile.am): Augment lib_SOURCES.
57480
57481 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
57482
57483         Modify glob.c to use fstatat and dirfd, to simplify it.
57484         Suggested by Eric Blake.
57485         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
57486         Don't include <stdbool.h>; not used.
57487         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
57488         (link_exists_p): Simplify implementation, since we can now assume
57489         dirfd and fstatat.
57490         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
57491
57492 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57493
57494         * gnulib-tool (func_get_dependencies): Fix sed script to
57495         match only tests.
57496
57497 2007-10-17  Bruno Haible  <bruno@clisp.org>
57498
57499         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
57500         allow locale names without encoding suffix.
57501         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
57502         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
57503
57504 2007-10-16  Bruno Haible  <bruno@clisp.org>
57505
57506         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
57507         * lib/getgroups.c (getgroups): Likewise.
57508         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
57509
57510 2007-10-16  Bruno Haible  <bruno@clisp.org>
57511
57512         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
57513         * modules/malloc-posix (License): Likewise.
57514         * modules/realloc-posix (License): Likewise.
57515         * modules/calloc-posix (License): Likewise.
57516         * modules/intprops (License): Change from GPL to LGPL, with
57517         Paul Eggert's approval.
57518
57519 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57520
57521         Merge glibc changes into lib/glob.c.
57522
57523         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
57524         2007-10-15 04:59:03 UTC.  Here are the changes:
57525
57526         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
57527
57528         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
57529
57530         * lib/glob.c: Add some branch prediction throughout.
57531
57532         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
57533
57534         [BZ #5103]
57535         * lib/glob.c (glob): Recognize patterns starting \/.
57536
57537         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
57538
57539         [BZ #3996]
57540         * lib/glob.c (attribute_hidden): Define if not defined.
57541         (glob): Unescape dirname, filename or username when needed and not
57542         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
57543         is NULL.  Handle unescaped [ in pattern without closing ].
57544         Don't pass GLOB_CHECK down to recursive glob for directories.
57545         (__glob_pattern_type): New function.
57546         (__glob_pattern_p): Implement using __glob_pattern_type.
57547         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
57548         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
57549         Remove unreachable code.
57550
57551         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
57552
57553         * lib/glob.c (glob_in_dir): Add some comments and asserts to
57554         explain why there are no leaks.
57555
57556         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
57557
57558         [BZ #3253]
57559         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
57560         time, rather allocate increasingly bigger arrays of pointers, if
57561         possible with alloca, if too large with malloc.
57562
57563 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57564
57565         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
57566         Problem reported by H.Merijn Brand in
57567         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
57568         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
57569         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
57570
57571 2007-10-15  Bruno Haible  <bruno@clisp.org>
57572
57573         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
57574         with explicit rpl_ prefix.
57575         * lib/fopen.c (fopen): Likewise.
57576         * lib/freopen.c (freopen): Likewise.
57577         * lib/iconv.c (iconv): Likewise.
57578         * lib/iconv_close.c (iconv_close): Likewise.
57579
57580 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57581
57582         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
57583
57584 2007-10-15  Bruno Haible  <bruno@clisp.org>
57585
57586         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
57587         <stddef.h> instead of <stdlib.h> since we only need NULL.
57588         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57589
57590 2007-10-15  Bruno Haible  <bruno@clisp.org>
57591
57592         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
57593         Replace paragraph talking about LIBOBJS.
57594         Reported by Colin Watson <cjwatson@debian.org>.
57595
57596 2007-10-15  Bruno Haible  <bruno@clisp.org>
57597
57598         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
57599         <stdlib.h> before using NULL.
57600
57601 2007-10-15  Simon Josefsson  <simon@josefsson.org>
57602
57603         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
57604         Reported by Albert Chin <china@thewrittenword.com>.
57605
57606 2007-10-14  Bruno Haible  <bruno@clisp.org>
57607
57608         * modules/iconv_open-utf-tests: New file.
57609         * tests/test-iconv-utf.c: New file.
57610
57611         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
57612         * modules/iconv_open-utf: New file.
57613         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
57614         (iconv, iconv_close): New declarations.
57615         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
57616         be defined.
57617         (iconv_open): Add special handling of conversion between UTF-8 and
57618         UTF-{16,32}{BE,LE}.
57619         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
57620         * lib/iconv_close.c: New file.
57621         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
57622         gl_FUNC_ICONV_OPEN.
57623         (gl_FUNC_ICONV_OPEN): Use it.
57624         (gl_FUNC_ICONV_OPEN_UTF): New macro.
57625         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
57626         and REPLACE_ICONV_UTF.
57627         * modules/iconv_open (Depends-on): Add c-strcase.
57628         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
57629         ICONV_CONST.
57630         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
57631
57632 2007-10-13  Albert Chin  <china@thewrittenword.com>
57633             Bruno Haible  <bruno@clisp.org>
57634
57635         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
57636         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
57637
57638 2007-10-13  Bruno Haible  <bruno@clisp.org>
57639
57640         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
57641         defined, use the ISO C99 inline semantics.
57642         * lib/argp.h (ARGP_EI): Likewise.
57643
57644 2007-10-13  Bruno Haible  <bruno@clisp.org>
57645
57646         Handle 'inline' change in gcc 4.3.0.
57647         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
57648         argp_fmtstream_write, argp_fmtstream_set_lmargin,
57649         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
57650         argp_fmtstream_point): Disable 'extern' declaration if the function
57651         definition is going to be provided inline.
57652         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
57653         semantics, not the ISO C99 inline semantics.
57654         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
57655         'extern' declaration if the function definition is going to be provided
57656         inline.
57657         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
57658         the GNU C inline semantics, not the ISO C99 inline semantics. With
57659         GCC 4.2, avoid a warning.
57660
57661 2007-10-13  Bruno Haible  <bruno@clisp.org>
57662
57663         * lib/freading.h (freading): Enable the use of __freading for
57664         glibc >= 2.7.
57665         * lib/freading.c (freading): Likewise.
57666
57667 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
57668
57669         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
57670         "warning: C99 inline functions are not supported; using GNU89".
57671
57672 2007-10-12  Bruno Haible  <bruno@clisp.org>
57673
57674         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
57675         of 2.
57676         * tests/test-ceilf2.c: New file.
57677         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
57678
57679         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
57680         * modules/ceilf-tests: Update.
57681
57682 2007-10-12  Bruno Haible  <bruno@clisp.org>
57683
57684         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
57685         of 2.
57686         * tests/test-floorf2.c: New file.
57687         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
57688
57689         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
57690         * modules/floorf-tests: Update.
57691
57692 2007-10-12  Bruno Haible  <bruno@clisp.org>
57693
57694         * tests/test-trunc2.c: New file.
57695         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
57696
57697         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
57698         * modules/trunc-tests: Update.
57699
57700 2007-10-12  Bruno Haible  <bruno@clisp.org>
57701
57702         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
57703         of 2.
57704         * tests/test-truncf2.c: New file.
57705         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
57706
57707         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
57708         * modules/truncf-tests: Update.
57709
57710 2007-10-11  Eric Blake  <ebb9@byu.net>
57711
57712         Don't claim strerror is broken on Interix.
57713         * doc/functions/strerror.texi (strerror): Known broken systems are
57714         now Solaris 8, and not Interix.
57715         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
57716         Interix on cross-compile.
57717         Reported by Martin Koeppe in
57718         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
57719
57720 2007-10-11  Bruno Haible  <bruno@clisp.org>
57721
57722         * modules/i-ring-tests: New file.
57723         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
57724         instead of assert.
57725
57726 2007-10-11  Bruno Haible  <bruno@clisp.org>
57727
57728         * modules/filenamecat-tests: New file.
57729         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
57730         * lib/filenamecat.c: Remove test code.
57731
57732 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
57733
57734         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
57735
57736         * lib/strerror.c: Include <string.h> always, to test interface,
57737         and to remove the need for the dummy.
57738         Include intprops.h to compute width instead of doing it ourselves
57739         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
57740         (strerror): Define it to return NULL if there's no system strerror.
57741         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
57742         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
57743         ancient pre-strerror Unix systems well any more.  Saying "unknown
57744         system error" is enough.
57745         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
57746         simpler strerror.c implementation.
57747         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
57748         Simplify the tests to reflect the simpler strerror implementation.
57749         * modules/strerror (Depends-on): Add intprops.
57750
57751 2007-10-09  Eric Blake  <ebb9@byu.net>
57752
57753         Silence test-fpending.
57754         * modules/fpending-tests (Files): Add wrapper script.
57755         * tests/test-fpending.sh: New file.
57756
57757 2007-10-09  Bruno Haible  <bruno@clisp.org>
57758
57759         * MODULES.html.sh (func_module): Don't create a hyperlink for
57760         function names like 'printf_frexp'.
57761         (Misc): Add crc, memxor.
57762         (Characteristics of floating types): New section.
57763         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
57764         isnanf-nolibm, signbit, trunc, truncf, truncl.
57765         (Enhancements for ISO C 99 functions): New subsection Input/output.
57766         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
57767         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
57768         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
57769         (Compatibility checks for POSIX:2001 functions): Add clock-time.
57770         (Enhancements for POSIX:2001 functions): Add chdir-long.
57771         (File system functions): Add areadlink, chdir-safer, read-file.
57772         Remove cycle-check.
57773         (File system as inode set): New section.
57774         (Date and time): Add gethrxtime.
57775         (Multithreading): Add openmp.
57776         (Internationalization functions): Add localename.
57777         (Unicode string functions): Add unistr/u*-mbsnlen.
57778         (Support for maintaining and releasing projects): Add git-version-gen.
57779         (Lone files): Remove directories.
57780
57781 2007-10-08  Ben Pfaff  <blp@gnu.org>
57782
57783         * lib/xmalloca.h: Fix typo in comment.
57784
57785 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
57786
57787         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
57788         when avoiding problems with integer overflow.  Use a portable test
57789         instead.
57790
57791 2007-10-08  Simon Josefsson  <simon@josefsson.org>
57792
57793         * modules/dummy (License): Change to LGPLv2+.
57794         * modules/float (License): Likewise
57795         * modules/realloc (License): Likewise
57796         * modules/stdlib (License): Likewise
57797
57798 2007-10-07  Bruno Haible  <bruno@clisp.org>
57799
57800         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
57801         * floor.c (TWO_MANT_DIG): Likewise.
57802         * ceil.c (TWO_MANT_DIG): Likewise.
57803         Reported by Ben Pfaff.
57804
57805 2007-10-07  Bruno Haible  <bruno@clisp.org>
57806
57807         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
57808         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
57809         * lib/frexp.c (FUNC): Likewise.
57810         * lib/printf-frexp.h (printf_frexp): Likewise.
57811         * lib/printf-frexpl.h (printf_frexpl): Likewise.
57812         * lib/printf-frexp.c (FUNC): Likewise.
57813         Suggested by Jim Meyering.
57814
57815 2007-10-07  Jim Meyering  <meyering@redhat.com>
57816
57817         Make xnanosleep's integer overflow test more robust.
57818         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
57819         so that gcc-4.3.0 doesn't optimize away this test for overflow.
57820
57821 2007-10-07  Bruno Haible  <bruno@clisp.org>
57822
57823         * NEWS: Mention the license change.
57824
57825         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
57826         abbreviations in the modules files.
57827
57828         Change copyright notice from GPLv2+ to GPLv3+.
57829         * README: Change copyright notice.
57830         * MODULES.html.sh: Likewise.
57831         * build-aux/bootstrap.conf: Likewise.
57832         * build-aux/config.libpath: Likewise.
57833         * build-aux/csharpcomp.sh.in: Likewise.
57834         * build-aux/csharpexec.sh.in: Likewise.
57835         * build-aux/install-reloc: Likewise.
57836         * build-aux/javacomp.sh.in: Likewise.
57837         * build-aux/javaexec.sh.in: Likewise.
57838         * build-aux/ldd.sh.in: Likewise.
57839         * build-aux/reloc-ldflags: Likewise.
57840         * build-aux/relocatable.sh.in: Likewise.
57841         * build-aux/x-to-1.in: Likewise.
57842         * check-module: Likewise.
57843         * config/srclistvars.sh: Likewise.
57844         * gnulib-tool: Likewise.
57845         * lib/acl-internal.h: Likewise.
57846         * lib/acl.c: Likewise.
57847         * lib/acl.h: Likewise.
57848         * lib/acl_entries.c: Likewise.
57849         * lib/areadlink-with-size.c: Likewise.
57850         * lib/areadlink.c: Likewise.
57851         * lib/areadlink.h: Likewise.
57852         * lib/argmatch.c: Likewise.
57853         * lib/argmatch.h: Likewise.
57854         * lib/argp-ba.c: Likewise.
57855         * lib/argp-eexst.c: Likewise.
57856         * lib/argp-fmtstream.c: Likewise.
57857         * lib/argp-fmtstream.h: Likewise.
57858         * lib/argp-fs-xinl.c: Likewise.
57859         * lib/argp-help.c: Likewise.
57860         * lib/argp-namefrob.h: Likewise.
57861         * lib/argp-parse.c: Likewise.
57862         * lib/argp-pin.c: Likewise.
57863         * lib/argp-pv.c: Likewise.
57864         * lib/argp-pvh.c: Likewise.
57865         * lib/argp-xinl.c: Likewise.
57866         * lib/argp.h: Likewise.
57867         * lib/at-func.c: Likewise.
57868         * lib/atanl.c: Likewise.
57869         * lib/backupfile.c: Likewise.
57870         * lib/backupfile.h: Likewise.
57871         * lib/basename.c: Likewise.
57872         * lib/binary-io.h: Likewise.
57873         * lib/byteswap.in.h: Likewise.
57874         * lib/c-stack.c: Likewise.
57875         * lib/c-stack.h: Likewise.
57876         * lib/c-strcasestr.c: Likewise.
57877         * lib/c-strcasestr.h: Likewise.
57878         * lib/c-strstr.c: Likewise.
57879         * lib/c-strstr.h: Likewise.
57880         * lib/c-strtod.c: Likewise.
57881         * lib/calloc.c: Likewise.
57882         * lib/canon-host.c: Likewise.
57883         * lib/canon-host.h: Likewise.
57884         * lib/canonicalize-lgpl.c: Likewise.
57885         * lib/canonicalize.c: Likewise.
57886         * lib/canonicalize.h: Likewise.
57887         * lib/ceil.c: Likewise.
57888         * lib/ceilf.c: Likewise.
57889         * lib/ceill.c: Likewise.
57890         * lib/chdir-long.c: Likewise.
57891         * lib/chdir-long.h: Likewise.
57892         * lib/chdir-safer.c: Likewise.
57893         * lib/chdir-safer.h: Likewise.
57894         * lib/chown.c: Likewise.
57895         * lib/classpath.c: Likewise.
57896         * lib/classpath.h: Likewise.
57897         * lib/clean-temp.c: Likewise.
57898         * lib/clean-temp.h: Likewise.
57899         * lib/cloexec.c: Likewise.
57900         * lib/close-stream.c: Likewise.
57901         * lib/closein.c: Likewise.
57902         * lib/closein.h: Likewise.
57903         * lib/closeout.c: Likewise.
57904         * lib/closeout.h: Likewise.
57905         * lib/concat-filename.c: Likewise.
57906         * lib/copy-file.c: Likewise.
57907         * lib/copy-file.h: Likewise.
57908         * lib/count-one-bits.h: Likewise.
57909         * lib/crc.c: Likewise.
57910         * lib/crc.h: Likewise.
57911         * lib/creat-safer.c: Likewise.
57912         * lib/csharpcomp.c: Likewise.
57913         * lib/csharpcomp.h: Likewise.
57914         * lib/csharpexec.c: Likewise.
57915         * lib/csharpexec.h: Likewise.
57916         * lib/cycle-check.c: Likewise.
57917         * lib/cycle-check.h: Likewise.
57918         * lib/diacrit.c: Likewise.
57919         * lib/diacrit.h: Likewise.
57920         * lib/diffseq.h: Likewise.
57921         * lib/dirchownmod.c: Likewise.
57922         * lib/dirent.in.h: Likewise.
57923         * lib/dirfd.c: Likewise.
57924         * lib/dirfd.h: Likewise.
57925         * lib/dirname.c: Likewise.
57926         * lib/dirname.h: Likewise.
57927         * lib/dummy.c: Likewise.
57928         * lib/dup-safer.c: Likewise.
57929         * lib/dup2.c: Likewise.
57930         * lib/eealloc.h: Likewise.
57931         * lib/error.c: Likewise.
57932         * lib/error.h: Likewise.
57933         * lib/euidaccess.c: Likewise.
57934         * lib/exclude.c: Likewise.
57935         * lib/exclude.h: Likewise.
57936         * lib/execute.c: Likewise.
57937         * lib/execute.h: Likewise.
57938         * lib/exitfail.c: Likewise.
57939         * lib/exitfail.h: Likewise.
57940         * lib/expl.c: Likewise.
57941         * lib/fatal-signal.c: Likewise.
57942         * lib/fatal-signal.h: Likewise.
57943         * lib/fbufmode.c: Likewise.
57944         * lib/fbufmode.h: Likewise.
57945         * lib/fchdir.c: Likewise.
57946         * lib/fchmodat.c: Likewise.
57947         * lib/fchownat.c: Likewise.
57948         * lib/fcntl--.h: Likewise.
57949         * lib/fcntl-safer.h: Likewise.
57950         * lib/fcntl.in.h: Likewise.
57951         * lib/fd-safer.c: Likewise.
57952         * lib/fflush.c: Likewise.
57953         * lib/file-has-acl.c: Likewise.
57954         * lib/file-set.c: Likewise.
57955         * lib/file-type.c: Likewise.
57956         * lib/file-type.h: Likewise.
57957         * lib/fileblocks.c: Likewise.
57958         * lib/filemode.c: Likewise.
57959         * lib/filemode.h: Likewise.
57960         * lib/filename.h: Likewise.
57961         * lib/filenamecat.c: Likewise.
57962         * lib/filenamecat.h: Likewise.
57963         * lib/findprog.c: Likewise.
57964         * lib/findprog.h: Likewise.
57965         * lib/float.in.h: Likewise.
57966         * lib/floor.c: Likewise.
57967         * lib/floorf.c: Likewise.
57968         * lib/floorl.c: Likewise.
57969         * lib/fopen-safer.c: Likewise.
57970         * lib/fopen.c: Likewise.
57971         * lib/fpending.c: Likewise.
57972         * lib/fpending.h: Likewise.
57973         * lib/fprintf.c: Likewise.
57974         * lib/fprintftime.h: Likewise.
57975         * lib/fpucw.h: Likewise.
57976         * lib/fpurge.c: Likewise.
57977         * lib/fpurge.h: Likewise.
57978         * lib/freadable.c: Likewise.
57979         * lib/freadable.h: Likewise.
57980         * lib/freadahead.c: Likewise.
57981         * lib/freadahead.h: Likewise.
57982         * lib/freading.c: Likewise.
57983         * lib/freading.h: Likewise.
57984         * lib/free.c: Likewise.
57985         * lib/freopen.c: Likewise.
57986         * lib/frexp.c: Likewise.
57987         * lib/frexpl.c: Likewise.
57988         * lib/fseek.c: Likewise.
57989         * lib/fseterr.c: Likewise.
57990         * lib/fseterr.h: Likewise.
57991         * lib/fstatat.c: Likewise.
57992         * lib/fstrcmp.c: Likewise.
57993         * lib/fstrcmp.h: Likewise.
57994         * lib/fsusage.c: Likewise.
57995         * lib/fsusage.h: Likewise.
57996         * lib/ftell.c: Likewise.
57997         * lib/ftello.c: Likewise.
57998         * lib/fts-cycle.c: Likewise.
57999         * lib/fts.c: Likewise.
58000         * lib/fts_.h: Likewise.
58001         * lib/full-read.c: Likewise.
58002         * lib/full-read.h: Likewise.
58003         * lib/full-write.c: Likewise.
58004         * lib/full-write.h: Likewise.
58005         * lib/fwritable.c: Likewise.
58006         * lib/fwritable.h: Likewise.
58007         * lib/fwriteerror.c: Likewise.
58008         * lib/fwriteerror.h: Likewise.
58009         * lib/fwriting.c: Likewise.
58010         * lib/fwriting.h: Likewise.
58011         * lib/gcd.c: Likewise.
58012         * lib/gcd.h: Likewise.
58013         * lib/getcwd.c: Likewise.
58014         * lib/getdate.h: Likewise.
58015         * lib/getdate.y: Likewise.
58016         * lib/getdomainname.c: Likewise.
58017         * lib/getdomainname.h: Likewise.
58018         * lib/getgroups.c: Likewise.
58019         * lib/gethostname.c: Likewise.
58020         * lib/gethrxtime.c: Likewise.
58021         * lib/gethrxtime.h: Likewise.
58022         * lib/getloadavg.c: Likewise.
58023         * lib/getndelim2.c: Likewise.
58024         * lib/getndelim2.h: Likewise.
58025         * lib/getnline.c: Likewise.
58026         * lib/getnline.h: Likewise.
58027         * lib/getopt.c: Likewise.
58028         * lib/getopt.in.h: Likewise.
58029         * lib/getopt1.c: Likewise.
58030         * lib/getopt_int.h: Likewise.
58031         * lib/getpagesize.h: Likewise.
58032         * lib/getsubopt.c: Likewise.
58033         * lib/gettime.c: Likewise.
58034         * lib/getugroups.c: Likewise.
58035         * lib/getugroups.h: Likewise.
58036         * lib/getusershell.c: Likewise.
58037         * lib/gl_anyavltree_list1.h: Likewise.
58038         * lib/gl_anyavltree_list2.h: Likewise.
58039         * lib/gl_anyhash_list1.h: Likewise.
58040         * lib/gl_anyhash_list2.h: Likewise.
58041         * lib/gl_anylinked_list1.h: Likewise.
58042         * lib/gl_anylinked_list2.h: Likewise.
58043         * lib/gl_anyrbtree_list1.h: Likewise.
58044         * lib/gl_anyrbtree_list2.h: Likewise.
58045         * lib/gl_anytree_list1.h: Likewise.
58046         * lib/gl_anytree_list2.h: Likewise.
58047         * lib/gl_anytree_oset.h: Likewise.
58048         * lib/gl_anytreehash_list1.h: Likewise.
58049         * lib/gl_anytreehash_list2.h: Likewise.
58050         * lib/gl_array_list.c: Likewise.
58051         * lib/gl_array_list.h: Likewise.
58052         * lib/gl_array_oset.c: Likewise.
58053         * lib/gl_array_oset.h: Likewise.
58054         * lib/gl_avltree_list.c: Likewise.
58055         * lib/gl_avltree_list.h: Likewise.
58056         * lib/gl_avltree_oset.c: Likewise.
58057         * lib/gl_avltree_oset.h: Likewise.
58058         * lib/gl_avltreehash_list.c: Likewise.
58059         * lib/gl_avltreehash_list.h: Likewise.
58060         * lib/gl_carray_list.c: Likewise.
58061         * lib/gl_carray_list.h: Likewise.
58062         * lib/gl_linked_list.c: Likewise.
58063         * lib/gl_linked_list.h: Likewise.
58064         * lib/gl_linkedhash_list.c: Likewise.
58065         * lib/gl_linkedhash_list.h: Likewise.
58066         * lib/gl_list.c: Likewise.
58067         * lib/gl_list.h: Likewise.
58068         * lib/gl_oset.c: Likewise.
58069         * lib/gl_oset.h: Likewise.
58070         * lib/gl_rbtree_list.c: Likewise.
58071         * lib/gl_rbtree_list.h: Likewise.
58072         * lib/gl_rbtree_oset.c: Likewise.
58073         * lib/gl_rbtree_oset.h: Likewise.
58074         * lib/gl_rbtreehash_list.c: Likewise.
58075         * lib/gl_rbtreehash_list.h: Likewise.
58076         * lib/gl_sublist.c: Likewise.
58077         * lib/gl_sublist.h: Likewise.
58078         * lib/group-member.c: Likewise.
58079         * lib/group-member.h: Likewise.
58080         * lib/hard-locale.c: Likewise.
58081         * lib/hard-locale.h: Likewise.
58082         * lib/hash-pjw.c: Likewise.
58083         * lib/hash-pjw.h: Likewise.
58084         * lib/hash-triple.c: Likewise.
58085         * lib/hash.c: Likewise.
58086         * lib/hash.h: Likewise.
58087         * lib/human.c: Likewise.
58088         * lib/human.h: Likewise.
58089         * lib/i-ring.c: Likewise.
58090         * lib/i-ring.h: Likewise.
58091         * lib/idcache.c: Likewise.
58092         * lib/imaxabs.c: Likewise.
58093         * lib/imaxdiv.c: Likewise.
58094         * lib/inet_pton.c: Likewise.
58095         * lib/inet_pton.h: Likewise.
58096         * lib/intprops.h: Likewise.
58097         * lib/inttostr.c: Likewise.
58098         * lib/inttostr.h: Likewise.
58099         * lib/inttypes.in.h: Likewise.
58100         * lib/isapipe.c: Likewise.
58101         * lib/isdir.c: Likewise.
58102         * lib/isnan.c: Likewise.
58103         * lib/isnan.h: Likewise.
58104         * lib/isnanf.c: Likewise.
58105         * lib/isnanf.h: Likewise.
58106         * lib/isnanl-nolibm.h: Likewise.
58107         * lib/isnanl.c: Likewise.
58108         * lib/isnanl.h: Likewise.
58109         * lib/javacomp.c: Likewise.
58110         * lib/javacomp.h: Likewise.
58111         * lib/javaexec.c: Likewise.
58112         * lib/javaexec.h: Likewise.
58113         * lib/javaversion.c: Likewise.
58114         * lib/javaversion.h: Likewise.
58115         * lib/javaversion.java: Likewise.
58116         * lib/lbrkprop.h: Likewise.
58117         * lib/lchmod.h: Likewise.
58118         * lib/lchown.c: Likewise.
58119         * lib/ldexpl.c: Likewise.
58120         * lib/linebreak.c: Likewise.
58121         * lib/linebreak.h: Likewise.
58122         * lib/linebuffer.c: Likewise.
58123         * lib/linebuffer.h: Likewise.
58124         * lib/locale.in.h: Likewise.
58125         * lib/logl.c: Likewise.
58126         * lib/long-options.c: Likewise.
58127         * lib/long-options.h: Likewise.
58128         * lib/lstat.c: Likewise.
58129         * lib/lstat.h: Likewise.
58130         * lib/math.in.h: Likewise.
58131         * lib/mbchar.c: Likewise.
58132         * lib/mbchar.h: Likewise.
58133         * lib/mbfile.h: Likewise.
58134         * lib/mbiter.h: Likewise.
58135         * lib/mbscasecmp.c: Likewise.
58136         * lib/mbscasestr.c: Likewise.
58137         * lib/mbschr.c: Likewise.
58138         * lib/mbscspn.c: Likewise.
58139         * lib/mbslen.c: Likewise.
58140         * lib/mbsncasecmp.c: Likewise.
58141         * lib/mbsnlen.c: Likewise.
58142         * lib/mbspbrk.c: Likewise.
58143         * lib/mbspcasecmp.c: Likewise.
58144         * lib/mbsrchr.c: Likewise.
58145         * lib/mbssep.c: Likewise.
58146         * lib/mbsspn.c: Likewise.
58147         * lib/mbsstr.c: Likewise.
58148         * lib/mbstok_r.c: Likewise.
58149         * lib/mbswidth.c: Likewise.
58150         * lib/mbswidth.h: Likewise.
58151         * lib/mbuiter.h: Likewise.
58152         * lib/memcasecmp.c: Likewise.
58153         * lib/memcasecmp.h: Likewise.
58154         * lib/memchr.c: Likewise.
58155         * lib/memcmp.c: Likewise.
58156         * lib/memcoll.c: Likewise.
58157         * lib/memcoll.h: Likewise.
58158         * lib/memcpy.c: Likewise.
58159         * lib/memrchr.c: Likewise.
58160         * lib/mkancesdirs.c: Likewise.
58161         * lib/mkdir-p.c: Likewise.
58162         * lib/mkdir-p.h: Likewise.
58163         * lib/mkdir.c: Likewise.
58164         * lib/mkdirat.c: Likewise.
58165         * lib/mkdtemp.c: Likewise.
58166         * lib/mkstemp-safer.c: Likewise.
58167         * lib/mkstemp.c: Likewise.
58168         * lib/modechange.c: Likewise.
58169         * lib/modechange.h: Likewise.
58170         * lib/mountlist.c: Likewise.
58171         * lib/mountlist.h: Likewise.
58172         * lib/mpsort.c: Likewise.
58173         * lib/nanosleep.c: Likewise.
58174         * lib/obstack.c: Likewise.
58175         * lib/obstack.h: Likewise.
58176         * lib/open-safer.c: Likewise.
58177         * lib/open.c: Likewise.
58178         * lib/openat-die.c: Likewise.
58179         * lib/openat-priv.h: Likewise.
58180         * lib/openat-proc.c: Likewise.
58181         * lib/openat.c: Likewise.
58182         * lib/openat.h: Likewise.
58183         * lib/pagealign_alloc.c: Likewise.
58184         * lib/pagealign_alloc.h: Likewise.
58185         * lib/physmem.c: Likewise.
58186         * lib/physmem.h: Likewise.
58187         * lib/pipe-safer.c: Likewise.
58188         * lib/pipe.c: Likewise.
58189         * lib/pipe.h: Likewise.
58190         * lib/posixtm.c: Likewise.
58191         * lib/posixtm.h: Likewise.
58192         * lib/posixver.c: Likewise.
58193         * lib/printf-frexp.c: Likewise.
58194         * lib/printf-frexp.h: Likewise.
58195         * lib/printf-frexpl.c: Likewise.
58196         * lib/printf-frexpl.h: Likewise.
58197         * lib/printf.c: Likewise.
58198         * lib/progname.c: Likewise.
58199         * lib/progname.h: Likewise.
58200         * lib/progreloc.c: Likewise.
58201         * lib/putenv.c: Likewise.
58202         * lib/quote.c: Likewise.
58203         * lib/quote.h: Likewise.
58204         * lib/quotearg.c: Likewise.
58205         * lib/quotearg.h: Likewise.
58206         * lib/raise.c: Likewise.
58207         * lib/readline.c: Likewise.
58208         * lib/readline.h: Likewise.
58209         * lib/readlink.c: Likewise.
58210         * lib/readtokens.c: Likewise.
58211         * lib/readtokens.h: Likewise.
58212         * lib/readtokens0.c: Likewise.
58213         * lib/readtokens0.h: Likewise.
58214         * lib/readutmp.c: Likewise.
58215         * lib/readutmp.h: Likewise.
58216         * lib/realloc.c: Likewise.
58217         * lib/relocwrapper.c: Likewise.
58218         * lib/rename-dest-slash.c: Likewise.
58219         * lib/rename.c: Likewise.
58220         * lib/rmdir.c: Likewise.
58221         * lib/rpmatch.c: Likewise.
58222         * lib/safe-read.c: Likewise.
58223         * lib/safe-read.h: Likewise.
58224         * lib/safe-write.c: Likewise.
58225         * lib/safe-write.h: Likewise.
58226         * lib/same-inode.h: Likewise.
58227         * lib/same.c: Likewise.
58228         * lib/same.h: Likewise.
58229         * lib/save-cwd.c: Likewise.
58230         * lib/save-cwd.h: Likewise.
58231         * lib/savedir.c: Likewise.
58232         * lib/savedir.h: Likewise.
58233         * lib/savewd.c: Likewise.
58234         * lib/savewd.h: Likewise.
58235         * lib/search.in.h: Likewise.
58236         * lib/setenv.c: Likewise.
58237         * lib/setenv.h: Likewise.
58238         * lib/settime.c: Likewise.
58239         * lib/sh-quote.c: Likewise.
58240         * lib/sh-quote.h: Likewise.
58241         * lib/sig2str.c: Likewise.
58242         * lib/sig2str.h: Likewise.
58243         * lib/signal.in.h: Likewise.
58244         * lib/signbitd.c: Likewise.
58245         * lib/signbitf.c: Likewise.
58246         * lib/signbitl.c: Likewise.
58247         * lib/sigprocmask.c: Likewise.
58248         * lib/sincosl.c: Likewise.
58249         * lib/sleep.c: Likewise.
58250         * lib/sprintf.c: Likewise.
58251         * lib/sqrtl.c: Likewise.
58252         * lib/stat-time.h: Likewise.
58253         * lib/stdio--.h: Likewise.
58254         * lib/stdio-safer.h: Likewise.
58255         * lib/stdlib--.h: Likewise.
58256         * lib/stdlib-safer.h: Likewise.
58257         * lib/stdlib.in.h: Likewise.
58258         * lib/stpcpy.c: Likewise.
58259         * lib/stpncpy.c: Likewise.
58260         * lib/strchrnul.c: Likewise.
58261         * lib/strcspn.c: Likewise.
58262         * lib/strerror.c: Likewise.
58263         * lib/strftime.c: Likewise.
58264         * lib/strftime.h: Likewise.
58265         * lib/striconveh.c: Likewise.
58266         * lib/striconveh.h: Likewise.
58267         * lib/striconveha.c: Likewise.
58268         * lib/striconveha.h: Likewise.
58269         * lib/stripslash.c: Likewise.
58270         * lib/strnlen1.c: Likewise.
58271         * lib/strnlen1.h: Likewise.
58272         * lib/strtod.c: Likewise.
58273         * lib/strtoimax.c: Likewise.
58274         * lib/strtok_r.c: Likewise.
58275         * lib/strtol.c: Likewise.
58276         * lib/strtoll.c: Likewise.
58277         * lib/strtoul.c: Likewise.
58278         * lib/strtoull.c: Likewise.
58279         * lib/sysexits.in.h: Likewise.
58280         * lib/tempname.c: Likewise.
58281         * lib/tempname.h: Likewise.
58282         * lib/timespec.h: Likewise.
58283         * lib/tls.c: Likewise.
58284         * lib/tls.h: Likewise.
58285         * lib/tmpdir.c: Likewise.
58286         * lib/tmpdir.h: Likewise.
58287         * lib/tmpfile-safer.c: Likewise.
58288         * lib/tmpfile.c: Likewise.
58289         * lib/trigl.c: Likewise.
58290         * lib/trigl.h: Likewise.
58291         * lib/trim.c: Likewise.
58292         * lib/trim.h: Likewise.
58293         * lib/trunc.c: Likewise.
58294         * lib/truncf.c: Likewise.
58295         * lib/truncl.c: Likewise.
58296         * lib/tsearch.c: Likewise.
58297         * lib/unicodeio.c: Likewise.
58298         * lib/unicodeio.h: Likewise.
58299         * lib/unistd--.h: Likewise.
58300         * lib/unistd-safer.h: Likewise.
58301         * lib/unistdio/ulc-fprintf.c: Likewise.
58302         * lib/unistdio/ulc-vfprintf.c: Likewise.
58303         * lib/unlinkdir.c: Likewise.
58304         * lib/unlinkdir.h: Likewise.
58305         * lib/unlocked-io.h: Likewise.
58306         * lib/unsetenv.c: Likewise.
58307         * lib/userspec.c: Likewise.
58308         * lib/utime.c: Likewise.
58309         * lib/utimecmp.c: Likewise.
58310         * lib/utimecmp.h: Likewise.
58311         * lib/utimens.c: Likewise.
58312         * lib/verify.h: Likewise.
58313         * lib/verror.c: Likewise.
58314         * lib/verror.h: Likewise.
58315         * lib/version-etc-fsf.c: Likewise.
58316         * lib/version-etc.c: Likewise.
58317         * lib/version-etc.h: Likewise.
58318         * lib/vfprintf.c: Likewise.
58319         * lib/vprintf.c: Likewise.
58320         * lib/vsprintf.c: Likewise.
58321         * lib/w32spawn.h: Likewise.
58322         * lib/wait-process.c: Likewise.
58323         * lib/wait-process.h: Likewise.
58324         * lib/wcwidth.c: Likewise.
58325         * lib/write-any-file.c: Likewise.
58326         * lib/xalloc-die.c: Likewise.
58327         * lib/xalloc.h: Likewise.
58328         * lib/xasprintf.c: Likewise.
58329         * lib/xgetcwd.c: Likewise.
58330         * lib/xgetcwd.h: Likewise.
58331         * lib/xgetdomainname.c: Likewise.
58332         * lib/xgetdomainname.h: Likewise.
58333         * lib/xgethostname.c: Likewise.
58334         * lib/xmalloc.c: Likewise.
58335         * lib/xmalloca.c: Likewise.
58336         * lib/xmalloca.h: Likewise.
58337         * lib/xmemcoll.c: Likewise.
58338         * lib/xnanosleep.c: Likewise.
58339         * lib/xreadlink.c: Likewise.
58340         * lib/xreadlink.h: Likewise.
58341         * lib/xsetenv.c: Likewise.
58342         * lib/xsetenv.h: Likewise.
58343         * lib/xstriconv.c: Likewise.
58344         * lib/xstriconv.h: Likewise.
58345         * lib/xstrndup.c: Likewise.
58346         * lib/xstrndup.h: Likewise.
58347         * lib/xstrtod.c: Likewise.
58348         * lib/xstrtod.h: Likewise.
58349         * lib/xstrtol-error.c: Likewise.
58350         * lib/xstrtol.c: Likewise.
58351         * lib/xstrtol.h: Likewise.
58352         * lib/xtime.h: Likewise.
58353         * lib/xvasprintf.c: Likewise.
58354         * lib/xvasprintf.h: Likewise.
58355         * lib/yesno.c: Likewise.
58356         * lib/yesno.h: Likewise.
58357         * posix-modules: Likewise.
58358         * tests/test-alloca-opt.c: Likewise.
58359         * tests/test-arcfour.c: Likewise.
58360         * tests/test-arctwo.c: Likewise.
58361         * tests/test-argmatch.c: Likewise.
58362         * tests/test-argp-2.sh: Likewise.
58363         * tests/test-argp.c: Likewise.
58364         * tests/test-arpa_inet.c: Likewise.
58365         * tests/test-array_list.c: Likewise.
58366         * tests/test-array_oset.c: Likewise.
58367         * tests/test-atexit.c: Likewise.
58368         * tests/test-avltree_list.c: Likewise.
58369         * tests/test-avltree_oset.c: Likewise.
58370         * tests/test-avltreehash_list.c: Likewise.
58371         * tests/test-base64.c: Likewise.
58372         * tests/test-binary-io.c: Likewise.
58373         * tests/test-byteswap.c: Likewise.
58374         * tests/test-c-ctype.c: Likewise.
58375         * tests/test-c-strcasecmp.c: Likewise.
58376         * tests/test-c-strcasestr.c: Likewise.
58377         * tests/test-c-strncasecmp.c: Likewise.
58378         * tests/test-c-strstr.c: Likewise.
58379         * tests/test-canonicalize-lgpl.c: Likewise.
58380         * tests/test-canonicalize.c: Likewise.
58381         * tests/test-carray_list.c: Likewise.
58382         * tests/test-ceilf.c: Likewise.
58383         * tests/test-ceill.c: Likewise.
58384         * tests/test-count-one-bits.c: Likewise.
58385         * tests/test-crc.c: Likewise.
58386         * tests/test-dirname.c: Likewise.
58387         * tests/test-fbufmode.c: Likewise.
58388         * tests/test-fcntl.c: Likewise.
58389         * tests/test-fflush.c: Likewise.
58390         * tests/test-floorf.c: Likewise.
58391         * tests/test-floorl.c: Likewise.
58392         * tests/test-fopen.c: Likewise.
58393         * tests/test-fprintf-posix.c: Likewise.
58394         * tests/test-fprintf-posix.h: Likewise.
58395         * tests/test-fpurge.c: Likewise.
58396         * tests/test-freadable.c: Likewise.
58397         * tests/test-freadahead.c: Likewise.
58398         * tests/test-freading.c: Likewise.
58399         * tests/test-freopen.c: Likewise.
58400         * tests/test-frexp.c: Likewise.
58401         * tests/test-frexpl.c: Likewise.
58402         * tests/test-fseek.c: Likewise.
58403         * tests/test-fseeko.c: Likewise.
58404         * tests/test-fseterr.c: Likewise.
58405         * tests/test-fstrcmp.c: Likewise.
58406         * tests/test-ftell.c: Likewise.
58407         * tests/test-ftello.c: Likewise.
58408         * tests/test-fwritable.c: Likewise.
58409         * tests/test-fwriting.c: Likewise.
58410         * tests/test-getaddrinfo.c: Likewise.
58411         * tests/test-getpass.c: Likewise.
58412         * tests/test-gettimeofday.c: Likewise.
58413         * tests/test-hmac-md5.c: Likewise.
58414         * tests/test-hmac-sha1.c: Likewise.
58415         * tests/test-iconv.c: Likewise.
58416         * tests/test-iconvme.c: Likewise.
58417         * tests/test-inttypes.c: Likewise.
58418         * tests/test-isnan.c: Likewise.
58419         * tests/test-isnanf.c: Likewise.
58420         * tests/test-isnanl-nolibm.c: Likewise.
58421         * tests/test-isnanl.c: Likewise.
58422         * tests/test-isnanl.h: Likewise.
58423         * tests/test-ldexpl.c: Likewise.
58424         * tests/test-linked_list.c: Likewise.
58425         * tests/test-linkedhash_list.c: Likewise.
58426         * tests/test-locale.c: Likewise.
58427         * tests/test-localename.c: Likewise.
58428         * tests/test-lock.c: Likewise.
58429         * tests/test-lseek.c: Likewise.
58430         * tests/test-malloca.c: Likewise.
58431         * tests/test-math.c: Likewise.
58432         * tests/test-mbscasecmp.c: Likewise.
58433         * tests/test-mbscasestr1.c: Likewise.
58434         * tests/test-mbscasestr2.c: Likewise.
58435         * tests/test-mbscasestr3.c: Likewise.
58436         * tests/test-mbscasestr4.c: Likewise.
58437         * tests/test-mbschr.c: Likewise.
58438         * tests/test-mbscspn.c: Likewise.
58439         * tests/test-mbsncasecmp.c: Likewise.
58440         * tests/test-mbspbrk.c: Likewise.
58441         * tests/test-mbspcasecmp.c: Likewise.
58442         * tests/test-mbsrchr.c: Likewise.
58443         * tests/test-mbsspn.c: Likewise.
58444         * tests/test-mbsstr1.c: Likewise.
58445         * tests/test-mbsstr2.c: Likewise.
58446         * tests/test-mbsstr3.c: Likewise.
58447         * tests/test-md5.c: Likewise.
58448         * tests/test-memmem.c: Likewise.
58449         * tests/test-netinet_in.c: Likewise.
58450         * tests/test-open.c: Likewise.
58451         * tests/test-printf-frexp.c: Likewise.
58452         * tests/test-printf-frexpl.c: Likewise.
58453         * tests/test-printf-posix.c: Likewise.
58454         * tests/test-printf-posix.h: Likewise.
58455         * tests/test-rbtree_list.c: Likewise.
58456         * tests/test-rbtree_oset.c: Likewise.
58457         * tests/test-rbtreehash_list.c: Likewise.
58458         * tests/test-read-file.c: Likewise.
58459         * tests/test-rijndael.c: Likewise.
58460         * tests/test-search.c: Likewise.
58461         * tests/test-signbit.c: Likewise.
58462         * tests/test-sleep.c: Likewise.
58463         * tests/test-snprintf-posix.c: Likewise.
58464         * tests/test-snprintf-posix.h: Likewise.
58465         * tests/test-snprintf.c: Likewise.
58466         * tests/test-sprintf-posix.c: Likewise.
58467         * tests/test-sprintf-posix.h: Likewise.
58468         * tests/test-stat-time.c: Likewise.
58469         * tests/test-stdbool.c: Likewise.
58470         * tests/test-stdint.c: Likewise.
58471         * tests/test-stdio.c: Likewise.
58472         * tests/test-stdlib.c: Likewise.
58473         * tests/test-stpncpy.c: Likewise.
58474         * tests/test-strcasestr.c: Likewise.
58475         * tests/test-striconv.c: Likewise.
58476         * tests/test-striconveh.c: Likewise.
58477         * tests/test-striconveha.c: Likewise.
58478         * tests/test-string.c: Likewise.
58479         * tests/test-sys_select.c: Likewise.
58480         * tests/test-sys_socket.c: Likewise.
58481         * tests/test-sys_stat.c: Likewise.
58482         * tests/test-sys_time.c: Likewise.
58483         * tests/test-sysexits.c: Likewise.
58484         * tests/test-time.c: Likewise.
58485         * tests/test-tls.c: Likewise.
58486         * tests/test-trunc.c: Likewise.
58487         * tests/test-truncf.c: Likewise.
58488         * tests/test-truncl.c: Likewise.
58489         * tests/test-unistd.c: Likewise.
58490         * tests/test-vasnprintf-posix.c: Likewise.
58491         * tests/test-vasnprintf-posix2.c: Likewise.
58492         * tests/test-vasnprintf.c: Likewise.
58493         * tests/test-vasprintf-posix.c: Likewise.
58494         * tests/test-vasprintf.c: Likewise.
58495         * tests/test-verify.c: Likewise.
58496         * tests/test-vfprintf-posix.c: Likewise.
58497         * tests/test-vprintf-posix.c: Likewise.
58498         * tests/test-vsnprintf-posix.c: Likewise.
58499         * tests/test-vsnprintf.c: Likewise.
58500         * tests/test-vsprintf-posix.c: Likewise.
58501         * tests/test-wchar.c: Likewise.
58502         * tests/test-wctype.c: Likewise.
58503         * tests/test-wcwidth.c: Likewise.
58504         * tests/test-xstrtol.c: Likewise.
58505         * tests/test-xvasprintf.c: Likewise.
58506         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
58507         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
58508         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58509         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58510         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58511         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
58512         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58513         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58514         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58515         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
58516         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58517         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58518         * tests/uniname/test-uninames.c: Likewise.
58519         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
58520         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
58521         * tests/unistdio/test-u16-printf1.h: Likewise.
58522         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
58523         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
58524         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
58525         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
58526         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
58527         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
58528         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
58529         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
58530         * tests/unistdio/test-u32-printf1.h: Likewise.
58531         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
58532         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
58533         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
58534         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
58535         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
58536         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
58537         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
58538         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
58539         * tests/unistdio/test-u8-printf1.h: Likewise.
58540         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
58541         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
58542         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
58543         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
58544         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
58545         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
58546         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
58547         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
58548         * tests/unistdio/test-ulc-printf1.h: Likewise.
58549         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
58550         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
58551         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
58552         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
58553         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
58554         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
58555         * tests/uniwidth/test-u16-strwidth.c: Likewise.
58556         * tests/uniwidth/test-u16-width.c: Likewise.
58557         * tests/uniwidth/test-u32-strwidth.c: Likewise.
58558         * tests/uniwidth/test-u32-width.c: Likewise.
58559         * tests/uniwidth/test-u8-strwidth.c: Likewise.
58560         * tests/uniwidth/test-u8-width.c: Likewise.
58561         * tests/uniwidth/test-uc_width.c: Likewise.
58562         * config/srclist-update: Likewise.
58563         (fixlicense): Update to GPLv3+.
58564
58565         Change copyright notice from LGPLv2.1+ to LGPLv3+.
58566         * tests/test-tsearch.c: Change copyright notice.
58567
58568         Change copyright notice from LGPLv2.0+ to LGPLv3+.
58569         * lib/c-strcaseeq.h: Change copyright notice.
58570         * lib/streq.h: Likewise.
58571         * lib/uniconv.h: Likewise.
58572         * lib/uniconv/u-conv-from-enc.h: Likewise.
58573         * lib/uniconv/u-conv-to-enc.h: Likewise.
58574         * lib/uniconv/u-strconv-from-enc.h: Likewise.
58575         * lib/uniconv/u-strconv-to-enc.h: Likewise.
58576         * lib/uniconv/u16-conv-from-enc.c: Likewise.
58577         * lib/uniconv/u16-conv-to-enc.c: Likewise.
58578         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
58579         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
58580         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
58581         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
58582         * lib/uniconv/u32-conv-from-enc.c: Likewise.
58583         * lib/uniconv/u32-conv-to-enc.c: Likewise.
58584         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
58585         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
58586         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
58587         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
58588         * lib/uniconv/u8-conv-from-enc.c: Likewise.
58589         * lib/uniconv/u8-conv-to-enc.c: Likewise.
58590         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
58591         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
58592         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
58593         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
58594         * lib/uniname.h: Likewise.
58595         * lib/uniname/uniname.c: Likewise.
58596         * lib/unistdio.h: Likewise.
58597         * lib/unistdio/u-asnprintf.h: Likewise.
58598         * lib/unistdio/u-asprintf.h: Likewise.
58599         * lib/unistdio/u-printf-args.c: Likewise.
58600         * lib/unistdio/u-printf-args.h: Likewise.
58601         * lib/unistdio/u-printf-parse.h: Likewise.
58602         * lib/unistdio/u-snprintf.h: Likewise.
58603         * lib/unistdio/u-sprintf.h: Likewise.
58604         * lib/unistdio/u-vasprintf.h: Likewise.
58605         * lib/unistdio/u-vsnprintf.h: Likewise.
58606         * lib/unistdio/u-vsprintf.h: Likewise.
58607         * lib/unistdio/u16-asnprintf.c: Likewise.
58608         * lib/unistdio/u16-asprintf.c: Likewise.
58609         * lib/unistdio/u16-printf-parse.c: Likewise.
58610         * lib/unistdio/u16-snprintf.c: Likewise.
58611         * lib/unistdio/u16-sprintf.c: Likewise.
58612         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
58613         * lib/unistdio/u16-u16-asprintf.c: Likewise.
58614         * lib/unistdio/u16-u16-snprintf.c: Likewise.
58615         * lib/unistdio/u16-u16-sprintf.c: Likewise.
58616         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
58617         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
58618         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
58619         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
58620         * lib/unistdio/u16-vasnprintf.c: Likewise.
58621         * lib/unistdio/u16-vasprintf.c: Likewise.
58622         * lib/unistdio/u16-vsnprintf.c: Likewise.
58623         * lib/unistdio/u16-vsprintf.c: Likewise.
58624         * lib/unistdio/u32-asnprintf.c: Likewise.
58625         * lib/unistdio/u32-asprintf.c: Likewise.
58626         * lib/unistdio/u32-printf-parse.c: Likewise.
58627         * lib/unistdio/u32-snprintf.c: Likewise.
58628         * lib/unistdio/u32-sprintf.c: Likewise.
58629         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
58630         * lib/unistdio/u32-u32-asprintf.c: Likewise.
58631         * lib/unistdio/u32-u32-snprintf.c: Likewise.
58632         * lib/unistdio/u32-u32-sprintf.c: Likewise.
58633         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
58634         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
58635         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
58636         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
58637         * lib/unistdio/u32-vasnprintf.c: Likewise.
58638         * lib/unistdio/u32-vasprintf.c: Likewise.
58639         * lib/unistdio/u32-vsnprintf.c: Likewise.
58640         * lib/unistdio/u32-vsprintf.c: Likewise.
58641         * lib/unistdio/u8-asnprintf.c: Likewise.
58642         * lib/unistdio/u8-asprintf.c: Likewise.
58643         * lib/unistdio/u8-printf-parse.c: Likewise.
58644         * lib/unistdio/u8-snprintf.c: Likewise.
58645         * lib/unistdio/u8-sprintf.c: Likewise.
58646         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
58647         * lib/unistdio/u8-u8-asprintf.c: Likewise.
58648         * lib/unistdio/u8-u8-snprintf.c: Likewise.
58649         * lib/unistdio/u8-u8-sprintf.c: Likewise.
58650         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
58651         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
58652         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
58653         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
58654         * lib/unistdio/u8-vasnprintf.c: Likewise.
58655         * lib/unistdio/u8-vasprintf.c: Likewise.
58656         * lib/unistdio/u8-vsnprintf.c: Likewise.
58657         * lib/unistdio/u8-vsprintf.c: Likewise.
58658         * lib/unistdio/ulc-asnprintf.c: Likewise.
58659         * lib/unistdio/ulc-asprintf.c: Likewise.
58660         * lib/unistdio/ulc-printf-parse.c: Likewise.
58661         * lib/unistdio/ulc-snprintf.c: Likewise.
58662         * lib/unistdio/ulc-sprintf.c: Likewise.
58663         * lib/unistdio/ulc-vasnprintf.c: Likewise.
58664         * lib/unistdio/ulc-vasprintf.c: Likewise.
58665         * lib/unistdio/ulc-vsnprintf.c: Likewise.
58666         * lib/unistdio/ulc-vsprintf.c: Likewise.
58667         * lib/unistr.h: Likewise.
58668         * lib/unistr/u-cpy-alloc.h: Likewise.
58669         * lib/unistr/u-cpy.h: Likewise.
58670         * lib/unistr/u-endswith.h: Likewise.
58671         * lib/unistr/u-move.h: Likewise.
58672         * lib/unistr/u-set.h: Likewise.
58673         * lib/unistr/u-startswith.h: Likewise.
58674         * lib/unistr/u-stpcpy.h: Likewise.
58675         * lib/unistr/u-stpncpy.h: Likewise.
58676         * lib/unistr/u-strcat.h: Likewise.
58677         * lib/unistr/u-strcpy.h: Likewise.
58678         * lib/unistr/u-strcspn.h: Likewise.
58679         * lib/unistr/u-strdup.h: Likewise.
58680         * lib/unistr/u-strlen.h: Likewise.
58681         * lib/unistr/u-strncat.h: Likewise.
58682         * lib/unistr/u-strncpy.h: Likewise.
58683         * lib/unistr/u-strnlen.h: Likewise.
58684         * lib/unistr/u-strpbrk.h: Likewise.
58685         * lib/unistr/u-strspn.h: Likewise.
58686         * lib/unistr/u-strstr.h: Likewise.
58687         * lib/unistr/u-strtok.h: Likewise.
58688         * lib/unistr/u16-check.c: Likewise.
58689         * lib/unistr/u16-chr.c: Likewise.
58690         * lib/unistr/u16-cmp.c: Likewise.
58691         * lib/unistr/u16-cpy-alloc.c: Likewise.
58692         * lib/unistr/u16-cpy.c: Likewise.
58693         * lib/unistr/u16-endswith.c: Likewise.
58694         * lib/unistr/u16-mblen.c: Likewise.
58695         * lib/unistr/u16-mbsnlen.c: Likewise.
58696         * lib/unistr/u16-mbtouc-aux.c: Likewise.
58697         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
58698         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
58699         * lib/unistr/u16-mbtouc.c: Likewise.
58700         * lib/unistr/u16-mbtoucr.c: Likewise.
58701         * lib/unistr/u16-move.c: Likewise.
58702         * lib/unistr/u16-next.c: Likewise.
58703         * lib/unistr/u16-prev.c: Likewise.
58704         * lib/unistr/u16-set.c: Likewise.
58705         * lib/unistr/u16-startswith.c: Likewise.
58706         * lib/unistr/u16-stpcpy.c: Likewise.
58707         * lib/unistr/u16-stpncpy.c: Likewise.
58708         * lib/unistr/u16-strcat.c: Likewise.
58709         * lib/unistr/u16-strchr.c: Likewise.
58710         * lib/unistr/u16-strcmp.c: Likewise.
58711         * lib/unistr/u16-strcpy.c: Likewise.
58712         * lib/unistr/u16-strcspn.c: Likewise.
58713         * lib/unistr/u16-strdup.c: Likewise.
58714         * lib/unistr/u16-strlen.c: Likewise.
58715         * lib/unistr/u16-strmblen.c: Likewise.
58716         * lib/unistr/u16-strmbtouc.c: Likewise.
58717         * lib/unistr/u16-strncat.c: Likewise.
58718         * lib/unistr/u16-strncmp.c: Likewise.
58719         * lib/unistr/u16-strncpy.c: Likewise.
58720         * lib/unistr/u16-strnlen.c: Likewise.
58721         * lib/unistr/u16-strpbrk.c: Likewise.
58722         * lib/unistr/u16-strrchr.c: Likewise.
58723         * lib/unistr/u16-strspn.c: Likewise.
58724         * lib/unistr/u16-strstr.c: Likewise.
58725         * lib/unistr/u16-strtok.c: Likewise.
58726         * lib/unistr/u16-to-u32.c: Likewise.
58727         * lib/unistr/u16-to-u8.c: Likewise.
58728         * lib/unistr/u16-uctomb-aux.c: Likewise.
58729         * lib/unistr/u16-uctomb.c: Likewise.
58730         * lib/unistr/u32-check.c: Likewise.
58731         * lib/unistr/u32-chr.c: Likewise.
58732         * lib/unistr/u32-cmp.c: Likewise.
58733         * lib/unistr/u32-cpy-alloc.c: Likewise.
58734         * lib/unistr/u32-cpy.c: Likewise.
58735         * lib/unistr/u32-endswith.c: Likewise.
58736         * lib/unistr/u32-mblen.c: Likewise.
58737         * lib/unistr/u32-mbsnlen.c: Likewise.
58738         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
58739         * lib/unistr/u32-mbtouc.c: Likewise.
58740         * lib/unistr/u32-mbtoucr.c: Likewise.
58741         * lib/unistr/u32-move.c: Likewise.
58742         * lib/unistr/u32-next.c: Likewise.
58743         * lib/unistr/u32-prev.c: Likewise.
58744         * lib/unistr/u32-set.c: Likewise.
58745         * lib/unistr/u32-startswith.c: Likewise.
58746         * lib/unistr/u32-stpcpy.c: Likewise.
58747         * lib/unistr/u32-stpncpy.c: Likewise.
58748         * lib/unistr/u32-strcat.c: Likewise.
58749         * lib/unistr/u32-strchr.c: Likewise.
58750         * lib/unistr/u32-strcmp.c: Likewise.
58751         * lib/unistr/u32-strcpy.c: Likewise.
58752         * lib/unistr/u32-strcspn.c: Likewise.
58753         * lib/unistr/u32-strdup.c: Likewise.
58754         * lib/unistr/u32-strlen.c: Likewise.
58755         * lib/unistr/u32-strmblen.c: Likewise.
58756         * lib/unistr/u32-strmbtouc.c: Likewise.
58757         * lib/unistr/u32-strncat.c: Likewise.
58758         * lib/unistr/u32-strncmp.c: Likewise.
58759         * lib/unistr/u32-strncpy.c: Likewise.
58760         * lib/unistr/u32-strnlen.c: Likewise.
58761         * lib/unistr/u32-strpbrk.c: Likewise.
58762         * lib/unistr/u32-strrchr.c: Likewise.
58763         * lib/unistr/u32-strspn.c: Likewise.
58764         * lib/unistr/u32-strstr.c: Likewise.
58765         * lib/unistr/u32-strtok.c: Likewise.
58766         * lib/unistr/u32-to-u16.c: Likewise.
58767         * lib/unistr/u32-to-u8.c: Likewise.
58768         * lib/unistr/u32-uctomb.c: Likewise.
58769         * lib/unistr/u8-check.c: Likewise.
58770         * lib/unistr/u8-chr.c: Likewise.
58771         * lib/unistr/u8-cmp.c: Likewise.
58772         * lib/unistr/u8-cpy-alloc.c: Likewise.
58773         * lib/unistr/u8-cpy.c: Likewise.
58774         * lib/unistr/u8-endswith.c: Likewise.
58775         * lib/unistr/u8-mblen.c: Likewise.
58776         * lib/unistr/u8-mbsnlen.c: Likewise.
58777         * lib/unistr/u8-mbtouc-aux.c: Likewise.
58778         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
58779         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
58780         * lib/unistr/u8-mbtouc.c: Likewise.
58781         * lib/unistr/u8-mbtoucr.c: Likewise.
58782         * lib/unistr/u8-move.c: Likewise.
58783         * lib/unistr/u8-next.c: Likewise.
58784         * lib/unistr/u8-prev.c: Likewise.
58785         * lib/unistr/u8-set.c: Likewise.
58786         * lib/unistr/u8-startswith.c: Likewise.
58787         * lib/unistr/u8-stpcpy.c: Likewise.
58788         * lib/unistr/u8-stpncpy.c: Likewise.
58789         * lib/unistr/u8-strcat.c: Likewise.
58790         * lib/unistr/u8-strchr.c: Likewise.
58791         * lib/unistr/u8-strcmp.c: Likewise.
58792         * lib/unistr/u8-strcpy.c: Likewise.
58793         * lib/unistr/u8-strcspn.c: Likewise.
58794         * lib/unistr/u8-strdup.c: Likewise.
58795         * lib/unistr/u8-strlen.c: Likewise.
58796         * lib/unistr/u8-strmblen.c: Likewise.
58797         * lib/unistr/u8-strmbtouc.c: Likewise.
58798         * lib/unistr/u8-strncat.c: Likewise.
58799         * lib/unistr/u8-strncmp.c: Likewise.
58800         * lib/unistr/u8-strncpy.c: Likewise.
58801         * lib/unistr/u8-strnlen.c: Likewise.
58802         * lib/unistr/u8-strpbrk.c: Likewise.
58803         * lib/unistr/u8-strrchr.c: Likewise.
58804         * lib/unistr/u8-strspn.c: Likewise.
58805         * lib/unistr/u8-strstr.c: Likewise.
58806         * lib/unistr/u8-strtok.c: Likewise.
58807         * lib/unistr/u8-to-u16.c: Likewise.
58808         * lib/unistr/u8-to-u32.c: Likewise.
58809         * lib/unistr/u8-uctomb-aux.c: Likewise.
58810         * lib/unistr/u8-uctomb.c: Likewise.
58811         * lib/unitypes.h: Likewise.
58812         * lib/uniwidth.h: Likewise.
58813         * lib/uniwidth/cjk.h: Likewise.
58814         * lib/uniwidth/u16-strwidth.c: Likewise.
58815         * lib/uniwidth/u16-width.c: Likewise.
58816         * lib/uniwidth/u32-strwidth.c: Likewise.
58817         * lib/uniwidth/u32-width.c: Likewise.
58818         * lib/uniwidth/u8-strwidth.c: Likewise.
58819         * lib/uniwidth/u8-width.c: Likewise.
58820         * lib/uniwidth/width.c: Likewise.
58821
58822 2007-10-07  Bruno Haible  <bruno@clisp.org>
58823
58824         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
58825         The file is still under LGPL (see modules/inttypes).
58826
58827 2007-10-06  Bruno Haible  <bruno@clisp.org>
58828
58829         * modules/trunc (Dependencies): Add 'extensions'.
58830         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
58831         Reported by Ben Pfaff <blp@gnu.org>.
58832
58833 2007-10-06  Bruno Haible  <bruno@clisp.org>
58834
58835         * modules/freopen-tests: New file.
58836         * tests/test-freopen.c: New file.
58837
58838         * modules/fopen-tests: New file.
58839         * tests/test-fopen.c: New file.
58840
58841         * modules/fopen: New file.
58842         * lib/fopen.c: New file.
58843         * m4/fopen.m4: New file.
58844         * modules/freopen: New file.
58845         * lib/freopen.c: New file.
58846         * m4/freopen.m4: New file.
58847         * lib/stdio.in.h (fopen, freopen): New declarations.
58848         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
58849         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
58850         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
58851         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
58852         * doc/functions/fopen.texi: Mention the 'fopen' module.
58853         * doc/functions/freopen.texi: Mention the 'freopen' module.
58854
58855 2007-10-06  Bruno Haible  <bruno@clisp.org>
58856
58857         * modules/open-tests: New file.
58858         * tests/test-open.c: New file.
58859
58860         * modules/open: New file.
58861         * lib/open.c: New file.
58862         * m4/open.m4: New file.
58863         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
58864         lib/open.c does.
58865         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
58866         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
58867         macros.
58868         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
58869         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
58870         REPLACE_OPEN.
58871         * doc/functions/open.texi: Mention the 'open' module.
58872
58873 2007-10-04  Bruno Haible  <bruno@clisp.org>
58874
58875         * modules/ceill-tests: New file.
58876         * tests/test-ceill.c: New file.
58877
58878         * modules/ceill: New file.
58879         * lib/ceill.c: Replace entire file.
58880         * m4/ceill.m4: New file.
58881         * lib/math.in.h (ceill): Replace declaration.
58882         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
58883         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
58884         * doc/functions/ceill.texi: Mention the 'ceill' module.
58885         * modules/mathl (Files): Remove lib/ceill.c.
58886         (Depends-on): Add ceill.
58887
58888 2007-10-04  Bruno Haible  <bruno@clisp.org>
58889
58890         * modules/ceilf-tests: New file.
58891         * tests/test-ceilf.c: New file.
58892
58893         * modules/ceilf: New file.
58894         * lib/ceil.c: New file.
58895         * lib/ceilf.c: New file.
58896         * m4/ceilf.m4: New file.
58897         * lib/math.in.h (ceilf): New declaration.
58898         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
58899         HAVE_DECL_CEILF.
58900         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
58901         HAVE_DECL_CEILF.
58902         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
58903
58904 2007-10-04  Bruno Haible  <bruno@clisp.org>
58905
58906         * modules/floorl-tests: New file.
58907         * tests/test-floorl.c: New file.
58908
58909         * modules/floorl: New file.
58910         * lib/floorl.c: Replace entire file.
58911         * m4/floorl.m4: New file.
58912         * lib/math.in.h (floorl): Replace declaration.
58913         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
58914         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
58915         * doc/functions/floorl.texi: Mention the 'floorl' module.
58916         * modules/mathl (Files): Remove lib/floorl.c.
58917         (Depends-on): Add floorl.
58918
58919 2007-10-04  Bruno Haible  <bruno@clisp.org>
58920
58921         * modules/floorf-tests: New file.
58922         * tests/test-floorf.c: New file.
58923
58924         * modules/floorf: New file.
58925         * lib/floor.c: New file.
58926         * lib/floorf.c: New file.
58927         * m4/floorf.m4: New file.
58928         * lib/math.in.h (floorf): New declaration.
58929         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
58930         HAVE_DECL_FLOORF.
58931         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
58932         HAVE_DECL_FLOORF.
58933         * doc/functions/floorf.texi: Mention the 'floorf' module.
58934
58935 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
58936             Bruno Haible  <bruno@clisp.org>
58937
58938         Advertise for the Git server instead of the CVS server.
58939         * doc/gnulib-intro.texi (Steady Development): Mention the Git
58940         repository instead of the CVS one.
58941         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
58942         about all VCS systems generically.
58943         * doc/gnulib.texi (Introduction): Capitalize `Git'.
58944
58945 2007-10-04  Bruno Haible  <bruno@clisp.org>
58946
58947         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
58948         means.
58949         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
58950
58951 2007-10-04  Bruno Haible  <bruno@clisp.org>
58952
58953         * modules/truncl-tests: New file.
58954         * tests/test-truncl.c: New file.
58955
58956         * modules/truncl: New file.
58957         * lib/truncl.c: New file.
58958         * m4/truncl.m4: New file.
58959         * lib/math.in.h (truncl): New declaration.
58960         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
58961         HAVE_DECL_TRUNCL.
58962         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
58963         HAVE_DECL_TRUNCL.
58964         * doc/functions/truncl.texi: Mention the 'truncl' module.
58965
58966 2007-10-04  Bruno Haible  <bruno@clisp.org>
58967
58968         * modules/truncf-tests: New file.
58969         * tests/test-truncf.c: New file.
58970
58971         * modules/truncf: New file.
58972         * lib/trunc.c: Make paramerizable through USE_* macros.
58973         * lib/truncf.c: New file.
58974         * m4/truncf.m4: New file.
58975         * lib/math.in.h (truncf): New declaration.
58976         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
58977         HAVE_DECL_TRUNCF.
58978         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
58979         HAVE_DECL_TRUNCF.
58980         * doc/functions/truncf.texi: Mention the 'truncf' module.
58981
58982 2007-10-03  Bruno Haible  <bruno@clisp.org>
58983
58984         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
58985         augmentation also for tests modules.
58986         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
58987         * modules/atexit-tests (Makefile.am): Likewise.
58988         * modules/binary-io-tests (Makefile.am): Likewise.
58989         * modules/c-strcase-tests (Makefile.am): Likewise.
58990         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
58991         * modules/canonicalize-tests (Makefile.am): Likewise.
58992         * modules/closein-tests (Makefile.am): Likewise.
58993         * modules/fprintf-posix-tests (Makefile.am): Likewise.
58994         * modules/freadahead-tests (Makefile.am): Likewise.
58995         * modules/fseek-tests (Makefile.am): Likewise.
58996         * modules/fseeko-tests (Makefile.am): Likewise.
58997         * modules/ftell-tests (Makefile.am): Likewise.
58998         * modules/ftello-tests (Makefile.am): Likewise.
58999         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
59000         * modules/isnanl-tests (Makefile.am): Likewise.
59001         * modules/lseek-tests (Makefile.am): Likewise.
59002         * modules/mbscasecmp-tests (Makefile.am): Likewise.
59003         * modules/mbscasestr-tests (Makefile.am): Likewise.
59004         * modules/mbschr-tests (Makefile.am): Likewise.
59005         * modules/mbscspn-tests (Makefile.am): Likewise.
59006         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
59007         * modules/mbspbrk-tests (Makefile.am): Likewise.
59008         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
59009         * modules/mbsrchr-tests (Makefile.am): Likewise.
59010         * modules/mbsspn-tests (Makefile.am): Likewise.
59011         * modules/mbsstr-tests (Makefile.am): Likewise.
59012         * modules/printf-posix-tests (Makefile.am): Likewise.
59013         * modules/snprintf-posix-tests (Makefile.am): Likewise.
59014         * modules/sprintf-posix-tests (Makefile.am): Likewise.
59015         * modules/tsearch-tests (Makefile.am): Likewise.
59016         * modules/uniname/uniname-tests (Makefile.am): Likewise.
59017         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
59018         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
59019         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
59020         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
59021         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
59022         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
59023         * modules/vprintf-posix-tests (Makefile.am): Likewise.
59024         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
59025         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
59026         * modules/xstrtoimax-tests (Makefile.am): Likewise.
59027         * modules/xstrtol-tests (Makefile.am): Likewise.
59028         * modules/xstrtoumax-tests (Makefile.am): Likewise.
59029         * modules/yesno-tests (Makefile.am): Likewise.
59030
59031 2007-10-03  Bruno Haible  <bruno@clisp.org>
59032
59033         * modules/trunc-tests: New file.
59034         * tests/test-trunc.c: New file.
59035
59036         * modules/trunc: New file.
59037         * lib/trunc.c: New file.
59038         * m4/trunc.m4: New file.
59039         * lib/math.in.h (trunc): New declaration.
59040         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
59041         HAVE_DECL_TRUNC.
59042         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
59043         HAVE_DECL_TRUNC.
59044         * doc/functions/trunc.texi: Mention the 'trunc' module.
59045
59046 2007-10-03  Bruno Haible  <bruno@clisp.org>
59047
59048         * tests/test-fpending.c: New file, mostly copied
59049         from coreutils/lib/t-fpending.c.
59050         * modules/fpending-tests: New file.
59051
59052 2007-10-03  Bruno Haible  <bruno@clisp.org>
59053
59054         Port the stdio extensions to QNX (untested).
59055         * lib/fseterr.c (fseterr): Add support for QNX.
59056         * lib/fbufmode.c (fbufmode): Likewise.
59057         * lib/freadable.c (freadable): Likewise.
59058         * lib/fwritable.c (fwritable): Likewise.
59059         * lib/freading.c (freading): Likewise.
59060         * lib/fwriting.c (fwriting): Likewise.
59061         * lib/freadahead.c (freadahed): Likewise.
59062         * lib/fpurge.c (fpurge): Likewise.
59063         * lib/fseeko.c (rpl_fseeko): Likewise.
59064
59065 2007-10-03  Bruno Haible  <bruno@clisp.org>
59066             Jim Meyering  <jim@meyering.net>
59067             Eric Blake  <ebb9@byu.net>
59068
59069         * doc/relocatable.texi: Use @command instead of @program.
59070
59071 2007-10-02  Jim Meyering  <jim@meyering.net>
59072
59073         Perform one more "_.h" -> ".in.h" substitution.
59074         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
59075         instead of unistd_.h here, too.
59076
59077 2007-10-01  Bruno Haible  <bruno@clisp.org>
59078
59079         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
59080         Needed for the alloca-opt module.
59081
59082 2007-09-30  Bruno Haible  <bruno@clisp.org>
59083
59084         * lib/alloca.in.h: Renamed from lib/alloca_.h.
59085         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
59086         alloca_.h.
59087         * lib/argz.in.h: Renamed from lib/argz_.h.
59088         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
59089         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
59090         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
59091         byteswap_.h.
59092         * lib/dirent.in.h: Renamed from lib/dirent_.h.
59093         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
59094         dirent_.h.
59095         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
59096         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
59097         fcntl_.h.
59098         * lib/float.in.h: Renamed from lib/float_.h.
59099         * modules/float (Files, Makefile.am): Use float.in.h instead of
59100         float_.h.
59101         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
59102         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
59103         fnmatch_.h.
59104         * lib/getopt.in.h: Renamed from lib/getopt_.h.
59105         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
59106         getopt_.h.
59107         * lib/glob.in.h: Renamed from lib/glob_.h.
59108         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
59109         * lib/iconv.in.h: Renamed from lib/iconv_.h.
59110         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
59111         iconv_.h.
59112         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
59113         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
59114         inttypes_.h.
59115         * lib/locale.in.h: Renamed from lib/locale_.h.
59116         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
59117         locale_.h.
59118         * lib/math.in.h: Renamed from lib/math_.h.
59119         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
59120         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
59121         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
59122         of netinet_in_.h. Add dependency.
59123         * lib/poll.in.h: Renamed from lib/poll_.h.
59124         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
59125         * lib/search.in.h: Renamed from lib/search_.h.
59126         * modules/search (Files, Makefile.am): Use search.in.h instead of
59127         search_.h.
59128         * lib/signal.in.h: Renamed from lib/signal_.h.
59129         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
59130         _signal.h.
59131         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
59132         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
59133         stdbool_.h.
59134         * lib/stdint.in.h: Renamed from lib/stdint_.h.
59135         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
59136         stdint_.h.
59137         * lib/stdio.in.h: Renamed from lib/stdio_.h.
59138         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
59139         stdio_.h.
59140         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
59141         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
59142         stdlib_.h.
59143         * lib/string.in.h: Renamed from lib/string_.h.
59144         * modules/string (Files, Makefile.am): Use string.in.h instead of
59145         string_.h.
59146         * doc/gnulib-tool.texi (Initial import): Update.
59147         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
59148         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
59149         of sys_select_.h. Add dependency.
59150         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
59151         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
59152         of sys_socket_.h.
59153         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
59154         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
59155         sys_stat_.h.
59156         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
59157         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
59158         sys_time_.h.
59159         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
59160         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
59161         sysexits_.h.
59162         * lib/time.in.h: Renamed from lib/time_.h.
59163         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
59164         * lib/unistd.in.h: Renamed from lib/unistd_.h.
59165         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
59166         unistd_.h.
59167         * lib/wchar.in.h: Renamed from lib/wchar_.h.
59168         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
59169         wchar_.h.
59170         * lib/wctype.in.h: Renamed from lib/wctype_.h.
59171         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
59172         wctype_.h.
59173         * build-aux/bootstrap (slurp): Update.
59174         * lib/.cppi-disable: Update.
59175
59176 2007-09-30  Bruno Haible  <bruno@clisp.org>
59177
59178         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
59179         Needed on BeOS.
59180
59181 2007-09-30  Bruno Haible  <bruno@clisp.org>
59182
59183         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
59184
59185 2007-09-29  Bruno Haible  <bruno@clisp.org>
59186
59187         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
59188
59189 2007-09-29  Bruno Haible  <bruno@clisp.org>
59190
59191         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
59192         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
59193         * build-aux/install-reloc: Compile also areadlink.c.
59194         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
59195
59196 2007-09-29  Bruno Haible  <bruno@clisp.org>
59197
59198         * gnulib-tool (func_emit_initmacro_done): Indentation.
59199
59200 2007-09-29  Bruno Haible  <bruno@clisp.org>
59201
59202         * README: Add CVS checkout update instructions.
59203         Info from Bob Proulx <bob@proulx.com>.
59204
59205 2007-09-28  Eric Blake  <ebb9@byu.net>
59206
59207         Provide move-if-change.
59208         * build-aux/move-if-change: New file, based on best practice
59209         rather than any canonical upstream location.
59210
59211 2007-09-28  Jim Meyering  <jim@meyering.net>
59212
59213         Fix canonicalize loop-detection corner case.
59214         Do not attempt to stat the symlink values stored via seen_triple.
59215         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
59216         on linux-2.6.18, (but not 2.6.22).
59217         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
59218         triple_compare.  The former compares dev,ino,filename, while the latter
59219         would actually stat dirname(filename) when dev and ino were equal.
59220         * lib/hash-triple.c: Install <string.h>.
59221         (STREQ): Define.
59222         (triple_compare_ino_str): New function.
59223         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
59224
59225 2007-09-28  Eric Blake  <ebb9@byu.net>
59226
59227         Enforce that AC_REPLACE_FUNCS files exist.
59228         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
59229         override check for typos.
59230
59231         Fix test-closein on Solaris 10.
59232         * tests/test-closein.c (main): Don't assume stdin can be inherited
59233         closed on all systems.
59234         * tests/test-closein.sh: Likewise.
59235         Reported by Piotr Tarnowski.
59236
59237 2007-09-28  Jim Meyering  <jim@meyering.net>
59238
59239         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
59240
59241 2007-09-27  Jim Meyering  <jim@meyering.net>
59242
59243         canonicalize: Avoid a false-positive cycle failure.
59244         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
59245         Sort.  Remove cycle-check.
59246         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
59247         not cycle-check.h.
59248         (seen_triple): New function.
59249         (canonicalize_filename_mode): Use it instead of cycle-check.
59250         * tests/test-canonicalize.c: Add a test for this bug.
59251         * tests/test-canonicalize.sh: Set up and run the test.
59252
59253         New module, file-set, from coreutils.
59254         * modules/file-set: Define it.
59255         * lib/file-set.c, lib/file-set.h: Implement.
59256
59257         New module, hash-triple, from coreutils.
59258         * modules/hash-triple: Define it.
59259         * lib/hash-triple.c, lib/hash-triple.h: Implement.
59260
59261 2007-09-25  Eric Blake  <ebb9@byu.net>
59262
59263         Fix strerror on Interix.
59264         * lib/string_.h (strerror): Declare replacement.
59265         * doc/functions/strerror.texi (strerror): Document the Interix
59266         shortcoming.
59267         * modules/string (Makefile.am): Support new hooks.
59268         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
59269         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
59270         gl_FUNC_STRERROR_SEPARATE.
59271         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
59272         * lib/strerror.c (rpl_strerror): Provide replacement.
59273         * modules/strerror (Depends-on): Add string.
59274         (configure.ac): Detect use of module.
59275         * tests/test-strerror.c: New file.
59276         * modules/strerror-tests: New test module.
59277         * modules/argp (Depends-on): Add strerror.
59278         * modules/error (Depends-on): Likewise.
59279         Reported by Martin Koeppe.
59280
59281 2007-09-24  Bruno Haible  <bruno@clisp.org>
59282
59283         * README: Update git instructions.
59284
59285 2007-09-24  Eric Blake  <ebb9@byu.net>
59286
59287         Revert fpending breakage from 2007-09-08.
59288         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
59289         __fpending.c.
59290
59291 2007-09-24  Jim Meyering  <jim@meyering.net>
59292
59293         filenamecat.c: Add a test.
59294         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
59295         showing how the function works when DIR is the empty string.
59296
59297 2007-09-21  Simon Josefsson  <simon@josefsson.org>
59298
59299         * tests/test-canonicalize.sh: Turn on executable bit.
59300
59301 2007-09-19  Eric Blake  <ebb9@byu.net>
59302
59303         * README: Update CVS instructions.
59304
59305 2007-09-18  Bruno Haible  <bruno@clisp.org>
59306
59307         * modules/areadlink: New file.
59308         * lib/areadlink.h (areadlink): New declaration.
59309         * lib/areadlink.c: New file, based on lib/xreadlink.c.
59310
59311 2007-09-17  Jim Meyering  <jim@meyering.net>
59312
59313         * lib/savewd.c (ESTALE) [!defined]: Define.
59314         Reported to be required on Interix by Martin Koeppe.
59315
59316 2007-09-17  Bruno Haible  <bruno@clisp.org>
59317
59318         * gnulib-tool (func_version): Use $version.
59319
59320 2007-09-16  Bruno Haible  <bruno@clisp.org>
59321
59322         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
59323         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
59324         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
59325         Reported by Greg Schafer <gschafer@zip.com.au>.
59326
59327 2007-09-15  Bruno Haible  <bruno@clisp.org>
59328
59329         * gnulib-tool (sed): Try a little harder to make bash understand the
59330         alias.
59331         Reported by Bruce Korb <bruce.korb@gmail.com>.
59332
59333 2007-09-13  Eric Blake  <ebb9@byu.net>
59334
59335         * ChangeLog: Remove conflict markers.
59336
59337 2007-09-13  Simon Josefsson  <simon@josefsson.org>
59338
59339         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
59340         Reported by Bruno Haible <bruno@clisp.org>.
59341
59342 2007-09-12  Bruno Haible  <bruno@clisp.org>
59343
59344         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
59345         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
59346         is not defined.
59347
59348 2007-09-12  Eric Blake  <ebb9@byu.net>
59349
59350         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
59351         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
59352         Autoconf definition.
59353         * modules/euidaccess (Depends-on): Add extensions, for
59354         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
59355         * modules/fnmatch (Depends-on): Likewise.
59356         * modules/getaddrinfo (Depends-on): Likewise.
59357         * modules/getdelim (Depends-on): Likewise.
59358         * modules/getline (Depends-on): Likewise.
59359         * modules/getsubopt (Depends-on): Likewise.
59360         * modules/gettext (Depends-on): Likewise.
59361         * modules/group-member (Depends-on): Likewise.
59362         * modules/mbchar (Depends-on): Likewise.
59363         * modules/memmem (Depends-on): Likewise.
59364         * modules/mempcpy (Depends-on): Likewise.
59365         * modules/memrchr (Depends-on): Likewise.
59366         * modules/pagealign_alloc (Depends-on): Likewise.
59367         * modules/readutmp (Depends-on): Likewise.
59368         * modules/stpcpy (Depends-on): Likewise.
59369         * modules/stpncpy (Depends-on): Likewise.
59370         * modules/strchrnul (Depends-on): Likewise.
59371         * modules/strndup (Depends-on): Likewise.
59372         * modules/strsep (Depends-on): Likewise.
59373         * modules/strverscmp (Depends-on): Likewise.
59374         * modules/vasprintf (Depends-on): Likewise.
59375         * modules/wcwidth (Depends-on): Likewise.
59376         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
59377         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
59378         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
59379         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
59380         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
59381         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
59382         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
59383         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
59384         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
59385         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
59386         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
59387         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
59388         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
59389         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
59390         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
59391         * m4/readutmp.m4 (gl_READUTMP): Likewise.
59392         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
59393         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
59394         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59395         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
59396         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
59397         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
59398         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
59399         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
59400         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
59401         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
59402         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
59403         so that lock.m4 can be used in gettext without extensions module.
59404
59405 2007-09-11  Bruno Haible  <bruno@clisp.org>
59406
59407         * m4/isc-posix.m4: Remove file.
59408         Suggested by Eric Blake.
59409
59410 2007-09-11  Eric Blake  <ebb9@byu.net>
59411
59412         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
59413
59414 2007-09-10  Bruno Haible  <bruno@clisp.org>
59415
59416         * posix-modules: Fix typo in error message.
59417         Reported by Matt <mkraai@beckman.com>.
59418
59419 2007-09-09  Bruno Haible  <bruno@clisp.org>
59420
59421         * doc/functions/getdelim.texi: Update list of platforms lacking the
59422         function.
59423         * doc/functions/getline.texi: Likewise.
59424
59425 2007-09-09  Jim Meyering  <jim@meyering.net>
59426
59427         * lib/hash.c (hash_initialize): Detect calloc failure.
59428         Reported by Bruno Haible.
59429
59430 2007-09-09  Bruno Haible  <bruno@clisp.org>
59431
59432         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
59433         malloc or realloc fails.
59434
59435 2007-09-09  Bruno Haible  <bruno@clisp.org>
59436
59437         * modules/getcwd (Depends-on): Add malloc-posix.
59438         * modules/glob (Depends-on): Likewise.
59439         * modules/putenv (Depends-on): Likewise.
59440         * modules/strdup (Depends-on): Likewise.
59441         * modules/getdelim (Depends-on): Add realloc-posix.
59442         * modules/read-file (Depends-on): Likewise.
59443
59444 2007-09-09  Bruno Haible  <bruno@clisp.org>
59445
59446         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
59447         (gl_FUNC_MALLOC_POSIX): Require it.
59448         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
59449         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
59450         * modules/realloc (Files): Add m4/malloc.m4.
59451         * modules/calloc (Files): Likewise.
59452
59453 2007-09-09  Bruno Haible  <bruno@clisp.org>
59454
59455         * modules/malloc-posix: New file.
59456         * modules/malloc (Depends-on): Add malloc-posix.
59457         * lib/malloc.c: Include errno.h.
59458         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
59459         and a POSIX-compatible malloc into a single function. Set ENOMEM
59460         when returning NULL.
59461         * m4/malloc.m4: New file.
59462         * doc/functions/malloc.texi: Mention the malloc-posix module.
59463         * lib/stdlib_.h (malloc): New declaration.
59464         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59465         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
59466         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
59467         and HAVE_MALLOC_POSIX.
59468
59469 2007-09-09  Bruno Haible  <bruno@clisp.org>
59470
59471         * modules/realloc-posix: New file.
59472         * modules/realloc (Depends-on): Add realloc-posix.
59473         * lib/realloc.c: Include errno.h.
59474         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
59475         and a POSIX-compatible realloc into a single function. Set ENOMEM
59476         when returning NULL.
59477         * m4/realloc.m4: New file.
59478         * doc/functions/realloc.texi: Mention the realloc-posix module.
59479         * lib/stdlib_.h (realloc): New declaration.
59480         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59481         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
59482         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
59483         and HAVE_REALLOC_POSIX.
59484
59485 2007-09-09  Bruno Haible  <bruno@clisp.org>
59486
59487         * modules/calloc-posix: New file.
59488         * modules/calloc (Depends-on): Add calloc-posix.
59489         * lib/calloc.c: Include errno.h.
59490         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
59491         and a POSIX-compatible calloc into a single function. Set ENOMEM
59492         when returning NULL.
59493         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
59494         * doc/functions/calloc.texi: Mention the calloc-posix module.
59495         * lib/stdlib_.h (calloc): New declaration.
59496         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59497         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
59498         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
59499         and HAVE_CALLOC_POSIX.
59500
59501 2007-09-09  Bruno Haible  <bruno@clisp.org>
59502
59503         Allow for modules to show an arbitrary notice.
59504         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
59505         * gnulib-tool: New option --extract-notice.
59506         (func_usage): Document it.
59507         (sed_extract_prog): Update.
59508         (func_get_notice): New function.
59509         (func_modules_notice): New function.
59510         (func_import, func_create_testdir): Invoke it.
59511         Suggested by Jim Meyering.
59512
59513 2007-09-09  Bruno Haible  <bruno@clisp.org>
59514
59515         * gnulib-tool: New options --verbose, --quiet.
59516         (func_usage): Document them.
59517         (verbose): New variable.
59518         (func_execute_command): New function.
59519         (func_import): Don't show the module list and the file list if
59520         $verbose < 0.
59521         (func_create_testdir): Likewise. Use func_execute_command.
59522         (func_create_megatestdir): Use func_execute_command.
59523
59524 2007-09-08  Bruno Haible  <bruno@clisp.org>
59525
59526         * gnulib-tool (func_import): Prefer rsync over wget when available,
59527         for fetching the PO files.
59528
59529 2007-09-08  Bruno Haible  <bruno@clisp.org>
59530
59531         * posix-modules: New file. Portions copied from gnulib-tool.
59532         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
59533
59534 2007-09-08  Jim Meyering  <jim@meyering.net>
59535
59536         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
59537         * lib/fpending.h: Rename from __fpending.h.
59538         * lib/fpending.c: Rename from __fpending.c.
59539         Include "fpending.h", not "__fpending.h".
59540         * lib/__fpending.h, lib/__fpending.c: Remove files.
59541         * modules/fpending (Files): Reflect new file names.
59542         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
59543
59544 2007-09-08  Bruno Haible  <bruno@clisp.org>
59545
59546         * m4/inttypes-h.m4: Remove stub file.
59547
59548 2007-09-07  Simon Josefsson  <simon@josefsson.org>
59549
59550         * doc/headers/stdint.texi: Discuss #include_next issue.
59551
59552 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
59553
59554         * build-aux/bootstrap: Remove obsolete comment about wget --help.
59555
59556 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59557
59558         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
59559         in variable name.
59560
59561 2007-09-03  Jim Meyering  <jim@meyering.net>
59562
59563         New module: git-version-gen.
59564         * modules/git-version-gen: New file.
59565
59566         Import changes from coreutils for bootstrap script.
59567
59568         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
59569
59570         bootstrap: uses rsync to download the .po files
59571         * build-aux/bootstrap (po_download_command_format): New global.
59572         (download_po_files): Use rsync.
59573         (update_po_files): Don't remove .po files after download,
59574         so future rsync runs can take advantage of the copies.
59575
59576         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
59577
59578         Solve the unnecessary-.po-file-regeneration problem once and for all.
59579         * build-aux/bootstrap (download_po_files): New function, renamed from
59580         get_translations.  Now, downloads, but doesn't update LINGUAS.
59581         (update_po_files): New function.
59582
59583         bootstrap: Ignore more.
59584         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
59585         uniwidth to e.g., lib/.gitignore.
59586         (slurp): Handle the sys_stat_.h -> sys mapping, too.
59587
59588         * build-aux/bootstrap: New setting: vc_ignore.
59589         (insert_sorted_if_absent): Create $file if absent.
59590         Adapt to new, possibly empty, list: $vc_ignore.
59591
59592         bootstrap: generate more ignorable names
59593         * build-aux/bootstrap (slurp): When generating ignorable names,
59594         also map .sin to .sed, .gperf to .c, and .y to .c.
59595
59596 2007-09-03  Jim Meyering  <jim@meyering.net>
59597
59598         * build-aux/git-version-gen: New file, from coreutils.  For details, see
59599         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
59600
59601 2007-09-02  Bruno Haible  <bruno@clisp.org>
59602
59603         Fix mis-recognition of 'mcs' on QNX 6.
59604         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
59605         output contains the string "Mono".
59606         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
59607         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
59608
59609 2007-09-01  Bruno Haible  <bruno@clisp.org>
59610
59611         Fix collision between uniwidth/* and linebreak modules.
59612         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
59613         u32_width): Remove declarations.
59614         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
59615         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
59616         streq3, streq2, streq1, streq0): Remove functions.
59617         (STREQ): Remove macro.
59618         (is_cjk_encoding): Remove function.
59619         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
59620         (uc_width, u8_width, u16_width, u32_width): Remove functions.
59621         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
59622         * NEWS: Document the change.
59623
59624 2007-09-01  Bruno Haible  <bruno@clisp.org>
59625
59626         * lib/streq.h: Add double-inclusion guard.
59627
59628 2007-09-01  Karl Berry  <karl@gnu.org>
59629
59630         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
59631
59632 2007-08-28  Jim Meyering  <jim@meyering.net>
59633
59634         Rename mreadlink_with_size to areadlink_with_size.
59635         * NEWS: Document the change.
59636         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
59637         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
59638         * lib/mreadlink.h: Rename this to...
59639         * lib/areadlink.h: ...this.
59640         * modules/mreadlink-with-size: Rename this to...
59641         * modules/areadlink-with-size: ...this.
59642         * lib/canonicalize.c: Reflect the renaming.
59643         * modules/canonicalize: Likewise.
59644
59645 2007-08-26  Bruno Haible  <bruno@clisp.org>
59646
59647         * gnulib-tool (func_import): When deciding which files to remove,
59648         consider also dangling symbolic links.
59649         Reported by Eric Blake.
59650
59651 2007-08-26  Bruno Haible  <bruno@clisp.org>
59652
59653         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
59654
59655 2007-08-23  Simon Josefsson  <simon@josefsson.org>
59656
59657         * lib/readline.c: Don't include getline.h, the prototype is now
59658         found in stdio.h.
59659
59660 2007-08-23  Jim Meyering  <jim@meyering.net>
59661
59662         Getdelim touchup.
59663         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
59664         around the funlockfile call, since funlockfile never sets errno.
59665         Don't set errno upon failed realloc.
59666
59667 2007-08-22  Eric Blake  <ebb9@byu.net>
59668
59669         Getline touchups.
59670         * lib/getdelim.c (getdelim): Revert regression that required *n to
59671         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
59672         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
59673         getdelim, rather than whether implementation is missing.
59674         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
59675         * lib/stdio_.h (getline): Also declare if replacement is
59676         required.
59677         * doc/functions/getdelim.texi: New file.
59678         * doc/functions/getline.texi: Likewise.
59679         * doc/gnulib.texi (Function Substitutes): Add new files.
59680         Reported by Bruno Haible.
59681
59682 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
59683
59684         * users.txt: Add Guile.
59685
59686 2007-08-22  Eric Blake  <ebb9@byu.net>
59687
59688         * tests/test-getdelim.c (main): Use remove, not unlink.
59689         * tests/test-getline.c (main): Likewise.
59690
59691         Move getline and getdelim into stdio.h, per POSIX 200x.
59692         * modules/getline (Files): Remove getline.h.
59693         (Depends-on): Add stdio.
59694         (configure.ac): Add module indicator.
59695         * modules/getdelim (Files): Remove getdelim.h.
59696         (Depends-on): Add stdio.
59697         (configure.ac): Add module indicator.
59698         * modules/stdio (Makefile.am): Work with new indicators.
59699         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
59700         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
59701         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
59702         * lib/getdelim.h: Delete.
59703         * lib/getline.h: Delete.
59704         * lib/stdio_.h (getdelim, getline): Declare.
59705         * modules/getdelim-tests: New module.
59706         * modules/getline-tests: Likewise.
59707         * tests/test-getdelim.c: New file.
59708         * tests/test-getline.c: Likewise.
59709         * NEWS: Document the change.
59710         * lib/getline.c: Update choice of header.
59711         * lib/csharpcomp.c: Likewise.
59712         * lib/getpass.c: Likewise.
59713         * lib/javacomp.c: Likewise.
59714         * lib/javaversion.c: Likewise.
59715         * lib/yesno.c: Likewise.
59716         * lib/getdelim.c: Likewise.
59717         (getdelim): Set errno on failure, and avoid memory leak.
59718
59719 2007-08-19  Bruno Haible  <bruno@clisp.org>
59720
59721         * modules/closein (Depends-on): Add freadahead.
59722         * lib/closein.c: Include freadahead.h.
59723         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
59724         is zero.
59725
59726 2007-08-19  Bruno Haible  <bruno@clisp.org>
59727
59728         * modules/freadahead-tests: New file.
59729         * tests/test-freadahead.sh: New file.
59730         * tests/test-freadahead.c: New file.
59731
59732         * modules/freadahead: New file.
59733         * lib/freadahead.h: New file.
59734         * lib/freadahead.c: New file.
59735         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
59736         fbufmode, fpurge, freadable, fwritable.
59737
59738 2007-08-19  Eric Blake  <ebb9@byu.net>
59739
59740         Test yesno in combination with closein.
59741         * lib/yesno.c (yesno): Document use of stdin.
59742         * modules/yesno-tests (Files): New module.
59743         * tests/test-yesno.c (main): New file.
59744         * tests/test-yesno.sh: Likewise.
59745
59746 2007-08-19  Bruno Haible  <bruno@clisp.org>
59747
59748         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
59749         * lib/fseeko.c (rpl_fseeko): Likewise.
59750         * lib/fseterr.c (fseterr): Likewise.
59751
59752 2007-08-19  Bruno Haible  <bruno@clisp.org>
59753
59754         * tests/test-lseek.c (main): Disable a test for BeOS.
59755         * doc/functions/lseek.texi: Document the BeOS bug.
59756
59757 2007-08-19  Bruno Haible  <bruno@clisp.org>
59758             Eric Blake  <ebb9@byu.net>
59759
59760         * lib/lseek.c: Include <sys/stat.h>.
59761         (rpl_lseek): Add workaround code also for Unix platforms.
59762         Needed for BeOS.
59763         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
59764         * doc/functions/lseek.texi: Document BeOS definiency.
59765
59766 2007-08-18  Bruno Haible  <bruno@clisp.org>
59767
59768         * modules/fstrcmp-tests: New file.
59769         * tests/test-fstrcmp.c: New file.
59770
59771 2007-08-18  Bruno Haible  <bruno@clisp.org>
59772
59773         * modules/fstrcmp: New file, from GNU gettext with modifications.
59774         * lib/fstrcmp.h: New file, from GNU gettext.
59775         * lib/fstrcmp.c: New file, from GNU gettext.
59776         * MODULES.html.sh (String handling): Add fstrcmp.
59777
59778 2007-08-18  Bruno Haible  <bruno@clisp.org>
59779
59780         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
59781         'bool'.
59782         (diag, compareseq): Remove const from the ctxt argument.
59783         (USE_HEURISTIC): Undefine at the end.
59784
59785 2007-08-18  Jim Meyering  <jim@meyering.net>
59786
59787         New file: lib/idcache.h
59788         * NEWS: Mention the addition.
59789         * modules/idcache (Files): Add lib/idcache.h
59790         * lib/idcache.c: Include "idcache.h".
59791         Don't include <sys/types.h>.
59792         Add a FIXME comment.
59793         Move file-scoped "static" declarations to the top.
59794         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
59795
59796 2007-08-17  Bruno Haible  <bruno@clisp.org>
59797         and Paul Eggert  <eggert@cs.ucla.edu>
59798
59799         * MODULES.html.sh: Add diffseq.
59800         * modules/diffseq: New file.
59801         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
59802         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
59803
59804 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59805
59806         Import changes from coreutils for bootstrap script.
59807
59808         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
59809
59810         * build-aux/bootstrap (slurp): Work even in environments where
59811         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
59812         current code does not slurp files whose names start with ".", and
59813         this looks like it might be a troublesome area.
59814
59815         2007-07-11  Jim Meyering  <jim@meyering.net>
59816
59817         If there's a GPL vN copyright comment, require that N == 3.
59818
59819         2007-07-08  Jim Meyering  <jim@meyering.net>
59820
59821         Run the coreutils-specific code only if tests/Makefile.am.in exists.
59822         * build-aux/bootstrap (mam_template): Move definition out of loop.
59823
59824         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
59825
59826         * build-aux/bootstrap (symlink_to_dir): Rename function from
59827         symlink_to_gnulib.  Add a directory parameter.  Update all
59828         callers.
59829         (cp_mark_as_generated): Also check for -- and link to -- files in
59830         gl/.
59831
59832         2007-07-08  Jim Meyering  <jim@meyering.net>
59833
59834         Adapt to deeper hierarchy in gnulib.
59835         * build-aux/bootstrap (symlink_to_dir): If the destination
59836         directory doesn't exist, create it. This is required at least for
59837         "lib/uniwidth/cjk.h".
59838
59839         2007-05-15  Jim Meyering  <jim@meyering.net>
59840
59841         * build-aux/bootstrap: Now that generated Makefile.am files
59842         are no longer under version control, they must be created at
59843         bootstrap time.
59844
59845 2007-08-14  Ben Pfaff  <blp@gnu.org>
59846
59847         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
59848
59849 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59850
59851         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
59852         given the changes below.
59853         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
59854         even on hosts that have padding bits beyond the supported 64.
59855
59856 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
59857
59858         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
59859         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
59860         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
59861         depends on it.
59862         (xstrtol_error): Remove.
59863         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
59864         but with a different signature.
59865         (ATTRIBUTE_NORETURN, __attribute__): New macros.
59866         * lib/xstrtol-error.c: Include exitfail.h.
59867         (xstrtol_fatal): New function, with a different signature from the
59868         old xstrtol_error, so that the caller need not worry about passing
59869         in an exit status, or about storage management of the option argument.
59870         (xstrtol_error): Now a static function.  Redo signature to
59871         implement xstrtol_fatal.  Output the correct number of hyphens in
59872         front of the option so that the caller need not worry about
59873         storage management.
59874         (N_): New macro.
59875         (_): Remove; not used now.
59876         * modules/xstrtol: Depend on getopt.
59877         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
59878         of old STRTOL_FATAL_ERROR macro.
59879         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
59880         of test program.
59881         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
59882         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
59883
59884 2007-08-08  Eric Blake  <ebb9@byu.net>
59885
59886         * lib/xstrtol-error.c: Add missing include.
59887
59888         Move xstrtol messages into gnulib domain, when --pobase is used.
59889         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
59890         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
59891         * modules/xstrtol (Files): Distribute new file.
59892         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
59893         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
59894         * tests/test-xstrtol.c: ...into new file.
59895         * tests/test-xstrtoul.c: Also test xstrtoul.
59896         * tests/test-xstrtoimax.c: Also test xstrtoimax.
59897         * tests/test-xstrtoumax.c: Also test xstrtoumax.
59898         * tests/test-xstrtol.sh: Drive the tests.
59899         * tests/test-xstrtoimax.sh: Likewise.
59900         * tests/test-xstrtoumax.sh: Likewise.
59901         * modules/xstrtol-tests: New module.
59902         * modules/xstrtoimax-tests: Likewise.
59903         * modules/xstrtoumax-tests: Likewise.
59904
59905 2007-08-08  Jim Meyering  <jim@meyering.net>
59906
59907         New function: mfile_name_concat.
59908         * lib/filenamecat.c (mfile_name_concat): New function, just like
59909         file_name_concat, but return NULL upon failure rather than exiting
59910         with a diagnostic.
59911         * lib/filenamecat.h: Declare it.
59912
59913 2007-08-07  Bruno Haible  <bruno@clisp.org>
59914
59915         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
59916         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
59917         warning from gcc.
59918         Reported by Eric Blake.
59919
59920 2007-08-07  Simon Josefsson  <simon@josefsson.org>
59921
59922         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
59923         * modules/crypto/arcfour (License): Likewise.
59924         * modules/crypto/des-tests (License): Likewise.
59925         * modules/crypto/gc-arctwo-tests (License): Likewise.
59926         * modules/crypto/gc-des-tests (License): Likewise.
59927         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
59928         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
59929         * modules/crypto/gc-md2-tests (License): Likewise.
59930         * modules/crypto/gc-md4-tests (License): Likewise.
59931         * modules/crypto/gc-md5-tests (License): Likewise.
59932         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
59933         * modules/crypto/gc-rijndael-tests (License): Likewise.
59934         * modules/crypto/gc-sha1-tests (License): Likewise.
59935         * modules/crypto/gc-tests (License): Likewise.
59936         * modules/crypto/hmac-md5 (License): Likewise.
59937         * modules/crypto/hmac-sha1 (License): Likewise.
59938         * modules/crypto/md2-tests (License): Likewise.
59939         * modules/crypto/md4-tests (License): Likewise.
59940         * modules/crypto/md5 (License): Likewise.
59941         * modules/crypto/rijndael (License): Likewise.
59942         * modules/crypto/sha1 (License): Likewise.
59943         * modules/memxor (License): Likewise.
59944
59945 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
59946         and Bruno Haible  <bruno@clisp.org>
59947
59948         * NEWS: Describe interface changes to human, xstrtol.
59949         * lib/human.h: Include <xstrtol.h>.
59950         (human_options): Return enum strtol_error, not int.  Remove
59951         bool arg; take int * instead.
59952         * lib/human.c: Don't include "gettext.h".
59953         (_): Remove; no longer used.
59954         Don't include <xstrtol.h>, since human.h does it.
59955         (human_options): Adjust to abovementioned interface changes.
59956         Do not report error to stderr; that's now the caller's
59957         responsibility.
59958         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
59959         interface change.
59960         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
59961         Str, Argument_type_string.  All uses changed.  Put " argument"
59962         in diagnostics to make them clearer.  Change wording of suffix
59963         message for clarity.
59964         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
59965         Argument_type_string.
59966         (STRTOL_FATAL_WARN): Remove; no longer used.
59967         * modules/human (Depends-on): Remove gettext-h.
59968
59969 2007-08-06  Simon Josefsson  <simon@josefsson.org>
59970
59971         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
59972
59973 2007-07-31  Bruno Haible  <bruno@clisp.org>
59974
59975         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
59976         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
59977         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
59978
59979 2007-07-31  Bruno Haible  <bruno@clisp.org>
59980
59981         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
59982         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
59983
59984 2007-07-30  Bruno Haible  <bruno@clisp.org>
59985
59986         * modules/base64 (License): Use the synonymous term "LGPLv2+".
59987         * modules/c-ctype (License): Likewise.
59988         * modules/c-strcase (License): Likewise.
59989         * modules/check-version (License): Likewise.
59990         * modules/iconv (License): Likewise.
59991         * modules/iconv_open (License): Likewise.
59992         * modules/read-file (License): Likewise.
59993         * modules/striconv (License): Likewise.
59994         * modules/strverscmp (License): Likewise.
59995         * modules/vasprintf (License): Likewise.
59996         * modules/crypto/des (License): Likewise.
59997         * modules/crypto/gc (License): Likewise.
59998         * modules/crypto/gc-arcfour (License): Likewise.
59999         * modules/crypto/gc-arctwo (License): Likewise.
60000         * modules/crypto/gc-des (License): Likewise.
60001         * modules/crypto/gc-hmac-md5 (License): Likewise.
60002         * modules/crypto/gc-hmac-sha1 (License): Likewise.
60003         * modules/crypto/gc-md2 (License): Likewise.
60004         * modules/crypto/gc-md4 (License): Likewise.
60005         * modules/crypto/gc-md5 (License): Likewise.
60006         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
60007         * modules/crypto/gc-random (License): Likewise.
60008         * modules/crypto/gc-rijndael (License): Likewise.
60009         * modules/crypto/gc-sha1 (License): Likewise.
60010         * modules/crypto/md2 (License): Likewise.
60011         * modules/crypto/md4 (License): Likewise.
60012
60013 2007-07-30  Jim Meyering  <jim@meyering.net>
60014
60015         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
60016         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
60017         it has valid stat data.  This bug would cause du not to count the
60018         sizes of inaccessible directories.
60019         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
60020         in <http://bugzilla.redhat.com/250077>.
60021
60022 2007-07-25  Peter O'Gorman  <peter@pogma.com>
60023             Bruno Haible  <bruno@clisp.org>
60024
60025         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
60026         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
60027         #include_next, gives a diagnostic about it, but reports no error in
60028         the exit code.
60029         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
60030
60031 2007-07-24  Ben Pfaff  <blp@gnu.org>
60032
60033         Improve name: "count-one-bits" is better than "popcount".
60034         * MODULES.html.sh: Update name.
60035         * lib/popcount.h: Renamed lib/count-one-bits.h.
60036         (popcount): Renamed count_one_bits.
60037         (popcountl): Renamed count_one_bits_l.
60038         (popcountll): Renamed count_one_bits_ll.
60039         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
60040         * modules/popcount: Renamed module/count-one-bits.
60041         * modules/popcount-tests: Renamed module/count-one-bits-tests.
60042         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
60043
60044 2007-07-23  Ben Pfaff  <blp@gnu.org>
60045
60046         * lib/popcount.h (popcount32): Reduce size of constants, to allow
60047         better code generation, and add U to large constants to avoid
60048         warnings, in non-GCC case.
60049         Suggested by Bruno Haible.
60050
60051 2007-07-23  Ben Pfaff  <blp@gnu.org>
60052
60053         * lib/popcount.h: Use verify_true instead of if...abort.
60054         * modules/popcount: Depend on verify module.
60055         Suggested by Jim Meyering.
60056
60057 2007-07-23  Bruno Haible  <bruno@clisp.org>
60058
60059         * gnulib-tool (func_import): Create a .cvsignore file also when the
60060         directory is not yet in CVS but the toplevel directory is. When
60061         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
60062         Reported by Karl Berry.
60063
60064 2007-07-22  Ben Pfaff  <blp@gnu.org>
60065
60066         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
60067         case.
60068         Suggested by Eric Blake.
60069
60070 2007-07-22  Ben Pfaff  <blp@gnu.org>
60071
60072         New module: popcount.
60073         * MODULES.html.sh: Add popcount.
60074         * modules/popcount: New file.
60075         * modules/popcount-tests: New file.
60076         * tests/test-popcount.c: New file.
60077         * lib/popcount.h: New file.
60078         * m4/popcount.m4: New file.
60079
60080 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60081
60082         * build-aux/announce-gen: Update to GPLv3.
60083
60084         * build-aux/config.guess: Update from config.
60085
60086 2007-07-21  Bruno Haible  <bruno@clisp.org>
60087
60088         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
60089         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
60090
60091 2007-07-20  Jim Meyering  <jim@meyering.net>
60092
60093         * check-module: Diagnose a self-dependency.
60094
60095 2007-07-19  Bruno Haible  <bruno@clisp.org>
60096
60097         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
60098         empty.
60099         Reported by Eric Blake.
60100
60101 2007-07-18  Bruno Haible  <bruno@clisp.org>
60102
60103         * gnulib-tool: New options --po-base, --po-domain.
60104         (func_usage): Document them.
60105         (pobase, po_domain): New variables.
60106         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
60107         DEFAULT_TEXT_DOMAIN.
60108         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
60109         (func_import): Consider pobase and po_domain. Create a po/ directory.
60110         (func_create_testdir): Set pobase and po_domain to empty.
60111         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
60112         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
60113
60114 2007-07-18  Bruno Haible  <bruno@clisp.org>
60115
60116         * gnulib-tool (func_get_automake_snippet): Synthesize also an
60117         EXTRA_DIST augmentation for files in build-aux/.
60118
60119 2007-07-16  Bruno Haible  <bruno@clisp.org>
60120
60121         * modules/lseek (License): Use the synonymous term "LGPLv2+".
60122         * modules/getdelim (License): Likewise.
60123
60124 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60125
60126         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
60127         * modules/d-type (License): Likewise.
60128         * modules/extensions (License): Likewise.
60129         * modules/fnmatch (License): Likewise.
60130         * modules/fseeko (License): Likewise.
60131         * modules/getaddrinfo (License): Likewise.
60132         * modules/getline (License): Likewise.
60133         * modules/getlogin_r (License): Likewise.
60134         * modules/getpass (License): Likewise.
60135         * modules/gettimeofday (License): Likewise.
60136         * modules/glob (License): Likewise.
60137         * modules/inet_ntop (License): Likewise.
60138         * modules/malloc (License): Likewise.
60139         * modules/malloca (License): Likewise.
60140         * modules/memmem (License): Likewise.
60141         * modules/mempcpy (License): Likewise.
60142         * modules/memset (License): Likewise.
60143         * modules/minmax (License): Likewise.
60144         * modules/mktime (License): Likewise.
60145         * modules/netinet_in (License): Likewise.
60146         * modules/pathmax (License): Likewise.
60147         * modules/poll (License): Likewise.
60148         * modules/regex (License): Likewise.
60149         * modules/snprintf (License): Likewise.
60150         * modules/stdbool (License): Likewise.
60151         * modules/stdint (License): Likewise.
60152         * modules/stdio (License): Likewise.
60153         * modules/strcase (License): Likewise.
60154         * modules/strcasestr (License): Likewise.
60155         * modules/strdup (License): Likewise.
60156         * modules/string (License): Likewise.
60157         * modules/strndup (License): Likewise.
60158         * modules/strnlen (License): Likewise.
60159         * modules/strpbrk (License): Likewise.
60160         * modules/strptime (License): Likewise.
60161         * modules/strsep (License): Likewise.
60162         * modules/sys_select (License): Likewise.
60163         * modules/sys_socket (License): Likewise.
60164         * modules/sys_stat (License): Likewise.
60165         * modules/sys_time (License): Likewise.
60166         * modules/time (License): Likewise.
60167         * modules/time_r (License): Likewise.
60168         * modules/timegm (License): Likewise.
60169         * modules/unistd (License): Likewise.
60170         * modules/vsnprintf (License): Likewise.
60171         * modules/wctype (License): Likewise.
60172
60173 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60174
60175         * modules/argz (License): LGPLv2+.
60176
60177 2007-07-15  Karl Berry  <karl@gnu.org>
60178
60179         * doc/gnulib.texi: revise node structure per new fdl.texi.
60180
60181 2007-07-14  Bruno Haible  <bruno@clisp.org>
60182
60183         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
60184         the output file.
60185         * lib/uniname/uninames.h: Regenerated.
60186
60187 2007-07-14  Karl Berry  <karl@gnu.org>
60188
60189         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
60190         omitting sectioning and index commands.
60191
60192 2007-07-13  Bruno Haible  <bruno@clisp.org>
60193
60194         New gnulib-tool option --more-symlinks.
60195         * gnulib-tool (func_usage): Document --more-symlinks.
60196         (do_copyrights): New variable.
60197         Recognize option --more-symlinks.
60198         (func_import): Don't add a copyright notice transform to
60199         sed_transform_lib_file if do_copyrights is empty.
60200
60201 2007-07-13  Bruno Haible  <bruno@clisp.org>
60202
60203         * lib/vasnprintf.c (decimal_point_char): Define also if
60204         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
60205         && !NEED_PRINTF_DIRECTIVE_A.
60206         Reported by Clemens Koller <clemens.koller@anagramm.de> via
60207         Gary V. Vaughan <gary@gnu.org>.
60208
60209 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
60210
60211         * lib/inttypes_.h: Undo previous change, since it was fixed
60212         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
60213
60214 2007-07-13  Bruno Haible  <bruno@clisp.org>
60215
60216         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
60217         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
60218
60219 2007-07-13  Jim Meyering  <jim@meyering.net>
60220
60221         df: Don't fail for Tru64's "file-on-file mount".
60222         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
60223         so we fall through and use statfs instead.  Details here:
60224         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
60225         Reported by Albert Chin.
60226
60227 2007-07-13  Bruno Haible  <bruno@clisp.org>
60228
60229         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
60230         * modules/configmake (License): Likewise.
60231         * modules/gettext (License): Likewise.
60232         * modules/gettext-h (License): Likewise.
60233         * modules/include_next (License): Likewise.
60234         * modules/link-warning (License): Likewise.
60235         * modules/localcharset (License): Likewise.
60236         * modules/localename (License): Likewise.
60237         * modules/lock (License): Likewise.
60238         * modules/relocatable-lib-lgpl (License): Likewise.
60239         * modules/size_max (License): Likewise.
60240         * modules/vasnprintf (License): Likewise.
60241         * modules/wchar (License): Likewise.
60242         * modules/xsize (License): Likewise.
60243
60244 2007-07-13  Bruno Haible  <bruno@clisp.org>
60245
60246         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
60247         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
60248
60249 2007-07-12  Bruno Haible  <bruno@clisp.org>
60250
60251         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
60252         in the modules files.
60253
60254 2007-07-11  Karl Berry  <karl@gnu.org>
60255
60256         * MODULES.html.sh (func_module): use
60257          sed -e '\|^'"${includefile}"'$|d'
60258          instead of /.../d, to avoid errors on $includefile's containing /.
60259
60260 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
60261
60262         * gnulib-tool (func_import): Avoid duplication of --avoid
60263         statements
60264         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
60265         names to `_' in variable names.
60266
60267 2007-07-10  Eric Blake  <ebb9@byu.net>
60268
60269         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
60270         * NEWS: Document this change.
60271
60272 2007-07-08  Bruno Haible  <bruno@clisp.org>
60273
60274         Update to Unicode 5.0.
60275         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
60276         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
60277         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
60278         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
60279         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
60280         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
60281         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
60282         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
60283         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
60284         U+10A3F, U+1D242..U+1D244.
60285         (nonspacing_table_ind): Update.
60286         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
60287         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
60288
60289 2007-07-08  Bruno Haible  <bruno@clisp.org>
60290
60291         Update to Unicode 5.0.
60292         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
60293         code transform. Extend the name index field of unicode_name_to_code and
60294         unicode_code_to_name from 16 to 24 bits.
60295         * lib/uniname/uniname.c (unicode_character_name,
60296         unicode_name_character): Add the range 0x12xxx to the code transform.
60297         * lib/uniname/uninames.h: Regenerated.
60298         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
60299
60300 2007-07-07  Bruno Haible  <bruno@clisp.org>
60301
60302         * modules/wcwidth-tests: New file.
60303         * tests/test-wcwidth.c: New file.
60304
60305         Work around MacOS X wcwidth() bug.
60306         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
60307         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
60308         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
60309         original wcwidth in non-UTF-8 locales.
60310         * modules/wcwidth (Depends-on): Add localcharset, streq,
60311         uniwidth/width.
60312         * doc/functions/wcwidth.texi: Update.
60313
60314 2007-07-07  Bruno Haible  <bruno@clisp.org>
60315
60316         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
60317         (wcwidth): New declaration.
60318         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
60319         macros.
60320         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
60321         here. Prepare for creating <wchar.h> unconditionally.
60322         * modules/wchar (Depends-on): Add link-warning.
60323         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
60324         REPLACE_WCWIDTH, and GL_LINK_WARNING.
60325         * lib/wcwidth.h: Remove file.
60326         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
60327         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
60328         * modules/wcwidth (Files): Remove lib/wcwidth.h.
60329         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
60330         (Include): Replace wcwidth.h with <wchar.h>.
60331         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
60332         * lib/mbchar.h: Don't include wcwidth.h.
60333         * lib/mbswidth.c: Likewise.
60334         * NEWS: Mention the change.
60335
60336 2007-07-07  Bruno Haible  <bruno@clisp.org>
60337
60338         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
60339         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
60340         definition with an external declaration.
60341         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
60342         defined as a function. Remove AC_C_INLINE requirement.
60343         * modules/wcwidth (Files): Add lib/wcwidth.c.
60344         (Makefile.am): Remove redundant statement.
60345
60346 2007-07-07  Bruno Haible  <bruno@clisp.org>
60347
60348         * MODULES.html.sh (Unicode string functions): Add the new modules.
60349
60350         * tests/uniwidth/test-u32-strwidth.c: New file.
60351         * modules/uniwidth/u32-strwidth-tests: New file.
60352
60353         * lib/uniwidth/u32-strwidth.c: New file.
60354         * modules/uniwidth/u32-strwidth: New file.
60355
60356         * tests/uniwidth/test-u16-strwidth.c: New file.
60357         * modules/uniwidth/u16-strwidth-tests: New file.
60358
60359         * lib/uniwidth/u16-strwidth.c: New file.
60360         * modules/uniwidth/u16-strwidth: New file.
60361
60362         * tests/uniwidth/test-u8-strwidth.c: New file.
60363         * modules/uniwidth/u8-strwidth-tests: New file.
60364
60365         * lib/uniwidth/u8-strwidth.c: New file.
60366         * modules/uniwidth/u8-strwidth: New file.
60367
60368         * tests/uniwidth/test-u32-width.c: New file.
60369         * modules/uniwidth/u32-width-tests: New file.
60370
60371         * lib/uniwidth/u32-width.c: New file.
60372         * modules/uniwidth/u32-width: New file.
60373
60374         * tests/uniwidth/test-u16-width.c: New file.
60375         * modules/uniwidth/u16-width-tests: New file.
60376
60377         * lib/uniwidth/u16-width.c: New file.
60378         * modules/uniwidth/u16-width: New file.
60379
60380         * tests/uniwidth/test-u8-width.c: New file.
60381         * modules/uniwidth/u8-width-tests: New file.
60382
60383         * lib/uniwidth/u8-width.c: New file.
60384         * modules/uniwidth/u8-width: New file.
60385
60386         * tests/uniwidth/test-uc_width.c: New file.
60387         * modules/uniwidth/width-tests: New file.
60388
60389         * lib/uniwidth/width.c: New file, from GNU libiconv.
60390         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
60391         * modules/uniwidth/width: New file.
60392
60393         * lib/uniwidth.h: New file, from GNU libiconv.
60394         * modules/uniwidth/base: New file.
60395
60396 2007-07-07  Bruno Haible  <bruno@clisp.org>
60397
60398         * lib/uniname.h: New file, from GNU gettext.
60399         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
60400         * lib/uniname/uninames.h: New file, from GNU gettext.
60401         * lib/uniname/uniname.c: New file, from GNU gettext.
60402         * tests/uniname/test-uninames.sh: New file.
60403         * tests/uniname/test-uninames.c: New file, from GNU gettext.
60404         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
60405         * modules/uniname/base: New file.
60406         * modules/uniname/uniname: New file.
60407         * modules/uniname/uniname-tests: New file.
60408         * MODULES.html.sh (Unicode string functions): Add the new modules.
60409
60410 2007-07-06  Bruno Haible  <bruno@clisp.org>
60411
60412         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
60413
60414 2007-07-06  Bruno Haible  <bruno@clisp.org>
60415
60416         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
60417         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
60418         includes <cygwin/sys_time.h> which includes <sys/select.h> which
60419         include <sys/time.h>.
60420         Reported by Eric Blake.
60421
60422 2007-07-06  Eric Blake  <ebb9@byu.net>
60423
60424         Fix testing canonicalize on cygwin.
60425         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
60426         Revert patch from 2007-06-19.
60427         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
60428         canonicalize module is also in use.
60429         * tests/test-canonicalize.c: New file.
60430         * tests/test-canonicalize.sh: Likewise.
60431         * modules/canonicalize-tests: Likewise.
60432
60433 2007-07-06  Jim Meyering  <jim@meyering.net>
60434
60435         * lib/getugroups.c (getugroups): Detect getgrent failure.
60436         Adjust comment to reflect reality: this function may return -1.
60437
60438 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
60439
60440         * build-aux/bootstrap (TP_URL,get_translations): Update to use
60441         the new TP address.
60442         (usage): Fix typo
60443         (gnulib_mk): New variable.
60444
60445 2007-07-05  Jim Meyering  <jim@meyering.net>
60446
60447         Don't let endgrent clobber errno, no matter how improbable.
60448         * lib/getugroups.c (getugroups): Save and restore errno around
60449         endgrent call.
60450
60451         Close the group DB even when failing with 2^31 or more members.
60452         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
60453
60454 2007-07-04  Jim Meyering  <jim@meyering.net>
60455
60456         * lib/getugroups.h: New file.
60457         * lib/getugroups.c: Include "getugroups.h".
60458         Remove uses of "register" keyword.
60459         Move local variable, "cp", down into scope where used.
60460         Give "username" parameter the "const" attribute.
60461         * modules/getugroups (Files): Add lib/getugroups.h
60462
60463 2007-07-04  Karl Berry  <karl@gnu.org>
60464
60465         * MODULES.html.sh (func_all_modules): Complete rename of
60466         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
60467
60468 2007-07-02  Bruno Haible  <bruno@clisp.org>
60469
60470         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
60471         mode, when inttypes.h comes from gnulib.
60472         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
60473
60474 2007-07-02  Simon Josefsson  <simon@josefsson.org>
60475
60476         * NEWS: Mention lgpl module name change.
60477
60478         * modules/lgpl-2.1: Renamed from lgpl.
60479
60480         * NEWS: Mention gpl module name change.
60481
60482         * modules/gpl-3.0: New file, based on gpl-2.0.
60483
60484         * modules/gpl-2.0: Renamed from gpl.
60485
60486         * modules/gpl: Fix filename, doc/gpl.texi is now found at
60487         doc/gpl-2.0.texi.
60488
60489 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
60490
60491         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
60492         #define __STDC_LIMIT_MACROS temporarily while including
60493         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
60494         Problem reported by Joel E. Denny in
60495         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
60496
60497 2007-07-01  Bruno Haible  <bruno@clisp.org>
60498
60499         * lib/unistdio.h: New file.
60500         * lib/unistdio/u-asnprintf.h: New file.
60501         * lib/unistdio/u-asprintf.h: New file.
60502         * lib/unistdio/u-printf-args.c: New file.
60503         * lib/unistdio/u-printf-args.h: New file.
60504         * lib/unistdio/u-printf-parse.h: New file.
60505         * lib/unistdio/u-snprintf.h: New file.
60506         * lib/unistdio/u-sprintf.h: New file.
60507         * lib/unistdio/u-vasprintf.h: New file.
60508         * lib/unistdio/u-vsnprintf.h: New file.
60509         * lib/unistdio/u-vsprintf.h: New file.
60510         * lib/unistdio/ulc-asnprintf.c: New file.
60511         * lib/unistdio/ulc-asprintf.c: New file.
60512         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
60513         * lib/unistdio/ulc-printf-parse.c: New file.
60514         * lib/unistdio/ulc-snprintf.c: New file.
60515         * lib/unistdio/ulc-sprintf.c: New file.
60516         * lib/unistdio/ulc-vasnprintf.c: New file.
60517         * lib/unistdio/ulc-vasprintf.c: New file.
60518         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
60519         * lib/unistdio/ulc-vsnprintf.c: New file.
60520         * lib/unistdio/ulc-vsprintf.c: New file.
60521         * lib/unistdio/u8-asnprintf.c: New file.
60522         * lib/unistdio/u8-asprintf.c: New file.
60523         * lib/unistdio/u8-printf-parse.c: New file.
60524         * lib/unistdio/u8-snprintf.c: New file.
60525         * lib/unistdio/u8-sprintf.c: New file.
60526         * lib/unistdio/u8-vasnprintf.c: New file.
60527         * lib/unistdio/u8-vasprintf.c: New file.
60528         * lib/unistdio/u8-vsnprintf.c: New file.
60529         * lib/unistdio/u8-vsprintf.c: New file.
60530         * lib/unistdio/u8-u8-asnprintf.c: New file.
60531         * lib/unistdio/u8-u8-asprintf.c: New file.
60532         * lib/unistdio/u8-u8-snprintf.c: New file.
60533         * lib/unistdio/u8-u8-sprintf.c: New file.
60534         * lib/unistdio/u8-u8-vasnprintf.c: New file.
60535         * lib/unistdio/u8-u8-vasprintf.c: New file.
60536         * lib/unistdio/u8-u8-vsnprintf.c: New file.
60537         * lib/unistdio/u8-u8-vsprintf.c: New file.
60538         * lib/unistdio/u16-asnprintf.c: New file.
60539         * lib/unistdio/u16-asprintf.c: New file.
60540         * lib/unistdio/u16-printf-parse.c: New file.
60541         * lib/unistdio/u16-snprintf.c: New file.
60542         * lib/unistdio/u16-sprintf.c: New file.
60543         * lib/unistdio/u16-vasnprintf.c: New file.
60544         * lib/unistdio/u16-vasprintf.c: New file.
60545         * lib/unistdio/u16-vsnprintf.c: New file.
60546         * lib/unistdio/u16-vsprintf.c: New file.
60547         * lib/unistdio/u16-u16-asnprintf.c: New file.
60548         * lib/unistdio/u16-u16-asprintf.c: New file.
60549         * lib/unistdio/u16-u16-snprintf.c: New file.
60550         * lib/unistdio/u16-u16-sprintf.c: New file.
60551         * lib/unistdio/u16-u16-vasnprintf.c: New file.
60552         * lib/unistdio/u16-u16-vasprintf.c: New file.
60553         * lib/unistdio/u16-u16-vsnprintf.c: New file.
60554         * lib/unistdio/u16-u16-vsprintf.c: New file.
60555         * lib/unistdio/u32-asnprintf.c: New file.
60556         * lib/unistdio/u32-asprintf.c: New file.
60557         * lib/unistdio/u32-printf-parse.c: New file.
60558         * lib/unistdio/u32-snprintf.c: New file.
60559         * lib/unistdio/u32-sprintf.c: New file.
60560         * lib/unistdio/u32-vasnprintf.c: New file.
60561         * lib/unistdio/u32-vasprintf.c: New file.
60562         * lib/unistdio/u32-vsnprintf.c: New file.
60563         * lib/unistdio/u32-vsprintf.c: New file.
60564         * lib/unistdio/u32-u32-asnprintf.c: New file.
60565         * lib/unistdio/u32-u32-asprintf.c: New file.
60566         * lib/unistdio/u32-u32-snprintf.c: New file.
60567         * lib/unistdio/u32-u32-sprintf.c: New file.
60568         * lib/unistdio/u32-u32-vasnprintf.c: New file.
60569         * lib/unistdio/u32-u32-vasprintf.c: New file.
60570         * lib/unistdio/u32-u32-vsnprintf.c: New file.
60571         * lib/unistdio/u32-u32-vsprintf.c: New file.
60572         * tests/unistdio/test-ulc-asnprintf1.c: New file.
60573         * tests/unistdio/test-ulc-asnprintf1.h: New file.
60574         * tests/unistdio/test-ulc-printf1.h: New file.
60575         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
60576         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
60577         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
60578         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
60579         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
60580         * tests/unistdio/test-ulc-vasprintf1.c: New file.
60581         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
60582         * tests/unistdio/test-ulc-vsprintf1.c: New file.
60583         * tests/unistdio/test-u8-asnprintf1.c: New file.
60584         * tests/unistdio/test-u8-asnprintf1.h: New file.
60585         * tests/unistdio/test-u8-printf1.h: New file.
60586         * tests/unistdio/test-u8-vasnprintf1.c: New file.
60587         * tests/unistdio/test-u8-vasnprintf2.c: New file.
60588         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
60589         * tests/unistdio/test-u8-vasnprintf3.c: New file.
60590         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
60591         * tests/unistdio/test-u8-vasprintf1.c: New file.
60592         * tests/unistdio/test-u8-vsnprintf1.c: New file.
60593         * tests/unistdio/test-u8-vsprintf1.c: New file.
60594         * tests/unistdio/test-u16-asnprintf1.c: New file.
60595         * tests/unistdio/test-u16-asnprintf1.h: New file.
60596         * tests/unistdio/test-u16-printf1.h: New file.
60597         * tests/unistdio/test-u16-vasnprintf1.c: New file.
60598         * tests/unistdio/test-u16-vasnprintf2.c: New file.
60599         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
60600         * tests/unistdio/test-u16-vasnprintf3.c: New file.
60601         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
60602         * tests/unistdio/test-u16-vasprintf1.c: New file.
60603         * tests/unistdio/test-u16-vsnprintf1.c: New file.
60604         * tests/unistdio/test-u16-vsprintf1.c: New file.
60605         * tests/unistdio/test-u32-asnprintf1.c: New file.
60606         * tests/unistdio/test-u32-asnprintf1.h: New file.
60607         * tests/unistdio/test-u32-printf1.h: New file.
60608         * tests/unistdio/test-u32-vasnprintf1.c: New file.
60609         * tests/unistdio/test-u32-vasnprintf2.c: New file.
60610         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
60611         * tests/unistdio/test-u32-vasnprintf3.c: New file.
60612         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
60613         * tests/unistdio/test-u32-vasprintf1.c: New file.
60614         * tests/unistdio/test-u32-vsnprintf1.c: New file.
60615         * tests/unistdio/test-u32-vsprintf1.c: New file.
60616         * modules/unistdio/base: New file.
60617         * modules/unistdio/u-printf-args: New file.
60618         * modules/unistdio/ulc-asnprintf: New file.
60619         * modules/unistdio/ulc-asprintf: New file.
60620         * modules/unistdio/ulc-fprintf: New file.
60621         * modules/unistdio/ulc-printf-parse: New file.
60622         * modules/unistdio/ulc-snprintf: New file.
60623         * modules/unistdio/ulc-sprintf: New file.
60624         * modules/unistdio/ulc-vasnprintf: New file.
60625         * modules/unistdio/ulc-vasprintf: New file.
60626         * modules/unistdio/ulc-vfprintf: New file.
60627         * modules/unistdio/ulc-vsnprintf: New file.
60628         * modules/unistdio/ulc-vsprintf: New file.
60629         * modules/unistdio/u8-asnprintf: New file.
60630         * modules/unistdio/u8-asprintf: New file.
60631         * modules/unistdio/u8-printf-parse: New file.
60632         * modules/unistdio/u8-snprintf: New file.
60633         * modules/unistdio/u8-sprintf: New file.
60634         * modules/unistdio/u8-vasnprintf: New file.
60635         * modules/unistdio/u8-vasprintf: New file.
60636         * modules/unistdio/u8-vsnprintf: New file.
60637         * modules/unistdio/u8-vsprintf: New file.
60638         * modules/unistdio/u8-u8-asnprintf: New file.
60639         * modules/unistdio/u8-u8-asprintf: New file.
60640         * modules/unistdio/u8-u8-snprintf: New file.
60641         * modules/unistdio/u8-u8-sprintf: New file.
60642         * modules/unistdio/u8-u8-vasnprintf: New file.
60643         * modules/unistdio/u8-u8-vasprintf: New file.
60644         * modules/unistdio/u8-u8-vsnprintf: New file.
60645         * modules/unistdio/u8-u8-vsprintf: New file.
60646         * modules/unistdio/u16-asnprintf: New file.
60647         * modules/unistdio/u16-asprintf: New file.
60648         * modules/unistdio/u16-printf-parse: New file.
60649         * modules/unistdio/u16-snprintf: New file.
60650         * modules/unistdio/u16-sprintf: New file.
60651         * modules/unistdio/u16-vasnprintf: New file.
60652         * modules/unistdio/u16-vasprintf: New file.
60653         * modules/unistdio/u16-vsnprintf: New file.
60654         * modules/unistdio/u16-vsprintf: New file.
60655         * modules/unistdio/u16-u16-asnprintf: New file.
60656         * modules/unistdio/u16-u16-asprintf: New file.
60657         * modules/unistdio/u16-u16-snprintf: New file.
60658         * modules/unistdio/u16-u16-sprintf: New file.
60659         * modules/unistdio/u16-u16-vasnprintf: New file.
60660         * modules/unistdio/u16-u16-vasprintf: New file.
60661         * modules/unistdio/u16-u16-vsnprintf: New file.
60662         * modules/unistdio/u16-u16-vsprintf: New file.
60663         * modules/unistdio/u32-asnprintf: New file.
60664         * modules/unistdio/u32-asprintf: New file.
60665         * modules/unistdio/u32-printf-parse: New file.
60666         * modules/unistdio/u32-snprintf: New file.
60667         * modules/unistdio/u32-sprintf: New file.
60668         * modules/unistdio/u32-vasnprintf: New file.
60669         * modules/unistdio/u32-vasprintf: New file.
60670         * modules/unistdio/u32-vsnprintf: New file.
60671         * modules/unistdio/u32-vsprintf: New file.
60672         * modules/unistdio/u32-u32-asnprintf: New file.
60673         * modules/unistdio/u32-u32-asprintf: New file.
60674         * modules/unistdio/u32-u32-snprintf: New file.
60675         * modules/unistdio/u32-u32-sprintf: New file.
60676         * modules/unistdio/u32-u32-vasnprintf: New file.
60677         * modules/unistdio/u32-u32-vasprintf: New file.
60678         * modules/unistdio/u32-u32-vsnprintf: New file.
60679         * modules/unistdio/u32-u32-vsprintf: New file.
60680         * modules/unistdio/ulc-asnprintf-tests: New file.
60681         * modules/unistdio/ulc-vasnprintf-tests: New file.
60682         * modules/unistdio/ulc-vasprintf-tests: New file.
60683         * modules/unistdio/ulc-vsnprintf-tests: New file.
60684         * modules/unistdio/ulc-vsprintf-tests: New file.
60685         * modules/unistdio/u8-asnprintf-tests: New file.
60686         * modules/unistdio/u8-vasnprintf-tests: New file.
60687         * modules/unistdio/u8-vasprintf-tests: New file.
60688         * modules/unistdio/u8-vsnprintf-tests: New file.
60689         * modules/unistdio/u8-vsprintf-tests: New file.
60690         * modules/unistdio/u16-asnprintf-tests: New file.
60691         * modules/unistdio/u16-vasnprintf-tests: New file.
60692         * modules/unistdio/u16-vasprintf-tests: New file.
60693         * modules/unistdio/u16-vsnprintf-tests: New file.
60694         * modules/unistdio/u16-vsprintf-tests: New file.
60695         * modules/unistdio/u32-asnprintf-tests: New file.
60696         * modules/unistdio/u32-vasnprintf-tests: New file.
60697         * modules/unistdio/u32-vasprintf-tests: New file.
60698         * modules/unistdio/u32-vsnprintf-tests: New file.
60699         * modules/unistdio/u32-vsprintf-tests: New file.
60700         * MODULES.html.sh (Unicode string functions): Add the new modules.
60701
60702 2007-07-01  Bruno Haible  <bruno@clisp.org>
60703
60704         * lib/sprintf.c (sprintf): Limit the available length estimation,
60705         to avoid address wraparound.
60706         * lib/vsprintf.c (vsprintf): Likewise.
60707         * modules/sprintf-posix (Dependencies): Add stdint.
60708         * modules/vsprintf-posix (Dependencies): Likewise.
60709
60710 2007-07-01  Bruno Haible  <bruno@clisp.org>
60711
60712         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
60713         Windows PATH as well. Conservative double-quoting. Comments.
60714
60715 2007-07-01  Bruno Haible  <bruno@clisp.org>
60716             Eric Blake  <ebb9@byu.net>
60717             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60718
60719         * gnulib-tool (self_abspathname): Fix algorithm to cope with
60720         empty components in $PATH, denoting '.'.
60721
60722 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60723
60724         * gnulib-tool: Fix indentation.
60725         (func_create_megatestdir): Likewise.
60726         Report by Bruno Haible.
60727
60728 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60729
60730         Sync from Automake.
60731         * build-aux/gnupload: Fix shell portability issues with for loops.
60732         Report by Karl Berry.
60733
60734 2007-06-29  Simon Josefsson  <simon@josefsson.org>
60735
60736         * build-aux/maint.mk (POURL): Use translationproject.org.
60737
60738 2007-06-27  Simon Josefsson  <simon@josefsson.org>
60739             Bruno Haible  <bruno@clisp.org>
60740
60741         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
60742         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
60743         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
60744         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
60745         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
60746
60747 2007-06-27  Bruno Haible  <bruno@clisp.org>
60748
60749         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
60750         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
60751
60752 2007-06-26  Karl Berry  <karl@gnu.org>
60753
60754         * MODULES.html.sh: remove xreadlink-with-size.
60755
60756 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
60757
60758         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
60759         method that I hope also handles the double-include problem noted
60760         by Bruno Haible in
60761         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
60762
60763 2007-06-23  Bruno Haible  <bruno@clisp.org>
60764
60765         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60766         Don't let the 'mostlyclean' target fail if the last subdirectory could
60767         not be removed.
60768         Reported by Karl Berry.
60769
60770 2007-06-23  Bruno Haible  <bruno@clisp.org>
60771
60772         * gnulib-tool (echo): Add a speedier workaround for ksh.
60773         * tests/test-echo.sh: Likewise.
60774
60775 2007-06-23  Bruno Haible  <bruno@clisp.org>
60776
60777         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
60778         * tests/test-echo.sh: Likewise.
60779
60780 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60781
60782         * gnulib-tool (IFS): Initialize early, so we don't set it to
60783         empty later.
60784         (self_abspathname): Rewrite algorithm to set it, reindent.
60785         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
60786         (func_create_megatestdir): Merge some sed scripts.
60787
60788 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
60789
60790         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
60791         exposed by Sun Studio 11 cc on Solaris 8.
60792
60793 2007-06-22  Bruno Haible  <bruno@clisp.org>
60794
60795         * gnulib-tool (echo): Ensure the echo primitive does not interpret
60796         backslashes.
60797         * tests/test-echo.sh: New file.
60798
60799 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60800
60801         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
60802         simplify `sed_replace_build_aux' scripts, they are portable but
60803         echoing them with `echo' is not.
60804         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
60805
60806 2007-06-21  Karl Berry  <karl@gnu.org>
60807
60808         * config/srclist.txt: guess we can't handle the licenses via
60809         srclist at the moment.
60810
60811 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
60812
60813         * MODULES.html.sh: Add include_next.
60814         * modules/include_next: New file.
60815
60816 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
60817
60818         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
60819         INCLUDE_NEXT.
60820         (gl_CHECK_NEXT_HEADERS): New macro.
60821         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
60822         the obsolescent gl_ABSOLUTE_HEADER.
60823         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
60824         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
60825         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
60826         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
60827         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
60828         * m4/math_h.m4 (gl_MATH_H): Likewise.
60829         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
60830         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
60831         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
60832         * m4/stdint.m4 (gl_STDINT_H): Likewise.
60833         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
60834         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
60835         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
60836         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60837         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
60838         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
60839         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
60840         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
60841         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
60842         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
60843         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
60844         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
60845         * m4/inttypes.m4 (gl_INTTYPES_H): Define
60846         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
60847         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
60848         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
60849         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
60850         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
60851         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
60852         * lib/float_.h: Likewise.
60853         * lib/inttypes_.h: Likewise.
60854         * lib/math_.h: Likewise.
60855         * lib/search_.h: Likewise.
60856         * lib/signal_.h: Likewise.
60857         * lib/stdint_.h: Likewise.
60858         * lib/stdio_.h: Likewise.
60859         * lib/stdlib_.h: Likewise.
60860         * lib/string_.h: Likewise.
60861         * lib/sys_stat_.h: Likewise.
60862         * lib/sys_time_.h: Likewise.
60863         * lib/time_.h: Likewise.
60864         * lib/unistd_.h: Likewise.
60865         * lib/wchar_.h: Likewise.
60866         * lib/wctype_.h: Likewise.
60867         * lib/dirent_.h: Likewise.
60868         * lib/iconv_.h: Likewise.
60869         * lib/locale_.h: Likewise.
60870         * lib/netinet_in_.h: Likewise.
60871         * lib/sys_select_.h: Likewise.
60872         * lib/sys_socket_.h: Likewise.
60873         * lib/sysexits_.h: Likewise.
60874         * modules/fcntl (Depends-on): Depend on include_next, not
60875         absolute_header.
60876         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
60877         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
60878         * modules/fchdir: Likewise.
60879         * modules/float: Likewise.
60880         * modules/iconv_open: Likewise.
60881         * modules/inttypes: Likewise.
60882         * modules/locale: Likewise.
60883         * modules/math: Likewise.
60884         * modules/netinet_in: Likewise.
60885         * modules/search: Likewise.
60886         * modules/signal: Likewise.
60887         * modules/stdint: Likewise.
60888         * modules/stdio: Likewise.
60889         * modules/stdlib: Likewise.
60890         * modules/string: Likewise.
60891         * modules/sys_select: Likewise.
60892         * modules/sys_socket: Likewise.
60893         * modules/sys_stat: Likewise.
60894         * modules/sys_time: Likewise.
60895         * modules/sysexits: Likewise.
60896         * modules/time: Likewise.
60897         * modules/unistd: Likewise.
60898         * modules/wchar: Likewise.
60899         * modules/wctype: Likewise.
60900         * modules/sys_stat: Change maintainer to "all".
60901         * modules/unistd: Likewise.
60902
60903 2007-06-20  Karl Berry  <karl@gnu.org>
60904
60905         * config/srclist.txt: track www changes in license files.
60906
60907 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
60908
60909         * build-aux/bootstrap: Remove stray dot.
60910         Make sure build_aux settings are honored when linking
60911         gnulib_extra_files.
60912
60913 2007-06-19  Eric Blake  <ebb9@byu.net>
60914
60915         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
60916         Allow compilation on cygwin.
60917
60918 2007-06-19  Jim Meyering  <jim@meyering.net>
60919
60920         xreadlink-with-size: Remove module.  No longer used.
60921         Ex-callers now use xreadlink or mreadlink-with-size.
60922         * modules/xreadlink-with-size: Remove module.
60923         * lib/xreadlink-with-size.c: Remove file.
60924         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
60925         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
60926         just before the function definition *is* accurate.
60927
60928         Eliminate one way canonicalize_filename_mode could exit.
60929         * lib/canonicalize.c (canonicalize_filename_mode):
60930         Use mreadlink_with_size, not xreadlink_with_size.
60931
60932 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
60933
60934         Detect porting problems to FreeBSD/arm, which has time_t wider than
60935         long int.  Original problem reported for GNU diff by Xin Li in
60936         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
60937         * modules/getdate (Depends-on): Add intprops, verify.
60938         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
60939         is an integer type no wider than long int.
60940
60941 2007-06-18  Jim Meyering  <jim@meyering.net>
60942
60943         New module: mreadlink-with-size.
60944         * MODULES.html.sh: Add mreadlink-with-size.
60945         * modules/mreadlink-with-size: New module
60946         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
60947         not xreadlink-with-size.
60948         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
60949
60950 2007-06-16  Bruno Haible  <bruno@clisp.org>
60951
60952         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
60953         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
60954         Reported by Gary V. Vaughan <gary@gnu.org>.
60955
60956 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
60957
60958         Revamp lchown so that it lives in unistd.h where it belongs.
60959         * lib/lchown.h: Remove.
60960         * lib/dirchownmod.c: Don't include lib/lchown.h.
60961         * lib/fchownat.c: Likewise.
60962         * lib/openat.c: Likewise.
60963         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
60964         does not follow symlinks.
60965         (EOPNOTSUPP): Define if not defined.
60966         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
60967         is defined to 0.
60968         (lchown): New decl.
60969         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
60970         Do not check for lchown decl.
60971         Set REPLACE_LCHOWN.
60972         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
60973         REPLACE_LCHOWN.
60974         * modules/chown: Make it clear it follows symlinks.
60975         * modules/lchown: Make it clear it doesn't follow symlinks.
60976         (Files): Remove lib/lchown.h
60977         (Depends-on): Add unistd.
60978         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
60979         (Include): Include <unistd.h>, not "lchown.h".
60980         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
60981         REPLACE_LCHOWN.
60982
60983 2007-06-15  Jim Meyering  <jim@meyering.net>
60984
60985         Change license (GPL to LGPL) of fsusage and dependents.
60986         * modules/fsusage (License): Change to LGPL.
60987         * modules/full-read (License): Likewise.
60988         * modules/full-write (License): Likewise.
60989         * modules/safe-read (License): Likewise.
60990         * modules/safe-write (License): Likewise.
60991
60992 2007-06-14  Ben Pfaff  <blp@gnu.org>
60993
60994         Missing part of allocsa -> malloca transition.
60995         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
60996         gl_MALLOCA.
60997
60998 2007-06-12  Bruno Haible  <bruno@clisp.org>
60999
61000         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
61001         to ia64, x86_64, i386.
61002         Reported by Eric Blake.
61003
61004 2007-06-12  Bruno Haible  <bruno@clisp.org>
61005
61006         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
61007         cross-compiling to x86_64.
61008
61009 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
61010
61011         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
61012         glitch reported by Ralf Wildenhues in
61013         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
61014
61015         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
61016         Vin Shelton.
61017
61018 2007-06-11  Bruno Haible  <bruno@clisp.org>
61019
61020         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
61021         replacement string.
61022         Reported by Eric Blake.
61023
61024 2007-06-10  Bruno Haible  <bruno@clisp.org>
61025
61026         Prepare vasnprintf code for use with Unicode strings.
61027         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
61028         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
61029         TYPE_U32_STRING.
61030         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
61031         a_u32_string variants.
61032         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
61033         * lib/printf-args.c: Don't include config.h and the specification
61034         header if PRINTF_FETCHARGS is already defined.
61035         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
61036         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
61037         TYPE_U16_STRING, TYPE_U32_STRING.
61038         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
61039         u16_directive, u16_directives, u32_directive, u32_directives): New
61040         types.
61041         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
61042         New declarations.
61043         * lib/printf-parse.c: Don't include config.h and the specification
61044         header if PRINTF_PARSE is already defined. Eliminate the set of
61045         parameters for WIDE_CHAR_VERSION; the user of this file must provide
61046         them now. Include c-ctype.h.
61047         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
61048         directive and CHAR_T_ONLY_ASCII.
61049         * lib/vasnprintf.c: Don't include config.h and the specification header
61050         if VASNPRINTF is already defined.
61051         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
61052         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
61053         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
61054         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
61055         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
61056         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
61057         code accordingly.
61058         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
61059         pad_ourselves also in this case, with the 'c' and 's' directives, and
61060         with a different notion of "width".
61061         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
61062
61063 2007-06-10  Bruno Haible  <bruno@clisp.org>
61064
61065         * modules/unistr/u32-mbsnlen: New file.
61066         * lib/unistr/u32-mbsnlen.c: New file.
61067
61068         * modules/unistr/u16-mbsnlen: New file.
61069         * lib/unistr/u16-mbsnlen.c: New file.
61070
61071         * modules/unistr/u8-mbsnlen: New file.
61072         * lib/unistr/u8-mbsnlen.c: New file.
61073
61074         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
61075         declarations.
61076
61077 2007-06-10  Bruno Haible  <bruno@clisp.org>
61078
61079         * lib/string_.h (mbsnlen): New declaration.
61080         * lib/mbsnlen.c: New file.
61081         * m4/mbsnlen.m4: New file.
61082         * modules/mbsnlen: New file.
61083         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
61084         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
61085         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
61086
61087 2007-06-10  Bruno Haible  <bruno@clisp.org>
61088
61089         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
61090
61091 2007-06-10  Bruno Haible  <bruno@clisp.org>
61092
61093         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
61094         * lib/mbuiter.h: Likewise.
61095
61096 2007-06-10  Bruno Haible  <bruno@clisp.org>
61097
61098         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
61099         declaration.
61100
61101 2007-06-10  Karl Berry  <karl@gnu.org>
61102
61103         * config/srclist.txt: remove gettext entries, Bruno prefers
61104         to update individually.
61105
61106 2007-06-10  Bruno Haible  <bruno@clisp.org>
61107
61108         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
61109         'maxlen'. Ensure only length + width bytes are allocated, not
61110         length + 1 + width.
61111
61112 2007-06-09  Bruno Haible  <bruno@clisp.org>
61113
61114         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
61115         (CHAR_T): Remove macro.
61116         (VASNPRINTF): Update.
61117
61118 2007-06-09  Bruno Haible  <bruno@clisp.org>
61119
61120         * MODULES.html.sh (Unicode string functions): Add the new modules.
61121
61122         * modules/uniconv/u32-conv-to-enc: New file.
61123         * lib/uniconv/u32-conv-to-enc.c: New file.
61124         * modules/uniconv/u32-conv-to-enc-tests: New file.
61125         * tests/uniconv/test-u32-conv-to-enc.c: New file.
61126
61127         * modules/uniconv/u16-conv-to-enc: New file.
61128         * lib/uniconv/u16-conv-to-enc.c: New file.
61129         * lib/uniconv/u-conv-to-enc.h: New file.
61130         * modules/uniconv/u16-conv-to-enc-tests: New file.
61131         * tests/uniconv/test-u16-conv-to-enc.c: New file.
61132
61133         * modules/uniconv/u8-conv-to-enc: New file.
61134         * lib/uniconv/u8-conv-to-enc.c: New file.
61135         * modules/uniconv/u8-conv-to-enc-tests: New file.
61136         * tests/uniconv/test-u8-conv-to-enc.c: New file.
61137
61138         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
61139         u32_conv_to_encoding): New declarations.
61140
61141 2007-06-09  Bruno Haible  <bruno@clisp.org>
61142
61143         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
61144
61145 2007-06-09  Bruno Haible  <bruno@clisp.org>
61146
61147         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
61148         * modules/malloca: Renamed from modules/allocsa, updated.
61149         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
61150         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
61151         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
61152         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
61153         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
61154         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
61155         * modules/xmalloca: Renamed from modules/xallocsa, updated.
61156         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
61157         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
61158         * modules/c-strcasestr (Depends-on): Update.
61159         * lib/c-strcasestr.c: Update.
61160         * modules/c-strstr (Depends-on): Update.
61161         * lib/c-strstr.c: Update.
61162         * modules/canonicalize-lgpl (Depends-on): Update.
61163         * lib/canonicalize-lgpl.c: Update.
61164         * modules/clean-temp (Depends-on): Update.
61165         * lib/clean-temp.c: Update.
61166         * modules/csharpcomp (Depends-on): Update.
61167         * lib/csharpcomp.c: Update.
61168         * modules/csharpexec (Depends-on): Update.
61169         * lib/csharpexec.c: Update.
61170         * modules/javacomp (Depends-on): Update.
61171         * lib/javacomp.c: Update.
61172         * modules/javaexec (Depends-on): Update.
61173         * lib/javaexec.c: Update.
61174         * modules/mbscasestr (Depends-on): Update.
61175         * lib/mbscasestr.c: Update.
61176         * modules/mbsstr (Depends-on): Update.
61177         * lib/mbsstr.c: Update.
61178         * modules/setenv (Depends-on): Update.
61179         * lib/setenv.c: Update.
61180         * modules/strcasestr (Depends-on): Update.
61181         * lib/strcasestr.c: Update.
61182         * modules/striconveha (Depends-on): Update.
61183         * lib/striconveha.c: Update.
61184         * modules/relocatable-prog-wrapper (Files): Update.
61185         * lib/relocwrapper.c: Update.
61186         * build-aux/install-reloc: Update.
61187         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
61188
61189 2007-06-08  Bruno Haible  <bruno@clisp.org>
61190
61191         Port to uClibc.
61192         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
61193         * lib/fpurge.c (fpurge): Likewise.
61194         * lib/freading.c (freading): Likewise.
61195         * lib/fseeko.c (rpl_fseeko): Likewise.
61196         * lib/fseterr.c (fseterr): Likewise.
61197         * lib/fwriting.c (fwriting): Likewise.
61198         * tests/test-fflush.c (main): Avoid a failure on uClibc.
61199
61200 2007-06-08  Bruno Haible  <bruno@clisp.org>
61201
61202         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
61203         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
61204         * modules/gettext (Files): Add m4/intlmacosx.m4.
61205
61206 2007-06-07  Bruno Haible  <bruno@clisp.org>
61207
61208         * modules/localename-tests: New file.
61209         * tests/test-localename.c: New file.
61210
61211         New module 'localename'.
61212         * lib/localename.h: New file.
61213         * lib/localename.c: New file, from GNU gettext.
61214         * m4/localename.m4: New file.
61215         * modules/localename: New file.
61216
61217 2007-06-07  Bruno Haible  <bruno@clisp.org>
61218
61219         Work around the lack of <wchar.h> on some builds of uClibc.
61220         * doc/headers/wchar.texi: Update.
61221         * lib/wchar_.h: Include <wchar.h> only if it exists.
61222         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
61223         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
61224         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
61225         doesn't exist.
61226         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
61227         * modules/mbfile (Depends-on): Add wchar.
61228         * modules/mbiter (Depends-on): Likewise.
61229         * modules/mbuiter (Depends-on): Likewise.
61230         Reported by Simon Josefsson.
61231
61232 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
61233
61234         Work around problem reported by Steven M. Schweda in
61235         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
61236         Tru64 5.1B with the Compaq compiler environment installed declares
61237         an 'isblank' function but does not define it in the C library.
61238         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
61239         * lib/regex_internal.h (isblank): Likewise.
61240         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
61241         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
61242
61243 2007-06-05  Bruno Haible  <bruno@clisp.org>
61244
61245         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
61246         ia64.
61247         * modules/printf-safe: New file.
61248         * modules/fprintf-posix (Depends-on): Add printf-safe.
61249         * modules/printf-posix (Depends-on): Likewise.
61250         * modules/snprintf-posix (Depends-on): Likewise.
61251         * modules/sprintf-posix (Depends-on): Likewise.
61252         * modules/vasnprintf-posix (Depends-on): Likewise.
61253         * modules/vasprintf-posix (Depends-on): Likewise.
61254         * modules/vfprintf-posix (Depends-on): Likewise.
61255         * modules/vprintf-posix (Depends-on): Likewise.
61256         * modules/vsnprintf-posix (Depends-on): Likewise.
61257         * modules/vsprintf-posix (Depends-on): Likewise.
61258         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
61259         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
61260         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
61261         "no" on i386, x86_64, ia64.
61262         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
61263         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61264         on i386, x86_64, ia64.
61265         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
61266         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61267         on i386, x86_64, ia64.
61268         * tests/test-vasnprintf-posix.c: Include float.h.
61269         (LDBL80_WORDS): New macro.
61270         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61271         on i386, x86_64, ia64.
61272         * tests/test-vasprintf-posix.c: Include float.h.
61273         (LDBL80_WORDS): New macro.
61274         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61275         on i386, x86_64, ia64.
61276         * tests/test-snprintf-posix.c: Include float.h.
61277         * tests/test-sprintf-posix.c: Likewise.
61278         * tests/test-vsnprintf-posix.c: Likewise.
61279         * tests/test-vsprintf-posix.c: Likewise.
61280
61281 2007-06-05  Bruno Haible  <bruno@clisp.org>
61282
61283         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
61284         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
61285         non-IEEE numbers on i386, x86_64, ia64.
61286         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
61287         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
61288         * tests/test-isnanl.h: Include float.h.
61289         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
61290
61291 2007-06-05  Bruno Haible  <bruno@clisp.org>
61292
61293         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
61294         also the %a / %A. Handle the %a / %A code before this extra handling.
61295
61296 2007-06-05  Bruno Haible  <bruno@clisp.org>
61297
61298         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
61299         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
61300
61301 2007-06-05  Bruno Haible  <bruno@clisp.org>
61302
61303         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
61304         typo in variable name.
61305
61306 2007-06-05  Eric Blake  <ebb9@byu.net>
61307
61308         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
61309         Reported by Simon Josefsson.
61310
61311 2007-06-04  Bruno Haible  <bruno@clisp.org>
61312
61313         Avoid test failures on some PowerPC platforms.
61314         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
61315         Define differently for PowerPC.
61316         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
61317         Reported by Gary V. Vaughan <gary@gnu.org>.
61318
61319 2007-06-02  Bruno Haible  <bruno@clisp.org>
61320
61321         Fix test-stdint failure on FreeBSD/ia64.
61322         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
61323         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
61324         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
61325         * doc/headers/stdint.texi: Update.
61326
61327 2007-06-01  Bruno Haible  <bruno@clisp.org>
61328
61329         * tests/test-binary-io.c (main): Pass a third argument to open().
61330         Reported by Gary V. Vaughan <gary@gnu.org>.
61331
61332 2007-06-01  Bruno Haible  <bruno@clisp.org>
61333
61334         * doc/functions/frexpl.texi: Update for mingw.
61335
61336 2007-06-01  Bruno Haible  <bruno@clisp.org>
61337
61338         * tests/test-lseek.c (main): Disable test of errno for invalid third
61339         argument.
61340         * doc/functions/lseek.texi: Update.
61341         Reported by Gary V. Vaughan <gary@gnu.org>.
61342
61343 2007-05-28  Bruno Haible  <bruno@clisp.org>
61344
61345         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
61346
61347 2007-05-31  Eric Blake  <ebb9@byu.net>
61348
61349         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
61350         cross compiling.
61351
61352 2007-05-30  Eric Blake  <ebb9@byu.net>
61353         and Bruno Haible  <bruno@clisp.org>
61354
61355         Work around mingw test failures exposed by m4-1.4.9b.
61356         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
61357         * tests/test-unistd.c: Disable uid_t and git_t tests for the
61358         moment.
61359
61360 2007-05-30  Bruno Haible  <bruno@clisp.org>
61361
61362         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
61363         assuming that they are closed. Needed on HP-UX 11.
61364
61365 2007-05-29  Bruno Haible  <bruno@clisp.org>
61366
61367         Fix a problem with #include_next.
61368         * lib/dirent_.h: Split the double-inclusion guard.
61369         * lib/fcntl_.h: Likewise.
61370         * lib/float_.h: Likewise.
61371         * lib/iconv_.h: Likewise.
61372         * lib/inttypes_.h: Likewise.
61373         * lib/locale_.h: Likewise.
61374         * lib/math_.h: Likewise.
61375         * lib/netinet_in_.h: Likewise.
61376         * lib/search_.h: Likewise.
61377         * lib/signal_.h: Likewise.
61378         * lib/stdint_.h: Likewise.
61379         * lib/stdio_.h: Likewise.
61380         * lib/stdlib_.h: Likewise.
61381         * lib/string_.h: Likewise.
61382         * lib/sys_select_.h: Likewise.
61383         * lib/sys_socket_.h: Likewise.
61384         * lib/sys_stat_.h: Likewise.
61385         * lib/sys_time_.h: Likewise.
61386         * lib/sysexits_.h: Likewise.
61387         * lib/time_.h: Likewise.
61388         * lib/unistd_.h: Likewise.
61389         * lib/wchar_.h: Likewise.
61390         * lib/wctype_.h: Likewise.
61391
61392 2007-05-29  Bruno Haible  <bruno@clisp.org>
61393
61394         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
61395         for the moment.
61396
61397 2007-05-29  Bruno Haible  <bruno@clisp.org>
61398
61399         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
61400         invocation.
61401         Reported by Eric Blake.
61402
61403 2007-05-29  Bruno Haible  <bruno@clisp.org>
61404
61405         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
61406         compiling case.
61407
61408 2007-05-29  Eric Blake  <ebb9@byu.net>
61409             Bruno Haible  <bruno@clisp.org>
61410
61411         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
61412         cross compiles.
61413
61414 2007-05-28  Eric Blake  <ebb9@byu.net>
61415
61416         * modules/closein-tests (test_closein_LDADD): Support test on
61417         cygwin with libtool.
61418
61419 2007-05-28  Bruno Haible  <bruno@clisp.org>
61420
61421         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
61422         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
61423         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
61424         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
61425         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
61426         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
61427         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
61428         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
61429         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
61430
61431 2007-05-28  Eric Blake  <ebb9@byu.net>
61432
61433         Unconditionally include <config.h> in unit tests.
61434         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
61435         * tests/test-allocsa.c, tests/test-arcfour.c,
61436         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
61437         tests/test-array_list.c, tests/test-array_oset.c,
61438         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
61439         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
61440         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
61441         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
61442         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
61443         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
61444         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
61445         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
61446         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
61447         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
61448         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
61449         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
61450         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
61451         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
61452         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
61453         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
61454         test-md5.c, test-memmem.c, test-printf-posix.c,
61455         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
61456         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
61457         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
61458         test-strcasestr.c, test-striconv.c, test-striconveh.c,
61459         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
61460         test-vasnprintf-posix2.c, test-vasnprintf.c,
61461         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
61462         test-vfprintf-posix.c, test-vprintf-posix.c,
61463         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
61464         test-xvasprintf.c: Likewise.
61465
61466 2007-05-28  Bruno Haible  <bruno@clisp.org>
61467
61468         * gnulib-tool (func_import): Remember the --with-tests command-line
61469         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
61470         Reported by Eric Blake.
61471
61472 2007-05-28  Bruno Haible  <bruno@clisp.org>
61473
61474         * modules/ftell-tests: New file.
61475         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
61476         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
61477
61478         * lib/ftell.c: New file.
61479         * modules/ftell: New file.
61480         * m4/ftell.m4: New file.
61481         * doc/functions/ftell.texi: Update.
61482         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
61483         REPLACE_FTELL.
61484         * lib/stdio_.h (rpl_ftell): New declaration.
61485         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
61486         REPLACE_FTELL.
61487
61488 2007-05-28  Eric Blake  <ebb9@byu.net>
61489
61490         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
61491
61492 2007-05-28  Bruno Haible  <bruno@clisp.org>
61493
61494         * modules/fseek-tests: New file.
61495         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
61496         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
61497
61498         * lib/fseek.c: New file.
61499         * modules/fseek: New file.
61500         * m4/fseek.m4: New file.
61501         * doc/functions/fseek.texi: Update.
61502         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
61503         REPLACE_FSEEK.
61504         * lib/stdio_.h (rpl_fseek): New declaration.
61505         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
61506         REPLACE_FSEEK.
61507
61508 2007-05-28  Bruno Haible  <bruno@clisp.org>
61509
61510         * lib/stdio_.h (fflush): More comments.
61511
61512 2007-05-28  Bruno Haible  <bruno@clisp.org>
61513
61514         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
61515         runtime test.
61516
61517 2007-05-28  Eric Blake  <ebb9@byu.net>
61518
61519         Improve lseek module.
61520         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
61521         * lib/unistd_.h (lseek): Scale back link warning message.
61522         * tests/test-lseek.c: Beef up test.
61523         * tests/test-lseek.sh: Exercise more facets of lseek.
61524         Reported by Bruno Haible.
61525
61526 2007-05-28  Bruno Haible  <bruno@clisp.org>
61527
61528         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
61529         to define.
61530
61531 2007-05-27  Bruno Haible  <bruno@clisp.org>
61532
61533         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
61534
61535 2007-05-27  Bruno Haible  <bruno@clisp.org>
61536
61537         * modules/openmp: New file.
61538         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
61539         Noah Misch.
61540
61541 2007-05-26  Bruno Haible  <bruno@clisp.org>
61542
61543         * modules/chdir-long (Depends-on): Add fchdir.
61544         * modules/chdir-safer (Depends-on): Likewise.
61545         * modules/fts (Depends-on): Likewise.
61546         * modules/fts-lgpl (Depends-on): Likewise.
61547         * modules/openat (Depends-on): Likewise.
61548         * modules/savewd (Depends-on): Likewise.
61549
61550 2007-05-24  Eric Blake  <ebb9@byu.net>
61551
61552         Fix lseek on mingw.
61553         * modules/lseek: New module.
61554         * m4/lseek.m4: New file.
61555         * lib/lseek.c: New file.
61556         * modules/lseek-tests: New file.
61557         * tests/test-lseek.c: New file.
61558         * tests/test-lseek.sh: New file.
61559         * MODULES.html.sh: Document lseek module.
61560         * modules/fflush (Depends-on): Add lseek, fseeko.
61561         * modules/fseeko (Depends-on): Likewise.
61562         * modules/ftello (Depends-on): Likewise.
61563         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
61564         broken.
61565         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
61566         broken.
61567         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
61568         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
61569         * lib/ftello.c (rpl_ftello): Likewise.
61570         * tests/test-fseeko.c (main): Test this.
61571         * tests/test-fseeko.sh: Likewise.
61572         * tests/test-ftello.c (main): Likewise.
61573         * tests/test-ftello.sh: Likewise.
61574         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
61575         implies replacing fseek.
61576         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
61577         HAVE_FTELLO.
61578         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
61579         * modules/unistd (Makefile.am): Likewise.
61580         * lib/unistd_.h (lseek): Declare a replacement.
61581         * doc/functions/lseek.texi (lseek): Document this fix.
61582         * doc/functions/fseek.texi (fseek): Likewise.
61583         * doc/functions/ftell.texi (ftell): Likewise.
61584
61585 2007-05-24  Bruno Haible  <bruno@clisp.org>
61586
61587         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
61588         in the printed representation of a NaN.
61589         * tests/test-vasprintf-posix.c (test_function): Likewise.
61590         * tests/test-snprintf-posix.h (test_function): Likewise.
61591         * tests/test-sprintf-posix.h (test_function): Likewise.
61592         Reported by Eric Blake.
61593
61594 2007-05-23  Eric Blake  <ebb9@byu.net>
61595
61596         Fix fseeko/ftello on cygwin 1.5.24.
61597         * doc/functions/fseeko.texi (fseeko): Document the fix.
61598         * doc/functions/ftello.texi (ftello): Document the fix.
61599         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
61600         * doc/functions/stdout.text (stdout): New file.
61601         * doc/functions/stderr.text (stderr): New file.
61602         * doc/gnulib.texi (Function Substitutes): Use new files.
61603         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
61604         prior to 1.7.0.
61605         * tests/test-ftello.c (main): Likewise for ftello.
61606         * tests/test-fseeko.sh: New file.
61607         * tests/test-ftello.sh: New file.
61608         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
61609         with seekable stdin.
61610         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
61611         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
61612         (gl_REPLACE_FSEEKO): New macro.
61613         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
61614         * modules/fseeko (Files): Distribute fseeko.c.
61615         * modules/ftello (Files): Distribute ftello.c.
61616         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
61617         mode.
61618         * lib/ftello.c (rpl_ftello): New file.
61619         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
61620         fseeko, ftello.
61621         (gl_STDIN_LARGE_OFFSET): New macro.
61622         * modules/stdio (Makefile.am): Perform the replacement.
61623         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
61624
61625 2007-05-23  Bruno Haible  <bruno@clisp.org>
61626
61627         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
61628         GNULIB_POSIXCHECK is defined.
61629
61630 2007-05-21  Bruno Haible  <bruno@clisp.org>
61631
61632         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
61633         Check also the output for NaN arguments. When cross-compiling, guess
61634         no on IRIX.
61635         * lib/vasnprintf.c: Update comments.
61636         * tests/test-vasnprintf-posix.c (strisnan): New function.
61637         (test_function): Use it.
61638         * tests/test-vasprintf-posix.c (strisnan): New function.
61639         (test_function): Use it.
61640         * tests/test-snprintf-posix.h (strisnan): New function.
61641         (test_function): Use it.
61642         * tests/test-sprintf-posix.h (strisnan): New function.
61643         (test_function): Use it.
61644         Reported by Eric Blake.
61645
61646 2007-05-20  Bruno Haible  <bruno@clisp.org>
61647
61648         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
61649         numbers that fails on BeOS.
61650         * doc/functions/frexpl.texi: Update.
61651
61652 2007-05-20  Jim Meyering  <jim@meyering.net>
61653
61654         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
61655         forced upon us by glibc-2.6.
61656
61657 2007-05-20  Bruno Haible  <bruno@clisp.org>
61658
61659         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
61660         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
61661         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
61662         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
61663         NEED_PRINTF_INFINITE.
61664         (is_infinitel): New function.
61665         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
61666         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
61667         gl_PREREQ_VASNPRINTF_INFINITE.
61668         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
61669         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61670         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
61671         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
61672         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
61673         gl_PREREQ_VASNPRINTF_INFINITE.
61674         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61675         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61676         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61677         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61678         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61679         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61680         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61681         * doc/functions/fprintf.texi: Update.
61682         * doc/functions/printf.texi: Update.
61683         * doc/functions/snprintf.texi: Update.
61684         * doc/functions/sprintf.texi: Update.
61685         * doc/functions/vfprintf.texi: Update.
61686         * doc/functions/vprintf.texi: Update.
61687         * doc/functions/vsnprintf.texi: Update.
61688         * doc/functions/vsprintf.texi: Update.
61689
61690 2007-05-20  Bruno Haible  <bruno@clisp.org>
61691
61692         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
61693         was not found in libc.
61694         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
61695
61696 2007-05-20  Bruno Haible  <bruno@clisp.org>
61697
61698         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
61699         printed as "-nan" instead of "nan".
61700         * tests/test-vasprintf-posix.c (test_function): Likewise.
61701         * tests/test-snprintf-posix.h (test_function): Likewise.
61702         * tests/test-sprintf-posix.h (test_function): Likewise.
61703         Needed for HP-UX 11.
61704
61705 2007-05-20  Jim Meyering  <jim@meyering.net>
61706
61707         Fix buggy test for the fchownat-deref bug.
61708         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
61709         symlink required for the run-test.  Without it, this test would
61710         always declare that fchownat doesn't work, and client code would
61711         unnecessarily use the replacement function with fixed libc.
61712         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
61713         Reported by Greg Schafer.
61714
61715 2007-05-19  Bruno Haible  <bruno@clisp.org>
61716
61717         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
61718         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
61719         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
61720         Needed for IRIX 6.5 and Solaris 2.5.1.
61721
61722 2007-05-19  Bruno Haible  <bruno@clisp.org>
61723
61724         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
61725         (test_function): Skip tests involving -0.0 on platforms where
61726         -0.0 = 0.0.
61727         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
61728         (test_function): Skip tests involving -0.0 on platforms where
61729         -0.0 = 0.0.
61730         * tests/test-snprintf-posix.h (have_minus_zero): New function.
61731         (test_function): Skip tests involving -0.0 on platforms where
61732         -0.0 = 0.0.
61733         * tests/test-sprintf-posix.h (have_minus_zero): New function.
61734         (test_function): Skip tests involving -0.0 on platforms where
61735         -0.0 = 0.0.
61736         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
61737         tests.
61738         * tests/test-printf-posix.h (test_function): Likewise.
61739         * tests/test-printf-posix.output: Remove all -0.0 related results.
61740         Needed for IRIX 6.5.
61741
61742 2007-05-19  Bruno Haible  <bruno@clisp.org>
61743
61744         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
61745         printed as "nan0x7fffffff" instead of "nan".
61746         * tests/test-vasprintf-posix.c (test_function): Likewise.
61747         * tests/test-snprintf-posix.h (test_function): Likewise.
61748         * tests/test-sprintf-posix.h (test_function): Likewise.
61749         * tests/test-fprintf-posix.h (NaN): Remove macro.
61750         (test_function): Remove all NaN related tests.
61751         * tests/test-printf-posix.h (NaN): Remove macro.
61752         (test_function): Remove all NaN related tests.
61753         * tests/test-printf-posix.output: Remove all NaN related results.
61754         Needed for IRIX 6.5.
61755
61756 2007-05-19  Bruno Haible  <bruno@clisp.org>
61757
61758         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
61759         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
61760
61761 2007-05-19  Bruno Haible  <bruno@clisp.org>
61762
61763         * lib/float_.h: New file.
61764         * m4/float_h.m4: New file.
61765         * modules/float: New file.
61766         * modules/isnanl (Dependencies): Add float.
61767         * modules/isnanl-nolibm (Dependencies): Likewise.
61768         * modules/mathl (Dependencies): Likewise.
61769         * modules/printf-frexpl (Dependencies): Likewise.
61770         * modules/signbit (Dependencies): Likewise.
61771         * modules/vasnprintf (Dependencies): Likewise.
61772         * doc/headers/float.texi: Update.
61773
61774 2007-05-19  Jim Meyering  <jim@meyering.net>
61775
61776         * lib/utimens.c (gl_futimens): Rename from futimens,
61777         now that glibc-2.6 declares futimens.
61778         * lib/utimens.h: Likewise.
61779
61780 2007-05-19  Bruno Haible  <bruno@clisp.org>
61781
61782         Avoid test failures on mingw.
61783         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
61784         * tests/test-printf-posix.sh: Likewise.
61785         * tests/test-vfprintf-posix.sh: Likewise.
61786         * tests/test-vprintf-posix.sh: Likewise.
61787
61788 2007-05-19  Bruno Haible  <bruno@clisp.org>
61789
61790         Fix *printf result for NaN, Inf, -0.0 on mingw.
61791         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
61792         * lib/vasnprintf.c: Include math.h and isnan.h.
61793         (is_infinite_or_zero): New function.
61794         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
61795         values in the %f, %F, %e, %E, %g, %G directives.
61796         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
61797         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61798         gl_PRINTF_INFINITE and test its result. Invoke
61799         gl_PREREQ_VASNPRINTF_INFINITE.
61800         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61801         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61802         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61803         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61804         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61805         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61806         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61807         * doc/functions/fprintf.texi: Update.
61808         * doc/functions/printf.texi: Update.
61809         * doc/functions/snprintf.texi: Update.
61810         * doc/functions/sprintf.texi: Update.
61811         * doc/functions/vfprintf.texi: Update.
61812         * doc/functions/vprintf.texi: Update.
61813         * doc/functions/vsnprintf.texi: Update.
61814         * doc/functions/vsprintf.texi: Update.
61815
61816 2007-05-19  Bruno Haible  <bruno@clisp.org>
61817
61818         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
61819         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
61820         Instead of multiplying with 10^k, set extra_zeroes to k.
61821         (scale10_round_long_double): Remove function.
61822
61823 2007-05-18  Bruno Haible  <bruno@clisp.org>
61824
61825         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
61826         introduced on 2007-05-06.
61827
61828 2007-05-18  Bruno Haible  <bruno@clisp.org>
61829
61830         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
61831         %g directives.
61832         * tests/test-vasprintf-posix.c (test_function): Likewise.
61833         * tests/test-snprintf-posix.h (test_function): Likewise.
61834         * tests/test-sprintf-posix.h (test_function): Likewise.
61835
61836 2007-05-18  Bruno Haible  <bruno@clisp.org>
61837
61838         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
61839         (strmatch): New function.
61840         (test_function): Test the %f directive on numbers of various exponents.
61841         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
61842         (strmatch): New function.
61843         (test_function): Test the %f directive on numbers of various exponents.
61844         * tests/test-snprintf-posix.h (strmatch): New function.
61845         (test_function): Test the %f directive on numbers of various exponents.
61846         * tests/test-sprintf-posix.h (strmatch): New function.
61847         (test_function): Test the %f directive on numbers of various exponents.
61848         * tests/test-snprintf-posix.c (SIZEOF): New macro.
61849         * tests/test-sprintf-posix.c (SIZEOF): New macro.
61850         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
61851         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
61852
61853 2007-05-18  Bruno Haible  <bruno@clisp.org>
61854
61855         Add support for 'long double' number output.
61856         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
61857         * lib/vasnprintf.c: Include math.h and float+.h.
61858         (mp_limb_t): New type.
61859         (GMP_LIMB_BITS): New macro.
61860         (mp_twolimb_t): New type.
61861         (GMP_TWOLIMB_BITS): New macro.
61862         (mpn_t): New type.
61863         (multiply, divide, convert_to_decimal, decode_long_double,
61864         scale10_round_long_double, scale10_round_decimal_long_double,
61865         floorlog10l): New functions.
61866         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
61867         for the %f, %F, %e, %E, %g, %G directives.
61868         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
61869         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61870         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
61871         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
61872         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61873         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61874         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61875         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61876         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61877         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61878         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61879         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
61880         * modules/snprintf-posix (Depends-on): Likewise.
61881         * modules/sprintf-posix (Depends-on): Likewise.
61882         * modules/vasnprintf-posix (Depends-on): Likewise.
61883         * modules/vasprintf-posix (Depends-on): Likewise.
61884         * modules/vfprintf-posix (Depends-on): Likewise.
61885         * modules/vsnprintf-posix (Depends-on): Likewise.
61886         * modules/vsprintf-posix (Depends-on): Likewise.
61887         * modules/vasnprintf (Files): Add lib/float+.h.
61888         * doc/functions/fprintf.texi: Update.
61889         * doc/functions/printf.texi: Update.
61890         * doc/functions/snprintf.texi: Update.
61891         * doc/functions/sprintf.texi: Update.
61892         * doc/functions/vfprintf.texi: Update.
61893         * doc/functions/vprintf.texi: Update.
61894         * doc/functions/vsnprintf.texi: Update.
61895         * doc/functions/vsprintf.texi: Update.
61896
61897 2007-05-18  Bruno Haible  <bruno@clisp.org>
61898
61899         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
61900
61901 2007-05-18  Bruno Haible  <bruno@clisp.org>
61902
61903         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
61904         for printing 64-bit integers. Needed for mingw.
61905
61906 2007-05-18  Bruno Haible  <bruno@clisp.org>
61907
61908         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
61909         gl_FUNC_FREXPL_WORKS.
61910         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
61911
61912 2007-05-18  Bruno Haible  <bruno@clisp.org>
61913
61914         * modules/frexpl-nolibm-tests: New file.
61915
61916         * modules/frexpl-nolibm: New file.
61917         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
61918
61919 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
61920
61921         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
61922         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
61923         GCC 4.2, which otherwise issues a lot of warnings.
61924         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
61925         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
61926         Likewise.
61927         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
61928         * modules/iconv_open (iconv.h): Likewise.
61929         * modules/locale (locale.h): Likewise.
61930         * modules/netinet_in (netinet/in.h): Likewise.
61931         * modules/sys_select (sys_select.h): Likewise.
61932         * modules/sys_socket (sys/socket.h): Likewise.
61933         * modules/sys_stat (sys/stat.h): Likewise.
61934         * modules/sysexits (sysexits.h): Likewise.
61935         * modules/unistd (unistd.h): Likewise.
61936
61937 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61938
61939         * modules/closein-tests (Makefile.am): Distribute
61940         `test-closein.sh'.
61941
61942 2007-05-17  Bruno Haible  <bruno@clisp.org>
61943
61944         * tests/test-printf-posix.output: Renamed from
61945         tests/test-fprintf-posix.out.
61946         * modules/fprintf-posix-tests: Update.
61947         * modules/printf-posix-tests: Update.
61948         * modules/vfprintf-posix-tests: Update.
61949         * modules/vprintf-posix-tests: Update.
61950         * tests/test-fprintf-posix.sh: Update.
61951         * tests/test-printf-posix.sh: Update.
61952         * tests/test-vfprintf-posix.sh: Update.
61953         * tests/test-vprintf-posix.sh: Update.
61954         Reported by Ralf Wildenhues.
61955
61956 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
61957
61958         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
61959         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
61960         GCC 4.2, which otherwise issues a lot of warnings.
61961         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
61962         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
61963         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
61964         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
61965         it should no longer be needed.
61966         * lib/string_.h: Likewise.
61967         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
61968         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
61969         * modules/inttypes (inttypes.h): Likewise.
61970         * modules/math (math.h): Likewise.
61971         * modules/search (search.h): Likewise.
61972         * modules/signal (signal.h): Likewise.
61973         * modules/stdint (stdint.h): Likewise.
61974         * modules/stdio (stdio.h): Likewise.
61975         * modules/stdlib (stdlib.h): Likewise.
61976         * modules/string (string.h): Likewise.
61977         * modules/sys_time (sys/time.h): Likewise.
61978         * modules/time (time.h): Likewise.
61979         * modules/wchar (wchar.h): Likewise.
61980         * modules/wctype (wtype.h): Likewise.
61981
61982 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61983
61984         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
61985
61986 2007-05-13  Bruno Haible  <bruno@clisp.org>
61987
61988         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
61989         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
61990         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
61991         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
61992         (gl_PREREQ_STRTOK_R): Don't require it here.
61993
61994 2007-05-13  Bruno Haible  <bruno@clisp.org>
61995
61996         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
61997         when used in C++ mode.
61998
61999 2007-05-12  Bruno Haible  <bruno@clisp.org>
62000
62001         * lib/linebuffer.h: Tweak doc.
62002         * lib/linebuffer.c: Likewise.
62003
62004 2007-05-12  James Youngman  <jay@gnu.org>
62005
62006         * lib/linebuffer.c (readlinebuffer_delim): New function,
62007         like readlinebuffer, but use a caller-specified delimiter.
62008         (readlinebuffer): Just call readlinebuffer_delim with '\n'
62009         as the delimiter.
62010         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
62011
62012 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
62013
62014         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
62015         * modules/openat (Files): Remove openat-die.c.
62016         (Depends-on): Add openat-die.
62017         * modules/openat-die: New module.
62018
62019 2007-05-06  Bruno Haible  <bruno@clisp.org>
62020
62021         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
62022         Update with info about Cygwin.
62023         * doc/functions/fprintf.texi: Update.
62024         * doc/functions/printf.texi: Update.
62025         * doc/functions/snprintf.texi: Update.
62026         * doc/functions/sprintf.texi: Update.
62027         * doc/functions/vfprintf.texi: Update.
62028         * doc/functions/vprintf.texi: Update.
62029         * doc/functions/vsnprintf.texi: Update.
62030         * doc/functions/vsprintf.texi: Update.
62031         Reported by Eric Blake.
62032
62033 2007-05-06  Bruno Haible  <bruno@clisp.org>
62034
62035         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
62036         padding ourselves for the floating-point directives.
62037         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
62038         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
62039         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62040         gl_PRINTF_FLAG_ZERO and test its result. Invoke
62041         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
62042         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62043         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
62044         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62045         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62046         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62047         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62048         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62049         * tests/test-snprintf-posix.h (test_function): Also check the width
62050         and some flags in the %f directive.
62051         * tests/test-sprintf-posix.h (test_function): Likewise.
62052         * tests/test-vasnprintf-posix.c (test_function): Likewise.
62053         * tests/test-vasprintf-posix.c (test_function): Likewise.
62054         * doc/functions/fprintf.texi: Update.
62055         * doc/functions/printf.texi: Update.
62056         * doc/functions/snprintf.texi: Update.
62057         * doc/functions/sprintf.texi: Update.
62058         * doc/functions/vfprintf.texi: Update.
62059         * doc/functions/vprintf.texi: Update.
62060         * doc/functions/vsnprintf.texi: Update.
62061         * doc/functions/vsprintf.texi: Update.
62062
62063 2007-05-06  Bruno Haible  <bruno@clisp.org>
62064
62065         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
62066         pass the ' flag character to sprintf or snprintf.
62067         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
62068         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
62069         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62070         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
62071         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
62072         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62073         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
62074         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62075         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62076         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62077         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62078         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62079         * tests/test-snprintf-posix.h (test_function): Also check the grouping
62080         flag.
62081         * tests/test-sprintf-posix.h (test_function): Likewise.
62082         * tests/test-vasnprintf-posix.c (test_function): Likewise.
62083         * tests/test-vasprintf-posix.c (test_function): Likewise.
62084         * doc/functions/fprintf.texi: Update.
62085         * doc/functions/printf.texi: Update.
62086         * doc/functions/snprintf.texi: Update.
62087         * doc/functions/sprintf.texi: Update.
62088         * doc/functions/vfprintf.texi: Update.
62089         * doc/functions/vprintf.texi: Update.
62090         * doc/functions/vsnprintf.texi: Update.
62091         * doc/functions/vsprintf.texi: Update.
62092
62093 2007-05-01  Bruno Haible  <bruno@clisp.org>
62094
62095         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
62096
62097 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
62098
62099         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
62100         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
62101
62102 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62103
62104         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
62105         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
62106         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
62107
62108 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
62109
62110         * lib/argp-help.c (struct hol_entry): New member `ord'.
62111         (HOL_ENTRY_PTRCMP): Use ord for comparison
62112         (hol_sort): Initialize ord.
62113
62114 2007-05-01  Bruno Haible  <bruno@clisp.org>
62115
62116         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
62117         Reported by Eric Blake.
62118         * doc/gnulib.texi (Function Substitutes): Update.
62119
62120 2007-05-01  Bruno Haible  <bruno@clisp.org>
62121
62122         * doc/functions.texi: Remove file, now redundant through
62123         doc/functions/*.texi.
62124
62125 2007-05-01  Bruno Haible  <bruno@clisp.org>
62126
62127         * modules/argp (Depends-on): Add sleep.
62128
62129 2007-05-01  Bruno Haible  <bruno@clisp.org>
62130
62131         * modules/sleep-tests: New file.
62132         * tests/test-sleep.c: New file.
62133
62134         * modules/sleep: New file.
62135         * lib/sleep.c: New file.
62136         * m4/sleep.m4: New file.
62137         * lib/unistd_.h (sleep): New declaration.
62138         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
62139         HAVE_SLEEP.
62140         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
62141         * doc/functions/sleep.texi: Document the sleep module.
62142
62143 2007-05-01  Bruno Haible  <bruno@clisp.org>
62144
62145         * lib/sigprocmask.h: Remove file.
62146         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
62147         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
62148         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
62149         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
62150         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
62151         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
62152         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
62153         HAVE_SIGSET_T as a shell variable.
62154         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
62155         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
62156         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
62157         (Depends-on): Add signal. Remove verify.
62158         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
62159         (Include): Mention <signal.h> instead of sigprocmask.h.
62160         * NEWS: Mention the change.
62161         * lib/fatal-signal.c: Don't include sigprocmask.h.
62162
62163 2007-05-01  Bruno Haible  <bruno@clisp.org>
62164
62165         * modules/signal: New file.
62166         * lib/signal_.h: New file.
62167         * m4/signal_h.m4: New file.
62168
62169 2007-05-01  Bruno Haible  <bruno@clisp.org>
62170
62171         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
62172         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
62173         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
62174         HAVE_WCTYPE_CTMP_BUG into wctype.h.
62175
62176 2007-05-01  Bruno Haible  <bruno@clisp.org>
62177
62178         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
62179         configure time.
62180         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
62181         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
62182         * modules/sys_stat (Makefile.am): Substitute their values into
62183         sys/stat.h.
62184
62185 2007-05-01  Bruno Haible  <bruno@clisp.org>
62186
62187         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
62188         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
62189         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
62190
62191 2007-05-01  Bruno Haible  <bruno@clisp.org>
62192
62193         * doc/header/assert.texi: Undo last change: don't mention the gnulib
62194         'assert' module here.
62195
62196 2007-05-01  Bruno Haible  <bruno@clisp.org>
62197
62198         * doc/functions/*.texi: New files.
62199         * doc/functions/google-ranking.txt: New file.
62200         * doc/gnulib.texi (Function Substitutes): New chapter.
62201         (ctime, inet_ntoa): Remove sections.
62202         * doc/ctime.texi: Remove file.
62203         * doc/inet_ntoa.texi: Remove file.
62204         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
62205         dependencies.
62206         (%.info): New rule, specifying a --reference-limit.
62207
62208 2007-05-01  Bruno Haible  <bruno@clisp.org>
62209
62210         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
62211
62212 2007-05-01  Bruno Haible  <bruno@clisp.org>
62213
62214         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
62215         the portability of 'mkdir' to mingw systems.
62216
62217 2007-05-01  Bruno Haible  <bruno@clisp.org>
62218
62219         * doc/headers/google-ranking.txt: New file.
62220
62221 2007-04-30  Eric Blake  <ebb9@byu.net>
62222
62223         Prefer fseeko to fseek.
62224         * modules/getpass (Depends-on): Add fseeko.
62225         * lib/getpass.c (getpass): Use fseeko, not fseek.
62226
62227 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
62228
62229         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
62230         assumes the sorting is stable, while most qsort implementations
62231         are not.  Use argument addresses to ensure they never compare as
62232         equal.
62233
62234         * tests/test-argp-2.sh (usage-indent test): Fix output
62235         (func_compare): Restore diff options
62236         * tests/test-argp.c: Restore #include "progname.h"
62237
62238 2007-04-29  Bruno Haible  <bruno@clisp.org>
62239
62240         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
62241         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62242         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
62243         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62244         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
62245         (configure.ac): Define CHECK_SNPRINTF_POSIX.
62246         (TESTS, check_PROGRAMS): Add test-snprintf.
62247         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
62248         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
62249         (TESTS, check_PROGRAMS): Add test-vsnprintf.
62250         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
62251         assertions that fail on HP-UX, OSF/1, or IRIX.
62252         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
62253
62254 2007-04-29  Bruno Haible  <bruno@clisp.org>
62255
62256         * MODULES.html.sh (posix_functions): Remove 'contents'.
62257
62258 2007-04-29  Karl Berry  <karl@gnu.org>
62259
62260         * config/srclist.txt (gendocs_template_min): new entry.
62261
62262 2007-04-29  Bruno Haible  <bruno@clisp.org>
62263
62264         Work around fpurge bug on BSD systems.
62265         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
62266         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
62267         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
62268         fpurge to rpl_fpurge if the system already has this function.
62269         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
62270         the case where the system already has this function. Correct invariants
62271         on BSD systems.
62272         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
62273         BSD systems.
62274
62275 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
62276
62277         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
62278         proposed by Sven Verdoolaege.
62279
62280         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
62281         options.
62282         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
62283         (usage and help tests): Update
62284
62285 2007-04-29  Bruno Haible  <bruno@clisp.org>
62286
62287         * tests/test-fflush.c (main): Use a file of size 17, not 10.
62288         Print more information in case of failure. Disable a test on BeOS.
62289
62290 2007-04-29  Bruno Haible  <bruno@clisp.org>
62291
62292         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
62293         This helps debugging on systems on which no gdb is available.
62294
62295 2007-04-29  Bruno Haible  <bruno@clisp.org>
62296
62297         * lib/freading.h: Improve comments.
62298         * lib/fwriting.h: Likewise.
62299         * tests/test-freading.c (main): Don't check freading immediately after
62300         repositioning. Needed for glibc.
62301
62302 2007-04-29  Bruno Haible  <bruno@clisp.org>
62303
62304         * lib/freading.c (freading): Trivial simplification.
62305
62306 2007-04-28  Bruno Haible  <bruno@clisp.org>
62307
62308         * tests/test-fwriting.c (main): Also test the interaction between
62309         fflush and fwriting.
62310         * modules/fwriting-tests (Depends-on): Add fflush.
62311
62312         * tests/test-freading.c (main): Also test the interaction between
62313         fflush and freading.
62314         * modules/freading-tests (Depends-on): Add fflush.
62315
62316 2007-04-28  Bruno Haible  <bruno@clisp.org>
62317
62318         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
62319         fseeko and ftello.
62320         Suggested by Eric Blake.
62321
62322 2007-04-28  Jim Meyering  <jim@meyering.net>
62323
62324         Avoid false-negative in gl_STDINT_H's C99 conformance test.
62325         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
62326         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
62327
62328 2007-04-27  Eric Blake  <ebb9@byu.net>
62329
62330         * doc/headers/assert.texi (assert.h): Document assert module use.
62331
62332 2007-04-27  Bruno Haible  <bruno@clisp.org>
62333
62334         * doc/headers/*.texi: New files.
62335         * doc/gnulib.texi (Header File Substitutes): New chapter.
62336         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
62337         dependencies.
62338         (standards.info ,standards.html, standards.dvi): Update dependencies.
62339         (mostlyclean, clean): New targets.
62340
62341 2007-04-27  Bruno Haible  <bruno@clisp.org>
62342
62343         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
62344         * modules/sysexits (Files, Makefile.am): Update.
62345
62346         * lib/sys_socket_.h: Renamed from lib/socket_.h.
62347         * modules/sys_socket (Files, Makefile.am): Update.
62348
62349         * lib/sys_stat_.h: Renamed from lib/stat_.h.
62350         * modules/sys_stat (Files, Makefile.am): Update.
62351
62352 2007-04-27  Eric Blake  <ebb9@byu.net>
62353
62354         * lib/freading.h: Improve comments.
62355         * lib/fwriting.h: Likewise.
62356         * lib/fflush.c: Likewise.
62357
62358         Fix closein for mingw.
62359         * modules/closein-tests: Add tests for closein.
62360         * tests/test-closein.c: New file.
62361         * tests/test-closein.sh: Likewise.
62362         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
62363         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
62364
62365 2007-04-27  Bruno Haible  <bruno@clisp.org>
62366
62367         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
62368         version is < 6.
62369         * lib/math_.h [__DECC]: Likewise.
62370         * lib/stdio_.h [__DECC]: Likewise.
62371         * lib/stdlib_.h [__DECC]: Likewise.
62372         * lib/string_.h [__DECC]: Likewise.
62373         * lib/time_.h [__DECC]: Likewise.
62374         * lib/wchar_.h [__DECC]: Likewise.
62375         * lib/wctype_.h [__DECC]: Likewise.
62376
62377 2007-04-27  Bruno Haible  <bruno@clisp.org>
62378
62379         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
62380
62381 2007-04-27  Bruno Haible  <bruno@clisp.org>
62382
62383         * lib/fflush.c: Add comments.
62384         * modules/fpurge-tests (Depends-on): Add fflush.
62385         * modules/freadable-tests (Depends-on): Likewise.
62386         * modules/fwritable-tests (Depends-on): Likewise.
62387
62388 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
62389
62390         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
62391         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
62392         Report by Bruno Haible <bruno@clisp.org>.
62393
62394 2007-04-26  Eric Blake  <ebb9@byu.net>
62395
62396         Fix fflush on mingw.
62397         * modules/fflush (Depends-on): Add freading.
62398         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
62399         but unread data.
62400
62401 2007-04-26  Eric Blake  <ebb9@byu.net>
62402         and Bruno Haible  <bruno@clisp.org>
62403
62404         Implement freading and fwriting.
62405         * lib/freading.c: New file.
62406         * lib/freading.h: Likewise.
62407         * m4/freading.m4: Likewise.
62408         * modules/freading: Likewise.
62409         * modules/freading-tests: Likewise.
62410         * tests/test-freading.c: Likewise.
62411         * lib/fwriting.c: New file.
62412         * lib/fwriting.h: Likewise.
62413         * m4/fwriting.m4: Likewise.
62414         * modules/fwriting: Likewise.
62415         * modules/fwriting-tests: Likewise.
62416         * tests/test-fwriting.c: Likewise.
62417         * MODULES.html.sh (File stream based Input/Output): Mention them.
62418
62419 2007-04-26  Bruno Haible  <bruno@clisp.org>
62420
62421         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
62422         'long' when we assume it.
62423         Suggested by Eric Blake.
62424
62425 2007-04-26  Bruno Haible  <bruno@clisp.org>
62426
62427         Ensure fseeko, ftello are declared on glibc systems.
62428         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
62429         * modules/fseeko (configure.ac-early): Likewise.
62430         * modules/ftello (configure.ac-early): Likewise.
62431         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
62432         AC_FUNC_FSEEKO for this.
62433         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
62434         (gl_CHECK_FSEEKO): Remove macro.
62435
62436 2007-04-26  Bruno Haible  <bruno@clisp.org>
62437
62438         * tests/test-fflush.c (main): Also check the ftell result after
62439         fflush and fseek/fseeko.
62440         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
62441         file descriptor position cache in the stream.
62442         * lib/fseeko.c (rpl_fseeko): Likewise.
62443
62444 2007-04-26  Bruno Haible  <bruno@clisp.org>
62445
62446         * modules/fflush-tests (Depends-on): Add fseeko.
62447
62448 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
62449             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62450
62451         * lib/argz_.h: ensure error_t definition is obtained in same
62452         mechanism system argz.h would have.
62453         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
62454         argz facilities are known bad.  Err on the side of caution if
62455         cross-compiling.
62456
62457 2007-04-25  Eric Blake  <ebb9@byu.net>
62458
62459         * lib/fpurge.c (includes): Use stdlib.h for free.
62460         * tests/test-fflush.c (main): Also test fflush-fseeko.
62461
62462 2007-04-25  Bruno Haible  <bruno@clisp.org>
62463
62464         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
62465         * lib/fseeko.c: New file.
62466         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
62467         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
62468         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
62469         gl_FUNC_FSEEKO.
62470         (gl_FUNC_FSEEKO): Invoke it.
62471         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
62472         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
62473         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
62474
62475 2007-04-25  Bruno Haible  <bruno@clisp.org>
62476
62477         * modules/fflush (Depends-on): Add ftello.
62478
62479 2007-04-25  Bruno Haible  <bruno@clisp.org>
62480
62481         * modules/ftello-tests: New file.
62482         * tests/test-ftello.c: New file.
62483
62484         * modules/ftello: New file.
62485         * m4/ftello.m4: New file.
62486         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
62487         HAVE_FTELLO.
62488         * lib/stdio_.h (ftello): New declaration.
62489         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
62490         HAVE_FTELLO.
62491
62492 2007-04-25  Bruno Haible  <bruno@clisp.org>
62493
62494         * modules/fseeko-tests: New file.
62495         * tests/test-fseeko.c: New file.
62496
62497         * modules/fseeko: New file.
62498         * m4/fseeko.m4: New file.
62499         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
62500         HAVE_FSEEKO.
62501         * lib/stdio_.h (fseeko): New declaration.
62502         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
62503         HAVE_FSEEKO.
62504
62505 2007-04-25  Bruno Haible  <bruno@clisp.org>
62506
62507         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
62508
62509 2007-04-25  Bruno Haible  <bruno@clisp.org>
62510
62511         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
62512         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
62513         * tests/test-unistd.c: Likewise.
62514         * tests/test-fcntl.c: Likewise.
62515
62516 2007-04-23  Eric Blake  <ebb9@byu.net>
62517
62518         * lib/fflush.c: Fix missing include.
62519         Reported by Bruno Haible.
62520
62521 2007-04-23  Bruno Haible  <bruno@clisp.org>
62522
62523         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
62524         Reported by Eric Blake.
62525
62526 2007-04-23  Bruno Haible  <bruno@clisp.org>
62527
62528         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
62529
62530 2007-04-23  Bruno Haible  <bruno@clisp.org>
62531
62532         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
62533
62534 2007-04-23  Bruno Haible  <bruno@clisp.org>
62535
62536         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
62537         Needed on HP-UX 11.
62538
62539 2007-04-16  Eric Blake  <ebb9@byu.net>
62540
62541         Make fflush rely on fpurge.
62542         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
62543         open coding all variants.
62544         * modules/fflush (Depends-on): Add fpurge and unistd.
62545         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
62546         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
62547
62548         Fix --with-tests compilation on cygwin.
62549         * modules/argmatch-tests (Makefile.am): List gnulib library first
62550         in LDADD.
62551         * modules/argp-tests (Makefile.am): Likewise.
62552         * modules/array-list-tests (Makefile.am): Likewise.
62553         * modules/array-oset-tests (Makefile.am): Likewise.
62554         * modules/avltree-list-tests (Makefile.am): Likewise.
62555         * modules/avltree-oset-tests (Makefile.am): Likewise.
62556         * modules/avltreehash-list-tests (Makefile.am): Likewise.
62557         * modules/carray-list-tests (Makefile.am): Likewise.
62558         * modules/dirname-tests (Makefile.am): Likewise.
62559         * modules/frexp-tests (Makefile.am): Likewise.
62560         * modules/isnanl-tests (Makefile.am): Likewise.
62561         * modules/linked-list-tests (Makefile.am): Likewise.
62562         * modules/linkedhash-list-tests (Makefile.am): Likewise.
62563         * modules/lock-tests (Makefile.am): Likewise.
62564         * modules/rbtree-list-tests (Makefile.am): Likewise.
62565         * modules/rbtree-oset-tests (Makefile.am): Likewise.
62566         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
62567         * modules/tls-tests (Makefile.am): Likewise.
62568         * modules/tsearch-tests (Makefile.am): Likewise.
62569         * modules/xvasprintf-tests (Makefile.am): Likewise.
62570
62571         Fix fpurge for cygwin.
62572         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
62573         value.
62574         * modules/fpurge-tests (Depends-on): Clean up trash.
62575
62576 2007-04-16  Simon Josefsson  <simon@josefsson.org>
62577
62578         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
62579
62580         * m4/autobuild.m4: Re-indent.
62581
62582 2007-04-13  Bruno Haible  <bruno@clisp.org>
62583
62584         * modules/fpurge-tests: New file.
62585         * tests/test-fpurge.c: New file.
62586
62587         * modules/fpurge: New file.
62588         * lib/fpurge.h: New file.
62589         * lib/fpurge.c: New file.
62590         * m4/fpurge.m4: New file.
62591
62592 2007-04-13  Bruno Haible  <bruno@clisp.org>
62593
62594         * modules/fbufmode-tests: New file.
62595         * tests/test-fbufmode.c: New file.
62596
62597         * modules/fbufmode: New file.
62598         * lib/fbufmode.h: New file.
62599         * lib/fbufmode.c: New file.
62600         * m4/fbufmode.m4: New file.
62601
62602 2007-04-13  Bruno Haible  <bruno@clisp.org>
62603
62604         * modules/fwritable-tests: New file.
62605         * tests/test-fwritable.c: New file.
62606
62607         * modules/fwritable: New file.
62608         * lib/fwritable.h: New file.
62609         * lib/fwritable.c: New file.
62610         * m4/fwritable.m4: New file.
62611
62612 2007-04-13  Bruno Haible  <bruno@clisp.org>
62613
62614         * modules/freadable-tests: New file.
62615         * tests/test-freadable.c: New file.
62616
62617         * modules/freadable: New file.
62618         * lib/freadable.h: New file.
62619         * lib/freadable.c: New file.
62620         * m4/freadable.m4: New file.
62621
62622 2007-04-13  Bruno Haible  <bruno@clisp.org>
62623
62624         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
62625         MOSTLYCLEANFILES.
62626
62627 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
62628
62629         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
62630         gzip bootstrap.conf to avoid dragging in i18n machinery.
62631         (gnulib_tool_option): Use it.
62632
62633 2007-04-13  Bruno Haible  <bruno@clisp.org>
62634
62635         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
62636         %F directives.
62637         * tests/test-vasprintf-posix.c (test_function): Likewise.
62638         * tests/test-snprintf-posix.h (test_function): Likewise.
62639         * tests/test-sprintf-posix.h (test_function): Likewise.
62640         * tests/test-fprintf-posix.h (test_function): Likewise.
62641         * tests/test-printf-posix.h (test_function): Likewise.
62642         * tests/test-fprintf-posix.out: Likewise.
62643
62644 2007-04-13  Bruno Haible  <bruno@clisp.org>
62645
62646         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
62647         * modules/tls-tests (configure.ac): Likewise.
62648         Reported by Arto C. Nirkko <anirkko@insel.ch>.
62649
62650 2007-04-13  Bruno Haible  <bruno@clisp.org>
62651
62652         * lib/tls.c (glthread_tls_get): Fix return type.
62653         Patch by Arto C. Nirkko <anirkko@insel.ch>.
62654
62655 2007-04-12  Eric Blake  <ebb9@byu.net>
62656
62657         * modules/gettime (Depends-on): Remove gettime.
62658         Reported by Dmitry V. Levin.
62659
62660 2007-04-12  Bruno Haible  <bruno@clisp.org>
62661
62662         * modules/fflush (Include): Mention <stdio.h>.
62663         * modules/strtoimax (Include): Mention <inttypes.h>.
62664         * modules/strtoumax (Include): Likewise.
62665
62666 2007-04-12  Eric Blake  <ebb9@byu.net>
62667
62668         * .cvsignore: New file.
62669         * .gitignore: Likewise.
62670
62671 2007-04-12  Bruno Haible  <bruno@clisp.org>
62672
62673         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
62674         not before, since $(LDADD) often contains libgnu.a.
62675         * modules/striconv-tests (test_striconv_LDADD): Likewise.
62676         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
62677         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
62678         Needed on Cygwin.
62679
62680 2007-04-12  Eric Blake  <ebb9@byu.net>
62681
62682         Work around glibc's failure to flush stdin on fclose.
62683         * lib/closein.c (close_stdin): Flush stdin before closing.
62684
62685         Work around glibc's failure to reset seekable stdin on exit.
62686         * modules/closein: New module.
62687         * lib/closein.c: New file.
62688         * lib/closein.h: Likewise.
62689         * m4/closein.m4: Likewise.
62690         * MODULES.html.sh (File stream based Input/Output): Document it.
62691
62692 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62693
62694         * gnulib-tool: Rename generated 'autobuild' script to
62695         'do-autobuild' in --create-megatestdir output.
62696
62697         * doc/gnulib.texi (Build robot for gnulib): Fix.
62698
62699 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62700
62701         * modules/sysexits (Depends-on): Add absolute-header.
62702
62703 2007-04-12  Eric Blake  <ebb9@byu.net>
62704
62705         No need to preserve errno on success.
62706         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
62707         Reported by Bruno Haible.
62708
62709 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62710
62711         * MODULES.html.sh (Support for maintaining and releasing
62712         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
62713
62714 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62715
62716         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
62717
62718 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62719
62720         * modules/autobuild: New module.
62721
62722         * m4/autobuild.m4: New file.
62723
62724 2007-04-11  Bruno Haible  <bruno@clisp.org>
62725
62726         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
62727         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
62728         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
62729         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
62730         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62731         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62732         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62733         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62734         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62735         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62736         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
62737         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62738         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62739         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
62740         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62741         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62742         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
62743         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62744         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62745         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
62746         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62747         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62748         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
62749         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62750         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62751         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
62752         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62753         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62754         Reported by Eric Blake.
62755
62756 2007-04-11  Bruno Haible  <bruno@clisp.org>
62757
62758         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
62759
62760 2007-04-10  Bruno Haible  <bruno@clisp.org>
62761
62762         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
62763         for NaN and Infinity. Needed on FreeBSD 6.1.
62764         * tests/test-vasnprintf-posix.c (test_function): Undo last change
62765         regarding results for "%010a" of Infinity and NaN.
62766         * tests/test-vasprintf-posix.c (test_function): Likewise.
62767         * tests/test-snprintf-posix.h (test_function): Likewise.
62768         * tests/test-sprintf-posix.h (test_function): Likewise.
62769         * tests/test-fprintf-posix.h (test_function): Likewise.
62770         * tests/test-printf-posix.h (test_function): Likewise.
62771         * tests/test-fprintf-posix.out: Likewise.
62772
62773 2007-04-10  Bruno Haible  <bruno@clisp.org>
62774
62775         * modules/locale-tests: New file.
62776         * tests/test-locale.c: New file.
62777
62778         * modules/locale: New file.
62779         * lib/locale_.h: New file.
62780         * m4/locale_h.m4: New file.
62781
62782 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
62783             Bruno Haible  <bruno@clisp.org>
62784
62785         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
62786         be determined, test for availability of the copysignf, copysign,
62787         copysignl functions.
62788         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
62789         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
62790         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
62791
62792 2007-04-09  Eric Blake  <ebb9@byu.net>
62793
62794         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
62795         * modules/stdio (Makefile.am): Support fflush.
62796         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
62797         * modules/fflush: New file.
62798         * lib/fflush.c: Likewise.
62799         * m4/fflush.m4: Likewise.
62800         * modules/fflush-tests: New test.
62801         * tests/test-fflush.c: Likewise.
62802         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
62803
62804 2007-04-06  Bruno Haible  <bruno@clisp.org>
62805
62806         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
62807         (VASNPRINTF): Use signbit for faster determination whether to print a
62808         minus sign.
62809         * modules/vasnprintf (Files): Remove lib/float+.h.
62810         * modules/fprintf-posix (Depends-on): Add signbit.
62811         * modules/snprintf-posix (Depends-on): Likewise.
62812         * modules/sprintf-posix (Depends-on): Likewise.
62813         * modules/vasnprintf-posix (Depends-on): Likewise.
62814         * modules/vasprintf-posix (Depends-on): Likewise.
62815         * modules/vfprintf-posix (Depends-on): Likewise.
62816         * modules/vsnprintf-posix (Depends-on): Likewise.
62817         * modules/vsprintf-posix (Depends-on): Likewise.
62818
62819 2007-04-06  Bruno Haible  <bruno@clisp.org>
62820
62821         * tests/test-frexp.c (main): Test also the sign bit of zero results.
62822         * tests/test-frexpl.c (main): Likewise.
62823         * tests/test-ldexpl.c (main): Likewise.
62824         * modules/frexp-tests (Depends-on): Add signbit.
62825         * modules/frexpl-tests (Depdends-on): Likewise.
62826         * modules/ldexpl-tests (Depdends-on): Likewise.
62827
62828 2007-04-06  Bruno Haible  <bruno@clisp.org>
62829
62830         * modules/signbit-tests: New file.
62831         * tests/test-signbit.c: New file.
62832
62833         * modules/signbit: New file.
62834         * lib/signbitf.c: New file.
62835         * lib/signbitd.c: New file.
62836         * lib/signbitl.c: New file.
62837         * m4/signbit.m4: New file.
62838         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
62839         (signbit): New macro.
62840         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
62841         REPLACE_SIGNBIT.
62842         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
62843         REPLACE_FREXPL into math.h.
62844
62845 2007-04-06  Bruno Haible  <bruno@clisp.org>
62846
62847         * modules/isnanf-nolibm-tests: New file.
62848         * tests/test-isnanf.c: New file.
62849
62850         * modules/isnanf-nolibm: New file.
62851         * lib/isnanf.h: New file.
62852         * lib/isnanf.c: New file.
62853         * lib/isnan.c: Consider the USE_FLOAT macro.
62854         * m4/isnanf.m4: New file.
62855
62856 2007-04-06  Bruno Haible  <bruno@clisp.org>
62857
62858         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
62859         (Link): New section.
62860
62861         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
62862
62863 2007-04-06  Bruno Haible  <bruno@clisp.org>
62864
62865         Assume the 'long double' type.
62866         * m4/longdouble.m4: Remove file.
62867         * config/srclist.txt: Don't mention longdouble.m4.
62868         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
62869         * lib/float+.h: Likewise.
62870         * lib/frexp.c: Likewise.
62871         * lib/printf-args.h: Likewise.
62872         * lib/printf-args.c: Likewise.
62873         * lib/printf-frexp.c: Likewise.
62874         * lib/printf-parse.c: Likewise.
62875         * lib/vasnprintf.c: Likewise.
62876         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
62877         * m4/intl.m4: Likewise.
62878         * m4/isnanl.m4: Likewise.
62879         * m4/printf.m4: Likewise.
62880         * m4/printf-frexpl.m4: Likewise.
62881         * m4/vasnprintf.m4: Likewise.
62882         * modules/allocsa (Files): Remove m4/longdouble.m4.
62883         * modules/gettext (Files): Likewise.
62884         * modules/relocatable-prog-wrapper (Files): Likewise.
62885         * modules/vasnprintf (Files): Likewise.
62886         * modules/isnanl (Files): Likewise.
62887         (Include): Simplify.
62888         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
62889         (Include): Simplify.
62890         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
62891         (Include): Simplify.
62892         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
62893         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62894         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
62895         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62896         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
62897         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62898         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
62899         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62900         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
62901         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62902         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
62903         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62904         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
62905         * tests/test-isnanl.c: Likewise.
62906         * tests/test-snprintf-posix.h: Likewise.
62907         * tests/test-sprintf-posix.h: Likewise.
62908         * tests/test-vasnprintf-posix.c: Likewise.
62909         * tests/test-vasnprintf-posix2.c: Likewise.
62910         * tests/test-vasprintf-posix.c: Likewise.
62911
62912 2007-04-06  Bruno Haible  <bruno@clisp.org>
62913
62914         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
62915         * lib/math_.h [__DECC]: Include the overridden include file through
62916         #include_next, outside the double-inclusion guard.
62917         * lib/stdio_.h [__DECC]: Likewise.
62918         * lib/stdlib_.h [__DECC]: Likewise.
62919         * lib/string_.h [__DECC]: Likewise.
62920         * lib/time_.h [__DECC]: Likewise.
62921         * lib/wchar_.h [__DECC]: Likewise.
62922         * lib/wctype_.h [__DECC]: Likewise.
62923         * lib/inttypes_.h [__DECC]: Likewise.
62924         Reported by Albert Chin <china@thewrittenword.com> in
62925         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
62926
62927 2007-04-04  Eric Blake  <ebb9@byu.net>
62928
62929         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
62930         1.5.x.
62931
62932 2007-04-04  Bruno Haible  <bruno@clisp.org>
62933
62934         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
62935         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
62936
62937 2007-04-04  Bruno Haible  <bruno@clisp.org>
62938
62939         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
62940         results for "%010a" of Infinity and NaN.
62941         * tests/test-vasprintf-posix.c (test_function): Likewise.
62942         * tests/test-snprintf-posix.h (test_function): Likewise.
62943         * tests/test-sprintf-posix.h (test_function): Likewise.
62944         * tests/test-fprintf-posix.h (test_function): Remove these tests.
62945         * tests/test-printf-posix.h (test_function): Likewise.
62946         * tests/test-fprintf-posix.out: Update.
62947         Needed for FreeBSD 6.1.
62948
62949 2007-04-04  Bruno Haible  <bruno@clisp.org>
62950
62951         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
62952         directly used by the gnulib modules nor by gnulib-tool.
62953
62954 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
62955
62956         * DEPENDENCIES: Give overall description of version dependency
62957         desirability.  Use more-typical names for apps.
62958         Add shell, coreutils, diffutils, grep, tar, gzip.
62959
62960 2007-04-04  Simon Josefsson  <simon@josefsson.org>
62961
62962         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
62963
62964 2007-04-04  Karl Berry  <karl@gnu.org>
62965
62966         * MODULES.html.sh (func_module): missing '.
62967
62968 2007-04-03  Bruno Haible  <bruno@clisp.org>
62969
62970         * modules/argmatch-tests (Makefile.am): New variable
62971         test_argmatch_LDADD.
62972         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
62973         * modules/array-list-tests (Makefile.am): New variable
62974         test_array_list_LDADD.
62975         * modules/array-oset-tests (Makefile.am): New variable
62976         test_array_oset_LDADD.
62977         * modules/avltree-list-tests (Makefile.am): New variable
62978         test_avltree_list_LDADD.
62979         * modules/avltree-oset-tests (Makefile.am): New variable
62980         test_avltree_oset_LDADD.
62981         * modules/avltreehash-list-tests (Makefile.am): New variable
62982         test_avltreehash_list_LDADD.
62983         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
62984         test_canonicalize_lgpl_LDADD.
62985         * modules/carray-list-tests (Makefile.am): New variable
62986         test_carray_list_LDADD.
62987         * modules/dirname-tests (Makefile.am): New variable
62988         test_dirname_LDADD.
62989         * modules/linked-list-tests (Makefile.am): New variable
62990         test_linked_list_LDADD.
62991         * modules/linkedhash-list-tests (Makefile.am): New variable
62992         test_linkedhash_list_LDADD.
62993         * modules/rbtree-list-tests (Makefile.am): New variable
62994         test_rbtree_list_LDADD.
62995         * modules/rbtree-oset-tests (Makefile.am): New variable
62996         test_rbtree_oset_LDADD.
62997         * modules/rbtreehash-list-tests (Makefile.am): New variable
62998         test_rbtreehash_list_LDADD.
62999         * modules/xvasprintf-tests (Makefile.am): New variable
63000         test_xvasprintf_LDADD.
63001         Reported by Eric Blake.
63002
63003 2007-04-03  Eric Blake  <ebb9@byu.net>
63004
63005         * DEPENDENCIES: Weaken m4 requirements.
63006
63007 2007-04-03  Bruno Haible  <bruno@clisp.org>
63008
63009         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
63010         * modules/isnanl-tests (configure.ac): Likewise.
63011
63012 2007-04-03  Ben Pfaff  <blp@gnu.org>
63013
63014         * modules/iconv_open: Add $(srcdir)/ to source directory
63015         references in Makefile fragments that call gperf, to fix VPATH
63016         builds.
63017
63018 2007-04-03  Bruno Haible  <bruno@clisp.org>
63019
63020         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
63021         * lib/ldexpl.c: Undo last change.
63022
63023 2007-04-03  Bruno Haible  <bruno@clisp.org>
63024
63025         * modules/printf-frexpl (Depends-on): Undo last change.
63026         (Files): Add m4/ldexpl.m4.
63027
63028 2007-04-03  Bruno Haible  <bruno@clisp.org>
63029
63030         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
63031         * modules/isnanl (Link): New section.
63032
63033         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
63034         * modules/frexp (Link): New section.
63035
63036         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
63037         * modules/frexpl (Link): New section.
63038
63039         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
63040         * modules/ldexpl (Link): New section.
63041
63042 2007-04-03  Bruno Haible  <bruno@clisp.org>
63043
63044         * modules/TEMPLATE-EXTENDED: New file.
63045         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
63046
63047 2007-04-03  Bruno Haible  <bruno@clisp.org>
63048
63049         * DEPENDENCIES: New file.
63050         Suggested by Simon Josefsson.
63051
63052 2007-04-03  Bruno Haible  <bruno@clisp.org>
63053
63054         * doc/gnulib.texi: Escape @.
63055
63056 2007-04-03  James Youngman  <jay@gnu.org>
63057         and Paul Eggert  <eggert@cs.ucla.edu>
63058
63059         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
63060         birthtime on all systems that have birthtime, not just those which
63061         use st_birthtimensec rather than st_birthtim.  Putting zero in
63062         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
63063         that the birth time is not available for files on an NFS mount.
63064
63065 2007-04-03  Simon Josefsson  <simon@josefsson.org>
63066
63067         * modules/memxor: Move back from crypto/, suggested by Bruno.
63068         * modules/crypto/hmac-sha1: Fix memxor dependency.
63069
63070         * modules/crypto/gc: Moved from ../.
63071
63072 2007-04-02  Eric Blake  <ebb9@byu.net>
63073
63074         * lib/ldexpl.c (includes): Avoid libm.
63075
63076         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
63077
63078 2007-04-02  Bruno Haible  <bruno@clisp.org>
63079
63080         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
63081         on IRIX.
63082
63083 2007-04-02  Bruno Haible  <bruno@clisp.org>
63084
63085         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
63086         x86 or x86_64 platforms running MacOS X.
63087         Reported by Ryan Schmidt <@ryandesign.com>.
63088
63089 2007-04-02  Bruno Haible  <bruno@clisp.org>
63090
63091         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
63092         i386.
63093
63094 2007-04-01  Simon Josefsson  <simon@josefsson.org>
63095
63096         * modules/crypto/arcfour: Moved from ../.
63097         * modules/crypto/arcfour-tests: Moved from ../.
63098         * modules/crypto/arctwo: Moved from ../.
63099         * modules/crypto/arctwo-tests: Moved from ../.
63100         * modules/crypto/des: Moved from ../.
63101         * modules/crypto/des-tests: Moved from ../.
63102         * modules/crypto/gc-arcfour: Moved from ../.
63103         * modules/crypto/gc-arcfour-tests: Moved from ../.
63104         * modules/crypto/gc-arctwo: Moved from ../.
63105         * modules/crypto/gc-arctwo-tests: Moved from ../.
63106         * modules/crypto/gc-des: Moved from ../.
63107         * modules/crypto/gc-des-tests: Moved from ../.
63108         * modules/crypto/gc-hmac-md5: Moved from ../.
63109         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
63110         * modules/crypto/gc-hmac-sha1: Moved from ../.
63111         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
63112         * modules/crypto/gc-md2: Moved from ../.
63113         * modules/crypto/gc-md2-tests: Moved from ../.
63114         * modules/crypto/gc-md4: Moved from ../.
63115         * modules/crypto/gc-md4-tests: Moved from ../.
63116         * modules/crypto/gc-md5: Moved from ../.
63117         * modules/crypto/gc-md5-tests: Moved from ../.
63118         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
63119         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
63120         * modules/crypto/gc-random: Moved from ../.
63121         * modules/crypto/gc-rijndael: Moved from ../.
63122         * modules/crypto/gc-rijndael-tests: Moved from ../.
63123         * modules/crypto/gc-sha1: Moved from ../.
63124         * modules/crypto/gc-sha1-tests: Moved from ../.
63125         * modules/crypto/gc-tests: Moved from ../.
63126         * modules/crypto/hmac-md5: Moved from ../.
63127         * modules/crypto/hmac-md5-tests: Moved from ../.
63128         * modules/crypto/hmac-sha1: Moved from ../.
63129         * modules/crypto/hmac-sha1-tests: Moved from ../.
63130         * modules/crypto/md2: Moved from ../.
63131         * modules/crypto/md2-tests: Moved from ../.
63132         * modules/crypto/md4: Moved from ../.
63133         * modules/crypto/md4-tests: Moved from ../.
63134         * modules/crypto/md5: Moved from ../.
63135         * modules/crypto/md5-tests: Moved from ../.
63136         * modules/crypto/memxor: Moved from ../.
63137         * modules/crypto/rijndael: Moved from ../.
63138         * modules/crypto/rijndael-tests: Moved from ../.
63139         * modules/crypto/sha1: Moved from ../.
63140
63141 2007-03-30  James Youngman  <jay@gnu.org>
63142
63143         * tests/test-stat-time.c (prepare_test): use chmod() rather than
63144         rename() to change the ctime of a file (because ctime is unaffected
63145         by rename on jfs2 on AIX 5.1).
63146         (main): Start by doing cleanup, in case a previous run failed leaving
63147         test files behind.
63148
63149 2007-03-31  Bruno Haible  <bruno@clisp.org>
63150
63151         Support old proprietary implementations of iconv.
63152         * modules/iconv_open: New file.
63153         * lib/iconv_.h: New file.
63154         * m4/iconv_h.m4: New file.
63155         * lib/iconv_open.c: New file.
63156         * lib/iconv_open-aix.gperf: New file.
63157         * lib/iconv_open-hpux.gperf: New file.
63158         * lib/iconv_open-irix.gperf: New file.
63159         * lib/iconv_open-osf.gperf: New file.
63160         * m4/iconv_open.m4: New file.
63161         * modules/linebreak (Depends-on): Add iconv_open.
63162         * modules/striconv (Depends-on): Likewise.
63163         * modules/striconveh (Depends-on): Likewise.
63164         * modules/unicodeio (Depends-on): Likewise.
63165         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
63166         (iconv_t)(-1).
63167         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
63168         conversion if cd is (iconv_t)(-1).
63169         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
63170         is not possible.
63171
63172 2007-03-31  Bruno Haible  <bruno@clisp.org>
63173
63174         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
63175         work on Solaris either. Protect also second use of "autodetect_jp".
63176
63177 2007-03-31  Bruno Haible  <bruno@clisp.org>
63178
63179         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
63180         the function is not present.
63181
63182 2007-03-31  Bruno Haible  <bruno@clisp.org>
63183
63184         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
63185         the function is not present.
63186
63187 2007-03-31  Bruno Haible  <bruno@clisp.org>
63188
63189         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
63190         a bug in HP-UX iconv_open().
63191
63192 2007-03-31  Bruno Haible  <bruno@clisp.org>
63193
63194         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
63195         (Mathematics <math.h>): New section, add fpieee.
63196         (Input/output <stdio.h>): Add fseterr.
63197         (Mathematics <math.h>): New section, add printf-frexp.
63198         (Container data structures): Add sublist.
63199         (Core language properties): Add fpucw, inline.
63200         (Functions for greatest-width integer types <inttypes.h>): Add
63201         imaxabs, imaxdiv, inttypes.
63202         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
63203         isnanl-nolibm, ldexp.
63204         (Mathematics <math.h>): New section, add printf-frexpl.
63205         (Support for systems lacking POSIX:2001): Add fprintf-posix,
63206         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
63207         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
63208         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
63209         (Unicode string functions): Add unistr/u*-mbtoucr.
63210         (Java): Add javacomp-script, javaexec-script.
63211         (C#): Add csharpcomp-script, csharpexec-script.
63212         (Support for building libraries and executables): Add havelib,
63213         relocatable-*.
63214         (Support for maintaining and releasing projects): Renamed from
63215         'Support for maintaining and release projects'. Add announce-gen.
63216
63217 2007-03-31  Bruno Haible  <bruno@clisp.org>
63218
63219         * README: Talk primarily about git.
63220         (git and CVS): Renamed from CVS.
63221         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
63222         gnulib is available through git.
63223         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
63224
63225 2007-03-30  Bruno Haible  <bruno@clisp.org>
63226
63227         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
63228         * lib/poll_.h: Likewise.
63229         * lib/stat_.h: Likewise.
63230         * lib/sys_time_.h: Likewise.
63231         * lib/sysexit_.h: Likewise.
63232         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
63233         * lib/stdbool_.h: Likewise.
63234         * lib/byteswap_.h: Add double-inclusion guard.
63235
63236 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
63237
63238         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
63239
63240 2007-03-30  Karl Berry  <karl@gnu.org>
63241
63242         * config/srclist-update: double space after USA in the license
63243         substitution, since that's how it's usually (?) written.
63244
63245 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
63246
63247         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
63248         reported by Bruno Haible.
63249
63250 2007-03-29  Bruno Haible  <bruno@clisp.org>
63251
63252         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
63253         a bug in AIX iconv().
63254
63255 2007-03-29  Bruno Haible  <bruno@clisp.org>
63256
63257         * modules/ldexpl-tests: New file.
63258         * tests/test-ldexpl.c: New file.
63259
63260 2007-03-29  Bruno Haible  <bruno@clisp.org>
63261
63262         * lib/ldexpl.c: Include fpucw.h.
63263         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
63264         multiplication.
63265         * modules/ldexpl (Depends-on): Add fpucw.
63266
63267 2007-03-29  Bruno Haible  <bruno@clisp.org>
63268
63269         * modules/ldexpl: New file.
63270         * m4/ldexpl.m4: New file.
63271         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
63272         set.
63273         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
63274         REPLACE_LDEXPL.
63275         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
63276         REPLACE_LDEXPL.
63277         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
63278         gl_FUNC_LDEXPL_WORKS.
63279         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
63280         * modules/mathl (Files): Remove lib/ldexpl.c.
63281         (Depends-on): Add ldexpl.
63282
63283 2007-03-29  Bruno Haible  <bruno@clisp.org>
63284
63285         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
63286
63287 2007-03-29  Bruno Haible  <bruno@clisp.org>
63288
63289         * tests/test-striconveh.c (main): Don't assume that a direct conversion
63290         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
63291         and possibly also HP-UX.
63292         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
63293         work on AIX, IRIX, HP-UX, OSF/1.
63294         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
63295         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
63296         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
63297         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
63298         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
63299         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
63300
63301 2007-03-29  Bruno Haible  <bruno@clisp.org>
63302
63303         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
63304
63305 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
63306
63307         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
63308         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
63309
63310 2007-03-29  Eric Blake  <ebb9@byu.net>
63311
63312         * lib/acl-internal.h: Remove redundant include.
63313         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
63314         Cygwin when a file is locked.
63315
63316 2007-03-29  Bruno Haible  <bruno@clisp.org>
63317
63318         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
63319         file.
63320         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
63321
63322 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
63323
63324         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
63325         try to remove a parent directory if the child couldn't be removed
63326         (except for the first rmdir, which could fail because the child
63327         doesn't exist).  Problem reported by Jeff Blaine in
63328         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
63329
63330 2007-03-28  Bruno Haible  <bruno@clisp.org>
63331
63332         * lib/striconveh.c (utf8conv_carefully): New function.
63333         (mem_cd_iconveh_internal): Invoke it.
63334
63335 2007-03-28  Bruno Haible  <bruno@clisp.org>
63336
63337         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
63338         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
63339         input.
63340         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
63341         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
63342         unistr/u8-uctomb.
63343
63344 2007-03-28  Bruno Haible  <bruno@clisp.org>
63345
63346         * modules/unistr/u8-mbtoucr: New file.
63347         * lib/unistr/u8-mbtoucr.c: New file.
63348         * modules/unistr/u16-mbtoucr: New file.
63349         * lib/unistr/u16-mbtoucr.c: New file.
63350         * modules/unistr/u16-mbtoucr: New file.
63351         * lib/unistr/u16-mbtoucr.c: New file.
63352         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
63353
63354 2007-03-27  Simon Josefsson  <simon@josefsson.org>
63355             Bruno Haible  <bruno@clisp.org>
63356
63357         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
63358         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
63359         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
63360
63361         * m4/stdio_h.m4: Add stubs for vasprintf too.
63362
63363         * modules/stdio: Support vasprintf in sed command.
63364
63365         * modules/vasprintf: Depend on stdio for prototypes.  Remove
63366         vasprintf.h.  Add stdio module indicator.
63367
63368         * lib/stdio_.h: Declare asprintf and vasprintf, based on
63369         vasprintf.h.
63370
63371         * lib/vasprintf.h: File removed.
63372
63373         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
63374         * lib/vasprintf.c: Ditto.
63375         * lib/xvasprintf.c: Ditto.
63376         * tests/test-vasprintf-posix.c: Ditto.
63377         * tests/test-vasprintf.c: Ditto.
63378
63379 2007-03-27  Bruno Haible  <bruno@clisp.org>
63380
63381         Make vasnprintf multithread-safe.
63382         * lib/vasnprintf.c (decimal_point_char): New function.
63383         (VASNPRINTF): Use it.
63384         Suggested by Simon Josefsson.
63385
63386 2007-03-27  Eric Blake  <ebb9@byu.net>
63387
63388         Support sub-second birthtime on cygwin.
63389         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
63390         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
63391         (get_stat_birthtime): Also work with st_birthtim.
63392
63393 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
63394
63395         * lib/stat-time.h (USE_BIRTHTIME): Remove.
63396         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
63397         (get_stat_birthtime_ns): Do not try to use "spare" fields.
63398         (get_stat_birthtime_ns): Simplify compile-time tests.
63399         (get_stat_birthtime): Change the API to look like
63400         get_stat_mtime etc., except return a negative tv_nsec on error.
63401         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
63402         Don't check for "spare" fields.
63403         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
63404         or for struct stat.st_birthtime, as these tests aren't used.
63405         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
63406
63407 2007-03-27  Bruno Haible  <bruno@clisp.org>
63408
63409         * lib/stat-time.h: Include <sys/stat.h>.
63410
63411 2007-03-27  James Youngman  <jay@gnu.org>
63412
63413         * lib/stat-time.h (get_stat_birthtime): New function for
63414           retrieving st_birthtime as provided by UFS2 (hence *BSD).
63415         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
63416           and its variants.
63417         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
63418         * modules/stat-time-test: New file.
63419         * tests/test-stat-time.c: New test, devised by Bruno Haible.
63420
63421 2007-03-26  Bruno Haible  <bruno@clisp.org>
63422
63423         Better support of signalling NaNs.
63424         * lib/atanl.c: Include isnanl.h.
63425         (atanl): Perform test for NaN at the beginning of the function and
63426         through a call to isnanl.
63427         * lib/cosl.c: Include isnanl.h.
63428         (cosl): Perform test for NaN at the beginning of the function and
63429         through a call to isnanl.
63430         * lib/ldexpl.c: Include isnanl.h.
63431         (ldexpl): Perform test for NaN through a call to isnanl.
63432         * lib/logl.c: Include isnanl.h.
63433         (logl): Perform test for NaN at the beginning of the function and
63434         through a call to isnanl.
63435         * lib/sinl.c: Include isnanl.h.
63436         (sinl): Perform test for NaN at the beginning of the function and
63437         through a call to isnanl.
63438         * lib/sqrtl.c: Include isnanl.h.
63439         (sqrtl): Perform test for NaN at the beginning of the function and
63440         through a call to isnanl.
63441         * lib/tanl.c: Include isnanl.h.
63442         (tanl): Perform test for NaN at the beginning of the function and
63443         through a call to isnanl.
63444         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
63445         * modules/mathl (Depends-on): Add isnanl.
63446
63447 2007-03-26  Eric Blake  <ebb9@byu.net>
63448
63449         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
63450         regression in logic sense of previous patch.
63451
63452 2007-03-26  Bruno Haible  <bruno@clisp.org>
63453
63454         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
63455         unportable shell command "if ! ...".
63456         Reported by Ralf Wildenhues.
63457
63458 2007-03-25  Bruno Haible  <bruno@clisp.org>
63459
63460         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
63461         <sysexits.h> file, and only add EX_CONFIG.
63462         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
63463         absolute file name and whether it is sufficient. Substitute also
63464         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
63465         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
63466         ABSOLUTE_SYSEXITS_H into sysexits.h.
63467
63468 2007-03-25  Bruno Haible  <bruno@clisp.org>
63469
63470         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
63471         hints is NULL.
63472
63473 2007-03-25  Bruno Haible  <bruno@clisp.org>
63474
63475         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
63476         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
63477
63478 2007-03-25  Bruno Haible  <bruno@clisp.org>
63479
63480         * lib/vasnprintf.c: Include langinfo.h.
63481         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
63482         multithread-safe.
63483         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
63484         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
63485         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63486         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63487         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63488         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63489         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63490         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
63491         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63492         Reported by Simon Josefsson.
63493
63494 2007-03-25  Bruno Haible  <bruno@clisp.org>
63495
63496         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
63497         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
63498         * modules/vasnprintf (Depends-on): Add stdint.
63499
63500 2007-03-25  Bruno Haible  <bruno@clisp.org>
63501
63502         * modules/fpieee: New file.
63503         * m4/fpieee.m4: New file.
63504         * modules/isnan-nolibm (Depends-on): Add fpieee.
63505         * modules/isnanl-nolibm (Depends-on): Add fpieee.
63506         * modules/isnanl (Depends-on): Add fpieee.
63507
63508 2007-03-25  Bruno Haible  <bruno@clisp.org>
63509
63510         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
63511
63512 2007-03-25  Bruno Haible  <bruno@clisp.org>
63513
63514         Avoid test failures on IRIX 6.5.
63515         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
63516         (main): Use it.
63517         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
63518         macros.
63519         (main): Use them.
63520
63521 2007-03-25  Bruno Haible  <bruno@clisp.org>
63522
63523         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
63524         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
63525         exists but doesn't work.
63526         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
63527         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
63528         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
63529         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
63530         math.h.
63531
63532 2007-03-25  Bruno Haible  <bruno@clisp.org>
63533
63534         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
63535         returns inf. Needed on IRIX 6.5.
63536
63537 2007-03-25  Bruno Haible  <bruno@clisp.org>
63538
63539         * tests/test-frexpl.c: Include isnanl-nolibm.h.
63540         (main): Use isnanl instead of x != x idiom.
63541         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
63542
63543         * tests/test-frexp.c: Include isnan.h.
63544         (main): Use isnan instead of x != x idiom.
63545         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
63546
63547 2007-03-25  Bruno Haible  <bruno@clisp.org>
63548
63549         * tests/test-frexp.c (NaN): New function/macro.
63550         (main): Use it instead of 0.0 / 0.0.
63551         * tests/test-isnan.c (NaN): New function/macro.
63552         (main): Use it instead of 0.0 / 0.0.
63553         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
63554         (test_function): Use it instead of 0.0 / 0.0.
63555         * tests/test-vasprintf-posix.c (NaN): New function/macro.
63556         (test_function): Use it instead of 0.0 / 0.0.
63557         * tests/test-snprintf-posix.h (NaN): New function/macro.
63558         (test_function): Use it instead of 0.0 / 0.0.
63559         * tests/test-sprintf-posix.h (NaN): New function/macro.
63560         (test_function): Use it instead of 0.0 / 0.0.
63561         * tests/test-fprintf-posix.h (NaN): New function/macro.
63562         (test_function): Use it instead of 0.0 / 0.0.
63563         * tests/test-printf-posix.h (NaN): New function/macro.
63564         (test_function): Use it instead of 0.0 / 0.0.
63565
63566         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
63567
63568 2007-03-25  Bruno Haible  <bruno@clisp.org>
63569
63570         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
63571
63572 2007-03-25  Bruno Haible  <bruno@clisp.org>
63573
63574         * lib/regexec.c (merge_state_with_log): Make static.
63575
63576 2007-03-25  Bruno Haible  <bruno@clisp.org>
63577
63578         * lib/trigl.c (kernel_rem_pio2): Make static.
63579
63580 2007-03-25  Bruno Haible  <bruno@clisp.org>
63581
63582         * lib/sincosl.c (sincosl_table): Make static.
63583
63584 2007-03-25  Bruno Haible  <bruno@clisp.org>
63585
63586         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
63587         if the compiler does not support C99.
63588
63589 2007-03-25  Bruno Haible  <bruno@clisp.org>
63590
63591         * modules/time (Makefile.am): Ensure all rule action lines start with a
63592         tab.
63593
63594 2007-03-24  Bruno Haible  <bruno@clisp.org>
63595
63596         * modules/tsearch-tests: New file.
63597         * tests/test-tsearch.sh: New file.
63598         * tests/test-tsearch.c: New file, mostly copied from glibc.
63599
63600         * modules/search-tests: New file.
63601         * tests/test-search.c: New file.
63602
63603         * modules/search: New file.
63604         * lib/search_.h: New file, incorporating lib/tsearch.h.
63605         * m4/search_h.m4: New file.
63606         * lib/tsearch.h: Remove file.
63607         * lib/tsearch.c: Include search.h instead of tsearch.h.
63608         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
63609         HAVE_TSEARCH.
63610         * modules/tsearch (Files): Remove lib/tsearch.h.
63611         (Depends-on): Add search.
63612         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
63613         (Include): Change tsearch.h into search.h.
63614
63615 2007-03-24  Bruno Haible  <bruno@clisp.org>
63616
63617         * modules/fpucw: New file.
63618         * lib/fpucw.h: New file.
63619         * lib/frexp.c: Include fpucw.h.
63620         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
63621         (FUNC): Use them.
63622         * lib/printf-frexp.c: Include fpucw.h.
63623         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
63624         (FUNC): Use them.
63625         * lib/vasnprintf.c: Include fpucw.h.
63626         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
63627         'long double' calculations.
63628         * tests/test-frexpl.c: Include fpucw.h.
63629         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
63630         * tests/test-printf-frexpl.c: Include fpucw.h.
63631         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
63632         * modules/frexpl (Depends-on): Add fpucw.
63633         * modules/printf-frexpl (Depends-on): Likewise.
63634         * modules/fprintf-posix (Depends-on): Likewise.
63635         * modules/snprintf-posix (Depends-on): Likewise.
63636         * modules/sprintf-posix (Depends-on): Likewise.
63637         * modules/vasnprintf-posix (Depends-on): Likewise.
63638         * modules/vasprintf-posix (Depends-on): Likewise.
63639         * modules/vfprintf-posix (Depends-on): Likewise.
63640         * modules/vsnprintf-posix (Depends-on): Likewise.
63641         * modules/vsprintf-posix (Depends-on): Likewise.
63642         * modules/frexpl-tests (Depends-on): Likewise.
63643         * modules/printf-frexpl-tests (Depends-on): Likewise.
63644
63645 2007-03-24  Bruno Haible  <bruno@clisp.org>
63646
63647         * lib/float+.h: New file.
63648         * lib/isnan.c: Include float+.h.
63649         (SIZE): New macro.
63650         (FUNC): Compare only SIZE bytes of the value.
63651         * lib/vasnprintf.c: Include float+.h.
63652         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
63653         SIZEOF_LDBL or SIZEOF_DBL bytes.
63654         * modules/isnan-nolibm (Files): Add lib/float+.h.
63655         * modules/isnanl-nolibm (Files): Add lib/float+.h.
63656         * modules/isnanl (Files): Add lib/float+.h.
63657         * modules/vasnprintf (Files): Add lib/float+.h.
63658
63659 2007-03-24  Bruno Haible  <bruno@clisp.org>
63660
63661         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
63662         include isnanl-nolibm.h.
63663
63664 2007-03-24  Bruno Haible  <bruno@clisp.org>
63665
63666         * tests/test-read-file.c (main): Don't produce spurious output for
63667         expected situations. Make the test fail if it encountered unexpected
63668         results.
63669
63670 2007-03-24  Bruno Haible  <bruno@clisp.org>
63671
63672         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
63673         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
63674
63675 2007-03-24  Bruno Haible  <bruno@clisp.org>
63676
63677         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
63678
63679 2007-03-24  Bruno Haible  <bruno@clisp.org>
63680
63681         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
63682         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
63683
63684         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
63685         * modules/utf8-ucs4: Turn into a symbolic link to module
63686         unistr/u8-mbtouc.
63687
63688         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
63689         utf8-ucs4-unsafe.
63690         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
63691         unistr/u8-mbtouc-unsafe.
63692
63693         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
63694         * modules/utf16-ucs4: Turn into a symbolic link to module
63695         unistr/u16-mbtouc.
63696
63697         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
63698         utf16-ucs4-unsafe.
63699         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
63700         unistr/u16-mbtouc-unsafe.
63701
63702         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
63703         * modules/ucs4-utf8: Turn into a symbolic link to module
63704         unistr/u8-ubtomb.
63705
63706         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
63707         * modules/ucs4-utf16: Turn into a symbolic link to module
63708         unistr/u16-ubtomb.
63709
63710 2007-03-24  Bruno Haible  <bruno@clisp.org>
63711
63712         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
63713         Enable the function only if HAVE_INLINE.
63714         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
63715         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
63716         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
63717         Enable the function only if HAVE_INLINE.
63718         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
63719         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
63720         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
63721         Enable the function only if HAVE_INLINE.
63722         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
63723         Enable the function only if HAVE_INLINE.
63724         * modules/utf8-ucs4: Update.
63725         * modules/utf8-ucs4-unsafe: Update.
63726         * modules/utf16-ucs4: Update.
63727         * modules/utf16-ucs4-unsafe: Update.
63728         * modules/ucs4-utf8: Update.
63729         * modules/ucs4-utf16: Update.
63730
63731 2007-03-24  Bruno Haible  <bruno@clisp.org>
63732
63733         * lib/utf8-ucs4.h: Remove file.
63734         * lib/utf8-ucs4-unsafe.h: Remove file.
63735         * lib/utf16-ucs4.h: Remove file.
63736         * lib/utf16-ucs4-unsafe.h: Remove file.
63737         * lib/ucs4-utf8.h: Remove file.
63738         * lib/ucs4-utf16.h: Remove file.
63739         * lib/unistr.h: Include their previous contents.
63740         * m4/utf-ucs4.m4: Remove file.
63741         * m4/ucs4-utf.m4: Remove file.
63742         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
63743         (Depends-on): Add unistr/base.
63744         (configure.ac): Remove gl_UTF_UCS4.
63745         (Makefile.am): Update.
63746         (Include): Change to unistr.h.
63747         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
63748         (Depends-on): Add unistr/base.
63749         (configure.ac): Remove gl_UTF_UCS4.
63750         (Makefile.am): Update.
63751         (Include): Change to unistr.h.
63752         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
63753         (Depends-on): Add unistr/base.
63754         (configure.ac): Remove gl_UTF_UCS4.
63755         (Makefile.am): Update.
63756         (Include): Change to unistr.h.
63757         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
63758         (Depends-on): Add unistr/base.
63759         (configure.ac): Remove gl_UTF_UCS4.
63760         (Makefile.am): Update.
63761         (Include): Change to unistr.h.
63762         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
63763         (Depends-on): Add unistr/base.
63764         (configure.ac): Remove gl_UCS4_UTF.
63765         (Makefile.am): Update.
63766         (Include): Change to unistr.h.
63767         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
63768         (Depends-on): Add unistr/base.
63769         (configure.ac): Remove gl_UCS4_UTF.
63770         (Makefile.am): Update.
63771         (Include): Change to unistr.h.
63772         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
63773         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
63774         utf8-ucs4-unsafe.h.
63775         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
63776         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
63777         utf16-ucs4-unsafe.h.
63778         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
63779         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
63780         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
63781         * lib/unistr/u8-strchr.c: Likewise.
63782         * lib/unistr/u8-strrchr.c: Likewise.
63783         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
63784         * lib/unistr/u16-strchr.c: Likewise.
63785         * lib/unistr/u16-strrchr.c: Likewise.
63786         * lib/striconveh.c: Update.
63787         * lib/linebreak.c: Update.
63788
63789 2007-03-24  Bruno Haible  <bruno@clisp.org>
63790
63791         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
63792         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
63793
63794 2007-03-22  Bruno Haible  <bruno@clisp.org>
63795
63796         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
63797
63798 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
63799
63800         * MODULES.html.sh (File system functions): New module write-any-file.
63801         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
63802         * m4/write-any-file.m4: New files.
63803
63804 2007-03-23  Eric Blake  <ebb9@byu.net>
63805
63806         * gnulib-tool: Rearrange space-tab sequences, since some editors
63807         like to eat them.
63808
63809 2007-03-23  Eric Blake  <ebb9@byu.net>
63810
63811         * lib/version-etc.c (version_etc_va): Update license wording to
63812         be more concise.  Recommended by Richard Stallman.
63813
63814 2007-03-22  Bruno Haible  <bruno@clisp.org>
63815
63816         * lib/poll.c (MSG_PEEK): New fallback definition.
63817
63818 2007-03-22  Bruno Haible  <bruno@clisp.org>
63819
63820         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
63821         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
63822         (main): Update.
63823         Fixes a compilation error on BeOS.
63824
63825 2007-03-22  Bruno Haible  <bruno@clisp.org>
63826
63827         * modules/frexpl-tests: New file.
63828         * tests/test-frexpl.c: New file.
63829
63830         * modules/frexpl: New file.
63831         * m4/frexpl.m4: New file.
63832         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
63833         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
63834         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
63835         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
63836         (Depends-on): Add frexpl. Remove isnanl-nolibm.
63837         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
63838
63839 2007-03-22  Bruno Haible  <bruno@clisp.org>
63840
63841         * lib/frexpl.c: Share code with lib/frexp.c.
63842         * modules/mathl (Files): Add lib/frexp.c.
63843         (Depends-on): Add isnanl-nolibm.
63844
63845 2007-03-22  Bruno Haible  <bruno@clisp.org>
63846
63847         * modules/printf-frexp (Files): Add m4/frexp.m4.
63848         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
63849         only if the found frexp function actually works.
63850
63851 2007-03-22  Bruno Haible  <bruno@clisp.org>
63852
63853         * lib/frexp.c: Remove older implementation that uses divisions.
63854
63855 2007-03-21  Bruno Haible  <bruno@clisp.org>
63856
63857         * modules/frexp-tests: New file.
63858         * tests/test-frexp.c: New file.
63859
63860         * modules/frexp: New file.
63861         * lib/frexp.c: New file.
63862         * m4/frexp.m4: New file.
63863         * lib/math_.h (frexp): New declaration.
63864         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
63865         REPLACE_FREXP.
63866         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
63867
63868 2007-03-21  Bruno Haible  <bruno@clisp.org>
63869
63870         * modules/isnanl-tests: New file.
63871         * tests/test-isnanl.c: New file.
63872
63873         * modules/isnanl: New file.
63874         * lib/isnanl.h: New file.
63875         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
63876         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
63877         gl_FUNC_ISNANL_WORKS.
63878         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
63879         New macros.
63880
63881 2007-03-21  Bruno Haible  <bruno@clisp.org>
63882
63883         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
63884         lib/isnanl.h.
63885         (Include): Update.
63886         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
63887         * lib/vasnprintf.c: Update.
63888         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
63889         tests/test-isnanl.h, remove tests/test-isnanl.c.
63890         (Makefile.am): Update.
63891         * tests/test-isnanl-nolibm.c: New file.
63892         * tests/test-isnanl.h: New file.
63893         * tests/test-isnanl.c: Remove file.
63894
63895 2007-03-21  Jim Meyering  <jim@meyering.net>
63896
63897         When trying to open ".", treat ESTALE like EACCES.
63898         * lib/savewd.c (savewd_save): Resort to forking not just upon
63899         failure with EACCES, but also when errno is ESTALE.
63900
63901 2007-03-20  Bruno Haible  <bruno@clisp.org>
63902
63903         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
63904         Needed on AIX 5.1. Reported by Matthew Woehlke.
63905
63906 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
63907
63908         Suggestions by Bruno Haible:
63909         * lib/acl-internal.h: Include "gettext.h" rather than rolling
63910         our own.
63911         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
63912         * modules/acl (Depends-on): Add gettext.
63913
63914 2007-03-19  Bruno Haible  <bruno@clisp.org>
63915
63916         * modules/iconvme: Remove file.
63917         * lib/iconvme.h: Remove file.
63918         * lib/iconvme.c: Remove file.
63919         * m4/iconvme.m4: Remove file.
63920
63921 2007-03-19  Bruno Haible  <bruno@clisp.org>
63922
63923         * doc/relocatable-maint.texi: Break long shell script line.
63924         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
63925
63926 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
63927
63928         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
63929         handle file_has_acl.
63930         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
63931         * lib/acl.c: Move header inclusions and related macro defns into
63932         lib/acl-internal.h.
63933         (S_ISLNK): Remove defn, since that's now done for us.
63934         (file_has_acl): Move to lib/file-has-acl.c.
63935         Call acl_trivial if available.  This is the crucial part of the fix.
63936         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
63937         shared within the library.  Rewrite a bit, partly to make it compatible
63938         with the GNU coding style.
63939         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
63940         Remove unnecessary double-quotes.
63941         Don't test for acl_to_text; the build will catch that.
63942         Replace acl_entries if it doesn't exist and it is needed.
63943         Check for -lsec and acl_trivial (as used on Solaris 10).
63944         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
63945         lib/file-has-acl.c.
63946         (Depends-on): Add sys_stat, for S_ISLNK.
63947
63948 2007-03-19  Ben Pfaff  <blp@gnu.org>
63949
63950         * doc/gnulib.texi: Fix typos.
63951         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
63952
63953 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
63954
63955         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
63956         If size is zero here, buf must be zero.
63957
63958 2007-03-19  Simon Josefsson  <simon@josefsson.org>
63959
63960         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
63961         <bruno@clisp.org>.
63962
63963 2007-03-18  Bruno Haible  <bruno@clisp.org>
63964
63965         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
63966         Suggested by Eric Blake.
63967
63968 2007-03-18  Ben Pfaff  <blp@gnu.org>
63969
63970         * doc/relocatable.texi: Recommend using as prefix a directory
63971         that does not exist and will never be created.  Based on
63972         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
63973         and others.
63974
63975 2007-03-17  Bruno Haible  <bruno@clisp.org>
63976
63977         * lib/fchownat.c: Include lchown.h.
63978
63979 2007-03-17  Bruno Haible  <bruno@clisp.org>
63980
63981         Fix endless loop when the given allocated size was > INT_MAX.
63982         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
63983         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
63984         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
63985         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
63986         * lib/sprintf.c (sprintf): Likewise.
63987
63988 2007-03-17  Bruno Haible  <bruno@clisp.org>
63989
63990         * tests/test-argp-2.sh (func_compare): Output a context diff.
63991
63992 2007-03-17  Bruno Haible  <bruno@clisp.org>
63993
63994         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
63995         locale's decimal-point character.
63996
63997 2007-03-17  Bruno Haible  <bruno@clisp.org>
63998
63999         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
64000         before comparing it. Needed because on some platforms (e.g. x86) a
64001         'long double' occupies less bytes than sizeof (long double).
64002
64003 2007-03-17  Bruno Haible  <bruno@clisp.org>
64004
64005         * tests/test-crc.c (main): Make printf statements 64-bit clean.
64006         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
64007         * tests/test-getaddrinfo.c (simple): Likewise.
64008         * tests/test-read-file.c (main): Likewise.
64009
64010 2007-03-17  Bruno Haible  <bruno@clisp.org>
64011
64012         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
64013
64014 2007-03-17  Bruno Haible  <bruno@clisp.org>
64015
64016         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
64017         unused variable.
64018
64019 2007-03-17  Bruno Haible  <bruno@clisp.org>
64020
64021         * tests/test-c-strcasecmp.c: Include c-strcase.h.
64022         * tests/test-c-strncasecmp.c: Likewise.
64023
64024 2007-03-17  Bruno Haible  <bruno@clisp.org>
64025
64026         * modules/stdlib (Depends-on): Add unistd.
64027         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
64028         Needed for MacOS X 10.3.
64029
64030 2007-03-17  Bruno Haible  <bruno@clisp.org>
64031
64032         * lib/unistr/u-strdup.h: Include <stdlib.h>.
64033
64034 2007-03-17  Bruno Haible  <bruno@clisp.org>
64035
64036         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
64037
64038 2007-03-17  Bruno Haible  <bruno@clisp.org>
64039
64040         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
64041         to reflect files copied from gnulib (with or without modifications).
64042         Suggested by Jim Meyering.
64043
64044 2007-03-17  Eric Blake  <ebb9@byu.net>
64045
64046         * NEWS: Document stdlib change from 2007-02-18.
64047
64048 2007-03-17  Jim Meyering  <jim@meyering.net>
64049
64050         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
64051         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
64052         someone uses a name containing shell meta-characters.
64053         Reported by Alfred M. Szmidt.
64054
64055         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
64056
64057 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
64058
64059         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
64060         and copy gettext configuration files only if configure.ac contains
64061         a use of AM_GNU_GETTEXT_VERSION.
64062
64063 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
64064
64065         * build-aux/bootstrap (gnulib_name): New variable.
64066         (gnulib_tool_options): Use it.
64067
64068 2007-03-13  Simon Josefsson  <simon@josefsson.org>
64069
64070         * tests/test-des.c: Use new namespace.
64071
64072 2007-03-15  Bruno Haible  <bruno@clisp.org>
64073
64074         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
64075         Reported by James Youngman <jay@gnu.org>.
64076
64077 2007-03-15  Bruno Haible  <bruno@clisp.org>
64078
64079         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
64080         declared prototype. Needed with cc on OSF/1 5.1.
64081
64082 2007-03-15  Bruno Haible  <bruno@clisp.org>
64083
64084         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
64085         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
64086         (struct gl_list_implementation): Add dispose_fn argument to the
64087         'create_empty', 'create' methods.
64088         (struct gl_list_impl_base): Add field 'dispose_fn'.
64089         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
64090         argument.
64091         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
64092         dispose_fn argument.
64093         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
64094         dispose_fn on the dropped values.
64095         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
64096         dispose_fn argument.
64097         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
64098         dropped values.
64099         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
64100         (gl_tree_remove_node): Call dispose_fn on the dropped value.
64101         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
64102         (gl_tree_remove_node): Call dispose_fn on the dropped value.
64103         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
64104         argument.
64105         (gl_tree_list_free): Call dispose_fn on the dropped values.
64106         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
64107         the dropped values.
64108         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
64109         Add dispose_fn argument.
64110         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
64111         Call dispose_fn on the dropped values.
64112         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
64113         Add dispose_fn argument.
64114         (gl_sublist_create): Initialize the 'dispose_fn' field.
64115         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
64116         * tests/test-array_list.c (main): Update.
64117         * tests/test-carray_list.c (main): Update.
64118         * tests/test-avltree_list.c (main): Update.
64119         * tests/test-rbtree_list.c (main): Update.
64120         * tests/test-avltreehash_list.c (main): Update.
64121         * tests/test-rbtreehash_list.c (main): Update.
64122         * tests/test-linked_list.c (main): Update.
64123         * tests/test-linkedhash_list.c (main): Update.
64124         * tests/test-array_oset.c (main): Update.
64125
64126 2007-03-15  Bruno Haible  <bruno@clisp.org>
64127
64128         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
64129         (gl_oset_create_empty): Add dispose_fn argument.
64130         (struct gl_oset_implementation): Add dispose_fn argument to
64131         'create_empty' method.
64132         (struct gl_oset_impl_base): Add dispose_fn field.
64133         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
64134         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
64135         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
64136         values.
64137         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
64138         (gl_tree_oset_free): Call dispose_fn on the dropped values.
64139         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
64140         dropped value.
64141         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
64142         dropped value.
64143         * tests/test-array_oset.c (main): Update.
64144         * tests/test-avltree_oset.c (main): Update.
64145         * tests/test-rbtree_oset.c (main): Update.
64146         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
64147
64148 2007-03-13  Bruno Haible  <bruno@clisp.org>
64149
64150         * tests/test-stdbool.c (i): Update after last patch.
64151
64152 2007-03-12  Bruno Haible  <bruno@clisp.org>
64153
64154         * lib/quotearg.c: Include <wctype.h> early, before the definition of
64155         the iswprint macro. Needed on Solaris 2.5.1.
64156
64157 2007-03-12  Bruno Haible  <bruno@clisp.org>
64158
64159         * tests/test-printf-frexp.c (main): Declare x as volatile.
64160
64161 2007-03-12  Simon Josefsson  <simon@josefsson.org>
64162
64163         * doc/gnulib.texi (Build robot for gnulib): New section.
64164
64165 2007-03-12  Jim Meyering  <jim@meyering.net>
64166
64167         * build-aux/bootstrap: New file.
64168         * build-aux/bootstrap.conf: New file, from coreutils.
64169
64170 2007-03-11  Bruno Haible  <bruno@clisp.org>
64171
64172         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
64173
64174 2007-03-12  Simon Josefsson  <simon@josefsson.org>
64175
64176         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
64177         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
64178         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
64179
64180 2007-03-11  Bruno Haible  <bruno@clisp.org>
64181
64182         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
64183         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
64184
64185 2007-03-11  Bruno Haible  <bruno@clisp.org>
64186
64187         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
64188         formula. Needed for SunPRO C 5.0.
64189
64190 2007-03-11  Bruno Haible  <bruno@clisp.org>
64191
64192         * modules/long-options (Depends-on): Add getopt.
64193
64194 2007-03-11  Bruno Haible  <bruno@clisp.org>
64195
64196         * modules/modechange (Depends-on): Add stdbool.
64197
64198 2007-03-11  Bruno Haible  <bruno@clisp.org>
64199
64200         * modules/i-ring (Depends-on): Add stdbool.
64201
64202 2007-03-11  Bruno Haible  <bruno@clisp.org>
64203
64204         * modules/gc-des (Depends-on): Add stdbool.
64205
64206 2007-03-11  Bruno Haible  <bruno@clisp.org>
64207
64208         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
64209
64210 2007-03-11  Bruno Haible  <bruno@clisp.org>
64211
64212         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
64213
64214 2007-03-11  Bruno Haible  <bruno@clisp.org>
64215
64216         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
64217
64218 2007-03-11  Bruno Haible  <bruno@clisp.org>
64219
64220         * lib/vasnprintf.c (sprintf): Undefine.
64221
64222 2007-03-11  Bruno Haible  <bruno@clisp.org>
64223
64224         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
64225         initializers in SunPRO C and Compaq C compilers.
64226
64227 2007-03-11  Bruno Haible  <bruno@clisp.org>
64228
64229         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
64230         decrementing code ANSI C compliant.
64231
64232 2007-03-11  Bruno Haible  <bruno@clisp.org>
64233
64234         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
64235         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
64236
64237 2007-03-11  Bruno Haible  <bruno@clisp.org>
64238
64239         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
64240         <stdbool.h> substitute doesn't pass.
64241
64242 2007-03-11  Bruno Haible  <bruno@clisp.org>
64243
64244         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
64245
64246 2007-03-11  Bruno Haible  <bruno@clisp.org>
64247
64248         * gnulib-tool (func_create_megatestdir): Create also an autobuild
64249         script, for submission to autobuild.josefsson.org.
64250
64251 2007-03-10  Bruno Haible  <bruno@clisp.org>
64252
64253         * modules/canonicalize-lgpl-tests: New file.
64254         * tests/test-canonicalize-lgpl.sh: New file.
64255         * tests/test-canonicalize-lgpl.c: New file.
64256
64257         * modules/c-strcase-tests: New file.
64258         * tests/test-c-strcase.sh: New file.
64259         * tests/test-c-strcasecmp.c: New file.
64260         * tests/test-c-strncasecmp.c: New file.
64261
64262         * modules/atexit-tests: New file.
64263         * tests/test-atexit.sh: New file.
64264         * tests/test-atexit.c: New file.
64265
64266 2007-03-10  Bruno Haible  <bruno@clisp.org>
64267
64268         * tests/test-binary-io.sh: Use temporary filenames that are not so
64269         likely to clash with those of other tests (in a parallel make).
64270         * tests/test-binary-io.c: Likewise.
64271
64272 2007-03-10  Bruno Haible  <bruno@clisp.org>
64273
64274         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
64275         fallback; use #error instead.
64276         Suggested by Simon Josefsson.
64277
64278 2007-03-10  Bruno Haible  <bruno@clisp.org>
64279
64280         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
64281         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
64282         first and the last.
64283
64284 2007-03-10  Bruno Haible  <bruno@clisp.org>
64285
64286         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
64287
64288 2007-03-10  Bruno Haible  <bruno@clisp.org>
64289
64290         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
64291         "make distcheck".
64292         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
64293         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
64294         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
64295
64296 2007-03-10  Bruno Haible  <bruno@clisp.org>
64297
64298         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
64299         variable.
64300         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
64301         variable.
64302
64303 2007-03-09  Eric Blake  <ebb9@byu.net>
64304         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
64305
64306         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
64307         types are not being provided by gnulib.
64308         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
64309         types are supported.
64310
64311 2007-03-10  Bruno Haible  <bruno@clisp.org>
64312
64313         * lib/stdio_.h (__attribute__): New macro.
64314         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
64315         vsprintf): Specify __attribute__ __format__ for GCC.
64316         Suggested by Eric Blake.
64317
64318 2007-03-09  Bruno Haible  <bruno@clisp.org>
64319
64320         * modules/printf-posix-tests: New file.
64321         * tests/test-printf-posix.sh: New file.
64322         * tests/test-printf-posix.c: New file.
64323
64324         * modules/printf-posix: New file.
64325         * lib/printf.c: New file.
64326         * m4/printf-posix-rpl.m4: New file.
64327         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
64328         REPLACE_PRINTF.
64329         * lib/stdio_.h (printf): New declaration.
64330         (format, __format__, ____printf____, ____scanf____, ____strftime____,
64331         ____strfmon____): New macros.
64332         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
64333         REPLACE_PRINTF.
64334
64335 2007-03-09  Bruno Haible  <bruno@clisp.org>
64336
64337         * tests/test-vasnprintf-posix2.sh: New file.
64338         * tests/test-vasnprintf-posix2.c: New file.
64339         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
64340         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
64341         (Makefile.am): Activate test-vasnprintf-posix2.sh.
64342
64343         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
64344         a locale dependent decimal point, rather than always '.'.
64345
64346 2007-03-09  Eric Blake  <ebb9@byu.net>
64347
64348         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
64349         spite of platforms like Tandem/NSK that define it to -1.
64350
64351 2007-03-08  Bruno Haible  <bruno@clisp.org>
64352
64353         * modules/vprintf-posix-tests: New file.
64354         * tests/test-vprintf-posix.sh: New file.
64355         * tests/test-vprintf-posix.c: New file.
64356         * tests/test-printf-posix.h: New file.
64357
64358         * modules/vprintf-posix: New file.
64359         * lib/vprintf.c: New file.
64360         * m4/vprintf-posix.m4: New file.
64361         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
64362         REPLACE_VPRINTF.
64363         * lib/stdio_.h (vprintf): New declaration.
64364         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
64365         REPLACE_VPRINTF.
64366
64367 2007-03-08  Bruno Haible  <bruno@clisp.org>
64368
64369         * modules/fprintf-posix-tests: New file.
64370         * tests/test-fprintf-posix.sh: New file.
64371         * tests/test-fprintf-posix.c: New file.
64372
64373         * modules/fprintf-posix: New file.
64374         * lib/fprintf.c: New file.
64375         * m4/fprintf-posix.m4: New file.
64376         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
64377         REPLACE_FPRINTF.
64378         * lib/stdio_.h (fprintf): New declaration.
64379         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
64380         REPLACE_FPRINTF.
64381
64382 2007-03-08  Bruno Haible  <bruno@clisp.org>
64383
64384         * modules/vfprintf-posix-tests: New file.
64385         * tests/test-vfprintf-posix.sh: New file.
64386         * tests/test-vfprintf-posix.c: New file.
64387         * tests/test-fprintf-posix.h: New file.
64388         * tests/test-fprintf-posix.out: New file.
64389
64390         * modules/vfprintf-posix: New file.
64391         * lib/vfprintf.c: New file.
64392         * m4/vfprintf-posix.m4: New file.
64393         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
64394         REPLACE_VFPRINTF.
64395         * lib/stdio_.h (vfprintf): New declaration.
64396         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
64397         REPLACE_VFPRINTF.
64398
64399 2007-03-08  Bruno Haible  <bruno@clisp.org>
64400
64401         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
64402
64403 2007-03-08  Bruno Haible  <bruno@clisp.org>
64404
64405         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
64406         instead of 'expr' invocations.
64407         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64408         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64409         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64410         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64411         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64412         Suggested by Paul Eggert.
64413
64414 2007-03-08  Bruno Haible  <bruno@clisp.org>
64415
64416         * modules/fseterr-tests: New file.
64417         * tests/test-fseterr.c: New file.
64418
64419         * modules/fseterr: New file.
64420         * lib/fseterr.h: New file.
64421         * lib/fseterr.c: New file.
64422
64423 2007-03-08  Bruno Haible  <bruno@clisp.org>
64424
64425         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
64426         * lib/getopt_.h: Likewise.
64427         * lib/mbswidth.h: Likewise.
64428         * lib/setenv.h: Likewise.
64429         * lib/vasnprintf.h: Likewise.
64430         * lib/vasprintf.h: Likewise.
64431         * lib/verror.h: Likewise.
64432         * lib/xsetenv.h: Likewise.
64433         * lib/xvasprintf.h: Likewise.
64434
64435 2007-03-08  Jim Meyering  <jim@meyering.net>
64436
64437         * users.txt: Add parted.
64438
64439         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
64440
64441 2007-03-07  Bruno Haible  <bruno@clisp.org>
64442
64443         * m4/printf.m4: Make the shell script snippets copy&pastable.
64444
64445 2007-03-02  Bruno Haible  <bruno@clisp.org>
64446
64447         * lib/netinet_in_.h: New file.
64448         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
64449         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
64450         * modules/netinet_in (Files): Add lib/netinet_in_.h.
64451         (Depends-on): Add absolute-header.
64452         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
64453         into netinet/in.h.
64454
64455 2007-03-03  Bruno Haible  <bruno@clisp.org>
64456
64457         * lib/sys_select_.h: New file.
64458         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
64459         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
64460         * modules/sys_select (Files): Add lib/sys_select_.h.
64461         (Depends-on): Add absolute-header.
64462         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
64463         into sys/select.h.
64464
64465 2007-03-02  Bruno Haible  <bruno@clisp.org>
64466
64467         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
64468         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
64469         values.
64470         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
64471         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
64472         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
64473         * modules/sys_socket (Depends-on): Add absolute-header.
64474         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
64475         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
64476         (Include): Remove requirement of inclusion of <sys/types.h>.
64477
64478 2007-03-02  Bruno Haible  <bruno@clisp.org>
64479
64480         * lib/byteswap_.h (bswap_32): Fix formula.
64481
64482 2007-03-06  Bruno Haible  <bruno@clisp.org>
64483
64484         * modules/sprintf-posix-tests: New file.
64485         * tests/test-sprintf-posix.c: New file.
64486
64487         * modules/sprintf-posix: New file.
64488         * lib/sprintf.c: New file.
64489         * m4/sprintf-posix.m4: New file.
64490         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
64491         REPLACE_SPRINTF.
64492         * lib/stdio_.h (sprintf): New declaration.
64493         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
64494         REPLACE_SPRINTF.
64495
64496 2007-03-06  Bruno Haible  <bruno@clisp.org>
64497
64498         * modules/vsprintf-posix-tests: New file.
64499         * tests/test-vsprintf-posix.c: New file.
64500         * tests/test-sprintf-posix.h: New file.
64501
64502         * modules/vsprintf-posix: New file.
64503         * lib/vsprintf.c: New file.
64504         * m4/vsprintf-posix.m4: New file.
64505         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
64506         REPLACE_VSPRINTF.
64507         * lib/stdio_.h (vsprintf): New declaration.
64508         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
64509         REPLACE_VSPRINTF.
64510
64511 2007-03-06  Bruno Haible  <bruno@clisp.org>
64512
64513         * modules/vsnprintf (Depend-on): Remove minmax.
64514
64515 2007-03-06  Bruno Haible  <bruno@clisp.org>
64516
64517         * modules/snprintf-posix-tests: New file.
64518         * tests/test-snprintf-posix.c: New file.
64519
64520         * modules/snprintf-posix: New file.
64521         * m4/snprintf-posix.m4: New file.
64522         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
64523         gl_FUNC_SNPRINTF.
64524         (gl_FUNC_SNPRINTF): Invoke it.
64525         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
64526         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
64527         is set.
64528         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
64529
64530 2007-03-06  Bruno Haible  <bruno@clisp.org>
64531
64532         * modules/vsnprintf-posix-tests: New file.
64533         * tests/test-vsnprintf-posix.c: New file.
64534         * tests/test-snprintf-posix.h: New file.
64535
64536         * modules/vsnprintf-posix: New file.
64537         * m4/vsnprintf-posix.m4: New file.
64538         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
64539         gl_FUNC_VSNPRINTF.
64540         (gl_FUNC_VSNPRINTF): Invoke it.
64541         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
64542         * lib/stdio_.h (vsnprintf): Define as a replacement if
64543         REPLACE_VSNPRINTF is set.
64544         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
64545
64546 2007-03-06  Bruno Haible  <bruno@clisp.org>
64547
64548         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
64549         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
64550
64551 2007-03-06  Bruno Haible  <bruno@clisp.org>
64552
64553         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
64554         (asinl): Declare also if HAVE_DECL_ASINL is set.
64555         (atanl): Declare also if HAVE_DECL_ATANL is set.
64556         (ceill): Declare also if HAVE_DECL_CEILL is set.
64557         (cosl): Declare also if HAVE_DECL_COSL is set.
64558         (expl): Declare also if HAVE_DECL_EXPL is set.
64559         (floorl): Declare also if HAVE_DECL_FLOORL is set.
64560         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
64561         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
64562         (logl): Declare also if HAVE_DECL_LOGL is set.
64563         (sinl): Declare also if HAVE_DECL_SINL is set.
64564         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
64565         (tanl): Declare also if HAVE_DECL_TANL is set.
64566         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
64567         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
64568         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
64569         declaration of frexpl, ldexpl.
64570         * modules/printf-frexpl (Depends-on): Add math.
64571         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
64572
64573 2007-03-05  Bruno Haible  <bruno@clisp.org>
64574
64575         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
64576         frexpl and ldexpl are declared.
64577         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
64578
64579 2007-03-05  Bruno Haible  <bruno@clisp.org>
64580
64581         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
64582         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
64583
64584 2007-03-05  Bruno Haible  <bruno@clisp.org>
64585
64586         * lib/stdio_.h: Include <stddef.h>.
64587
64588 2007-03-05  Bruno Haible  <bruno@clisp.org>
64589
64590         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
64591
64592 2007-03-05  Bruno Haible  <bruno@clisp.org>
64593
64594         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
64595         NetBSD 4, from Ralf Wildenhues.
64596
64597 2007-03-04  Bruno Haible  <bruno@clisp.org>
64598
64599         * lib/vasprintf.h: Update #if logic for the case when the functions
64600         exist but are overridden.
64601
64602 2007-03-04  Bruno Haible  <bruno@clisp.org>
64603
64604         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
64605         implementations: glibc-2.4 and MacOS X 10.3.
64606         * tests/test-vasnprintf-posix.c (test_function): Test also the case
64607         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
64608         * tests/test-vasprintf-posix.c (test_function): Likewise.
64609
64610 2007-03-04  Bruno Haible  <bruno@clisp.org>
64611
64612         * modules/vasprintf-posix-tests: New file.
64613         * tests/test-vasprintf-posix.c: New file.
64614
64615         * modules/vasprintf-posix: New file.
64616         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
64617         defined.
64618         * m4/vasprintf-posix.m4: New file.
64619         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
64620         gl_FUNC_VASPRINTF.
64621         (gl_FUNC_VASPRINTF): Invoke it.
64622         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
64623         here.
64624         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
64625
64626 2007-03-04  Bruno Haible  <bruno@clisp.org>
64627
64628         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
64629         REPLACE_GETTIMEOFDAY.
64630         * modules/sys_time (Makefile.am): Likewise.
64631         * m4/sys_time_h.m4: Likewise.
64632         * m4/gettimeofday.m4: Likewise.
64633
64634 2007-03-04  Bruno Haible  <bruno@clisp.org>
64635
64636         * modules/vasnprintf-posix-tests: New file.
64637         * tests/test-vasnprintf-posix.c: New file.
64638
64639         * modules/vasnprintf-posix: New file.
64640         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
64641         printf-frexpl.h.
64642         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
64643         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
64644         REPLACE_VASNPRINTF is defined.
64645         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
64646         gl_FUNC_VASNPRINTF.
64647         (gl_FUNC_VASNPRINTF): Invoke it.
64648         * m4/vasnprintf-posix.m4: New file.
64649         * m4/printf.m4: New file.
64650
64651 2007-03-04  Bruno Haible  <bruno@clisp.org>
64652
64653         Compile progreloc.c only if --enable-relocatable is specified.
64654         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
64655         if --enable-relocatable was specified.
64656         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
64657         lib_SOURCES.
64658
64659 2007-03-04  Jim Meyering  <jim@meyering.net>
64660
64661         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
64662         Use it consistently, rather than enumerating errno constants.
64663
64664 2007-03-04  Bruno Haible  <bruno@clisp.org>
64665
64666         * modules/xvasprintf-tests: New file.
64667         * tests/test-xvasprintf.c: New file.
64668
64669         * modules/vasprintf-tests: New file.
64670         * tests/test-vasprintf.c: New file.
64671
64672         * modules/vasnprintf-tests: New file.
64673         * tests/test-vasnprintf.c: New file.
64674
64675         * modules/vsnprintf-tests: New file.
64676         * tests/test-vsnprintf.c: New file.
64677
64678         * modules/snprintf-tests: New file.
64679         * tests/test-snprintf.c: New file.
64680
64681 2007-03-04  Bruno Haible  <bruno@clisp.org>
64682
64683         Compile relocatable.c only if --enable-relocatable is specified.
64684         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
64685         gl_RELOCATABLE_LIBRARY.
64686         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
64687         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
64688         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
64689         gl_RELOCATABLE_LIBRARY.
64690         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
64691         (Makefile.am): Remove lib_SOURCES.
64692         * modules/relocatable-lib-lgpl (configure.ac): Invoke
64693         gl_RELOCATABLE_LIBRARY.
64694         (Makefile.am): Remove lib_SOURCES.
64695         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
64696         always.
64697         * modules/relocatable-prog-wrapper (configure.ac): Invoke
64698         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
64699
64700 2007-03-04  Bruno Haible  <bruno@clisp.org>
64701
64702         * modules/argmatch-tests: New file.
64703         * tests/test-argmatch.c: New file.
64704
64705         * tests/test-allocsa.c (main): Halve the number of loop runs.
64706
64707         * modules/alloca-opt-tests: New file.
64708         * tests/test-alloca-opt.c: New file.
64709
64710 2007-03-04  Jim Meyering  <jim@meyering.net>
64711
64712         Work around difference between Linux ACLs and Solaris 10 ZFS.
64713         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
64714         for EINVAL.
64715
64716 2007-03-03  Bruno Haible  <bruno@clisp.org>
64717
64718         * modules/relocatable-prog (Depends-on): Add back progreloc's
64719         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
64720
64721 2007-03-03  Bruno Haible  <bruno@clisp.org>
64722
64723         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
64724         * modules/relocatable-lib: New file.
64725
64726 2007-03-03  Bruno Haible  <bruno@clisp.org>
64727
64728         * modules/relocatable-prog: Renamed from modules/relocatable.
64729         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
64730
64731 2007-03-03  Bruno Haible  <bruno@clisp.org>
64732
64733         * modules/relocatable-script (Files): Add doc/relocatable.texi,
64734         m4/relocatable-lib.m4.
64735         (Depends-on): Remove 'relocatable'.
64736         (configure.ac): Add gl_RELOCATABLE_NOP.
64737
64738 2007-03-03  Bruno Haible  <bruno@clisp.org>
64739
64740         * modules/relocatable-prog-wrapper: New file.
64741         * modules/relocatable (Depends-on): Add it. Remove all other
64742         dependencies except progname.
64743         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
64744
64745         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
64746         (gl_FUNC_STRERROR): Nop.
64747         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
64748
64749         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
64750         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
64751
64752         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
64753         (gl_FUNC_READLINK): Update.
64754
64755         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
64756
64757 2007-03-03  Bruno Haible  <bruno@clisp.org>
64758
64759         * lib/xreadlink.c: Include <unistd.h> unconditionally.
64760         * modules/xreadlink (Depends-on): Add unistd.
64761         * modules/xreadlink-with-size (Depends-on): Likewise.
64762
64763 2007-03-03  Bruno Haible  <bruno@clisp.org>
64764
64765         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
64766         extracted from gt_FUNC_SETENV.
64767         (gt_FUNC_SETENV): Remove macro.
64768         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
64769         remove gt_FUNC_SETENV.
64770
64771 2007-03-03  Bruno Haible  <bruno@clisp.org>
64772
64773         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
64774         ENABLE_RELOCATABLE here.
64775         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
64776
64777 2007-03-03  Bruno Haible  <bruno@clisp.org>
64778
64779         * modules/rbtreehash-list-tests (Depends-on): Add progname.
64780         * tests/test-rbtreehash_list.c: Include progname.h.
64781         (main): Call set_program_name.
64782
64783         * modules/rbtree-oset-tests (Depends-on): Add progname.
64784         * tests/test-rbtree_oset.c: Include progname.h.
64785         (main): Call set_program_name.
64786
64787         * modules/rbtree-list-tests (Depends-on): Add progname.
64788         * tests/test-rbtree_list.c: Include progname.h.
64789         (main): Call set_program_name.
64790
64791         * modules/linked-list-tests (Depends-on): Add progname.
64792         * tests/test-linked_list.c: Include progname.h.
64793         (main): Call set_program_name.
64794
64795 2007-03-03  Bruno Haible  <bruno@clisp.org>
64796
64797         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
64798         All uses of __restrict changed to _Restrict_.
64799         * lib/glob_.h (__restrict): Remove macro.
64800
64801 2007-03-02  Bruno Haible  <bruno@clisp.org>
64802
64803         * modules/gettext (configure.ac): Require gettext infrastructure
64804         from version 0.16.1.
64805
64806 2007-03-02  Bruno Haible  <bruno@clisp.org>
64807
64808         * modules/linkedhash-list-tests (Depends-on): Add progname.
64809         * tests/test-linkedhash_list.c: Include progname.h.
64810         (main): Call set_program_name.
64811
64812         * modules/carray-list-tests (Depends-on): Add progname.
64813         * tests/test-carray_list.c: Include progname.h.
64814         (main): Call set_program_name.
64815
64816         * modules/avltreehash-list-tests (Depends-on): Add progname.
64817         * tests/test-avltreehash_list.c: Include progname.h.
64818         (main): Call set_program_name.
64819
64820         * modules/avltree-oset-tests (Depends-on): Add progname.
64821         * tests/test-avltree_oset.c: Include progname.h.
64822         (main): Call set_program_name.
64823
64824         * modules/avltree-list-tests (Depends-on): Add progname.
64825         * tests/test-avltree_list.c: Include progname.h.
64826         (main): Call set_program_name.
64827
64828         * modules/array-oset-tests (Depends-on): Add progname.
64829         * tests/test-array_oset.c: Include progname.h.
64830         (main): Call set_program_name.
64831
64832         * modules/array-list-tests (Depends-on): Add progname.
64833         * tests/test-array_list.c: Include progname.h.
64834         (main): Call set_program_name.
64835
64836         * modules/argp-tests (Depends-on): Add progname.
64837         * tests/test-argp.c: Include argp.h first. Include progname.h.
64838         (main): Call set_program_name.
64839
64840 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
64841
64842         * doc/gnulib-tool.texi (Initial import): Reword description of
64843         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
64844         limited effect even if defined after the first system include.
64845
64846 2007-03-01  Bruno Haible  <bruno@clisp.org>
64847
64848         * build-aux/config.libpath: Update to libtool-1.5.22.
64849         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
64850
64851 2007-03-01  Bruno Haible  <bruno@clisp.org>
64852
64853         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
64854         foo_CFLAGS.
64855         Reported by Ralf Wildenhues.
64856
64857 2007-03-01  Bruno Haible  <bruno@clisp.org>
64858
64859         * build-aux/install-reloc: Remove object files left over by some
64860         compilers.
64861         Reported by Ralf Wildenhues.
64862
64863 2007-03-01  Bruno Haible  <bruno@clisp.org>
64864
64865         * build-aux/install-reloc: Break long lines.
64866
64867 2007-03-01  Bruno Haible  <bruno@clisp.org>
64868
64869         * doc/relocatable.texi: Document that it may not work on OpenBSD.
64870         Reported by Ralf Wildenhues.
64871
64872 2007-03-01  Bruno Haible  <bruno@clisp.org>
64873
64874         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
64875         include ordering constraints.
64876
64877 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
64878
64879         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
64880         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
64881         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
64882         as another example.
64883         * lib/time_.h: Fix misspelling.
64884         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
64885         Require gl_HEADER_TIME_H_DEFAULTS.
64886         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
64887         * m4/time_r.m4 (gl_TIME_R): Likewise.
64888         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
64889
64890 2007-03-01  Bruno Haible  <bruno@clisp.org>
64891
64892         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
64893         * m4/utimens.m4 (gl_UTIMENS): Likewise.
64894
64895 2007-03-01  Jim Meyering  <jim@meyering.net>
64896
64897         * modules/xreadlink (Maintainer): Add my name.
64898         * modules/xreadlink-with-size (Depends-on): Alphabetize.
64899
64900 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
64901             Bruno Haible  <bruno@clisp.org>
64902
64903         * build-aux/install-reloc: Compile also c-ctype.c.
64904         * build-aux/relocatable.sh.in: New file.
64905         * doc/relocatable.texi: New file.
64906         * doc/relocatable-maint.texi: New file.
64907         * doc/gnulib.texi: Include relocatable-maint.texi.
64908         * lib/progreloc.c: Include unistd.h unconditionally.
64909         * lib/relocwrapper.c: Include unistd.h unconditionally.
64910         Include c-ctype.h.
64911         (add_dotbin): Use c_tolower.
64912         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
64913         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
64914         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
64915         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
64916         to m4/relocatable-lib.m4.
64917         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
64918         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
64919         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
64920         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
64921         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
64922         * modules/relocatable: New file.
64923         * modules/relocatable-lib: New file.
64924         * modules/relocatable-script: New file.
64925
64926 2007-02-28  Bruno Haible  <bruno@clisp.org>
64927
64928         Import --enable-relocatable infrastructure.
64929         * build-aux/config.libpath: New file, from GNU gettext.
64930         * build-aux/install-reloc: New file, from GNU gettext.
64931         * build-aux/reloc-ldflags: New file, from GNU gettext.
64932         * lib/relocatable.h: New file, from GNU gettext.
64933         * lib/relocatable.c: New file, from GNU gettext.
64934         * lib/relocwrapper.c: New file, from GNU gettext.
64935         * m4/relocatable.m4: New file, from GNU gettext.
64936
64937 2007-02-28  Bruno Haible  <bruno@clisp.org>
64938
64939         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
64940
64941         * modules/xreadlink: New file, from GNU gettext with modifications.
64942         * lib/xreadlink.c: New file, from GNU gettext.
64943         * lib/xreadlink.h: Add comments.
64944         (xreadlink): New declaration.
64945
64946         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
64947         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
64948         lib/xreadlink-with-size.c.
64949         (configure.ac): Remove gl_XREADLINK invocation.
64950         (Makefile.am): Augment lib_SOURCES.
64951         * m4/xreadlink.m4: Remove file.
64952         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
64953         (xreadlink_with_size): Renamed from xreadink.
64954         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
64955         * modules/canonicalize (Depends-on): Replace xreadlink with
64956         xreadlink-with-size.
64957         * lib/canonicalize.c (canonicalize_filename_mode): Update.
64958
64959 2007-02-25  Jim Meyering  <jim@meyering.net>
64960
64961         * build-aux/announce-gen: When complaining about excess arguments,
64962         list them.
64963
64964 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
64965
64966         * README: Document signed integer overflow situation more
64967         accurately.
64968
64969 2007-02-25  Bruno Haible  <bruno@clisp.org>
64970
64971         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
64972         'a' or 'A' conversion.
64973
64974 2007-02-25  Bruno Haible  <bruno@clisp.org>
64975
64976         * modules/filename: Renamed from modules/pathname.
64977         (Files): Replace lib/pathname.h with lib/filename.h. Replace
64978         lib/concatpath.c with lib/concat-filename.c.
64979         (Makefile.am): Update.
64980         (Include): Replace pathname.h with filename.h.
64981         * lib/filename.h: Renamed from lib/pathname.h.
64982         (concatenated_filename): Renamed from concatenated_pathname.
64983         * lib/concat-filename.c: Renamed from lib/concatpath.c.
64984         (concatenated_filename): Renamed from concatenated_pathname.
64985         * lib/findprog.c: Include filename.h instead of pathname.h.
64986         (find_in_path): Update.
64987         * lib/javacomp.c: Include filename.h instead of pathname.h.
64988         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
64989         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
64990         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
64991         is_oldgcj_14_13_usable, is_javac_usable): Update.
64992         * lib/javaexec.c: Include filename.h instead of pathname.h.
64993         (execute_java_class): Update.
64994         * modules/findprog: Update.
64995         * modules/javacomp: Update.
64996         * modules/javaexec: Update.
64997         * MODULES.html.sh (File system functions): Add 'filename', remove
64998         'pathname'.
64999
65000 2007-02-25  Bruno Haible  <bruno@clisp.org>
65001
65002         * modules/printf-frexpl-tests: New file.
65003         * tests/test-printf-frexpl.c: New file.
65004
65005         * modules/printf-frexpl: New file.
65006         * lib/printf-frexpl.h: New file.
65007         * lib/printf-frexpl.c: New file.
65008         * m4/printf-frexpl.m4: New file.
65009
65010 2007-02-25  Bruno Haible  <bruno@clisp.org>
65011
65012         * modules/printf-frexp-tests: New file.
65013         * tests/test-printf-frexp.c: New file.
65014
65015         * modules/printf-frexp: New file.
65016         * lib/printf-frexp.h: New file.
65017         * lib/printf-frexp.c: New file.
65018         * m4/printf-frexp.m4: New file.
65019
65020 2007-02-25  Bruno Haible  <bruno@clisp.org>
65021
65022         Assume automake >= 1.10 for the tests.
65023         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
65024         * modules/arctwo-tests: Likewise.
65025         * modules/argp-tests: Likewise.
65026         * modules/avltree-list-tests: Likewise.
65027         * modules/avltree-oset-tests: Likewise.
65028         * modules/avltreehash-list-tests: Likewise.
65029         * modules/carray-list-tests: Likewise.
65030         * modules/crc-tests: Likewise.
65031         * modules/des-tests: Likewise.
65032         * modules/gc-arcfour-tests: Likewise.
65033         * modules/gc-arctwo-tests: Likewise.
65034         * modules/gc-des-tests: Likewise.
65035         * modules/gc-hmac-md5-tests: Likewise.
65036         * modules/gc-hmac-sha1-tests: Likewise.
65037         * modules/gc-md2-tests: Likewise.
65038         * modules/gc-md4-tests: Likewise.
65039         * modules/gc-md5-tests: Likewise.
65040         * modules/gc-pbkdf2-sha1-tests: Likewise.
65041         * modules/gc-rijndael-tests: Likewise.
65042         * modules/gc-sha1-tests: Likewise.
65043         * modules/gc-tests: Likewise.
65044         * modules/getaddrinfo-tests: Likewise.
65045         * modules/hmac-md5-tests: Likewise.
65046         * modules/hmac-sha1-tests: Likewise.
65047         * modules/linked-list-tests: Likewise.
65048         * modules/linkedhash-list-tests: Likewise.
65049         * modules/lock-tests: Likewise.
65050         * modules/md2-tests: Likewise.
65051         * modules/md4-tests: Likewise.
65052         * modules/md5-tests: Likewise.
65053         * modules/rbtree-list-tests: Likewise.
65054         * modules/rbtree-oset-tests: Likewise.
65055         * modules/rbtreehash-list-tests: Likewise.
65056         * modules/read-file-tests: Likewise.
65057         * modules/rijndael-tests: Likewise.
65058         * modules/stdint-tests: Likewise.
65059         * modules/tls-tests: Likewise.
65060
65061 2007-02-24  Bruno Haible  <bruno@clisp.org>
65062
65063         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
65064         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
65065         function; instead check whether isnan with a double argument links.
65066         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
65067         function; instead check whether isnan with a 'long double' argument
65068         links.
65069         Reported by Eric Blake <ebb9@byu.net>.
65070
65071 2007-02-24  Bruno Haible  <bruno@clisp.org>
65072
65073         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
65074         defined.
65075         * lib/isnanl.c: Remove all code. Just include isnan.c.
65076         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
65077
65078 2007-02-25  Jim Meyering  <jim@meyering.net>
65079
65080         Avoid conflicting types for 'unsetenv' on FreeBSD.
65081         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
65082         conflicting with FreeBSD's (5.0 and 6.1) function declaration
65083         in stdlib.h.
65084
65085 2007-02-24  Bruno Haible  <bruno@clisp.org>
65086
65087         * modules/isnanl-nolibm-tests: New file.
65088         * tests/test-isnanl.c: New file.
65089
65090         * modules/isnanl-nolibm: New file.
65091         * lib/isnanl.h: New file.
65092         * lib/isnanl.c: New file.
65093         * m4/isnanl.m4: New file.
65094
65095 2007-02-24  Bruno Haible  <bruno@clisp.org>
65096
65097         * modules/isnan-nolibm-tests: New file.
65098         * tests/test-isnan.c: New file.
65099
65100         * modules/isnan-nolibm: New file.
65101         * lib/isnan.h: New file.
65102         * lib/isnan.c: New file.
65103         * m4/isnan.m4: New file.
65104
65105 2007-02-24  Bruno Haible  <bruno@clisp.org>
65106
65107         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
65108         assume that an exponent fits in 20 bits.
65109
65110 2007-02-24  Jim Meyering  <jim@meyering.net>
65111
65112         * m4/regex.m4: Update the description of the configure-time option,
65113         --without-included-regex, to state accurately what the defaults are,
65114         and perhaps to give people an idea why using this option is risky.
65115
65116 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
65117
65118         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
65119         loops on small arguments.  This attempts to avoid the problem
65120         Bruno Haible reported for AIX 4.3.2 in
65121         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
65122
65123 2007-02-23  Bruno Haible  <bruno@clisp.org>
65124
65125         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
65126         Needed for help2man.
65127
65128 2007-02-23  Karl Berry  <karl@gnu.org>
65129
65130         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
65131         exists, foo.h should be cvs-ignored, not committed.
65132
65133 2007-02-23  Eric Blake  <ebb9@byu.net>
65134
65135         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
65136         * lib/stat-time.h (includes): Likewise.
65137         * lib/utimecmp.c (includes): Likewise.
65138         * lib/utimens.h (includes): Likewise.
65139         * lib/getdate.y (includes): Also include "timespec.h" for use
65140         internal to the module.
65141         * modules/utimens (Depends-on): Revert yesterday's patch.
65142         * modules/nanosleep (Depends-on): Add missing dependency.
65143
65144 2007-02-22  Bruno Haible  <bruno@clisp.org>
65145
65146         * lib/glob.c: Don't include getlogin_r.h.
65147
65148 2007-02-22  Jim Meyering  <jim@meyering.net>
65149
65150         * modules/utimens (Depends-on): Add timespec, required for
65151         utimens.h's inclusion of timespec.h.
65152
65153 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
65154
65155         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
65156         long unreadable paths in GNU/Linux.  Problem reported by Andreas
65157         Schwab in
65158         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
65159         I'll try to think of a better way to fix the Solaris problem.
65160
65161         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
65162         like glibc; on Solaris 10, it fails with errno == EINVAL.
65163         POSIX says the behavior is unspecified if the first argument is NULL,
65164         so play it safe and never pass NULL to the system getcwd.
65165
65166 2007-02-21  Jim Meyering  <jim@meyering.net>
65167
65168         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
65169         of gettimeofday.  It would conflict with the one now always
65170         provided via sys_time_.h.  Reported by Matthew Woehlke, as
65171         an IRIX 6.5 build failure.
65172
65173 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
65174
65175         Minor fixups to port to Solaris 10 with Sun C 5.8.
65176         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
65177         * modules/getcwd (Depends-on): Add dirfd.
65178         * lib/putenv.c (putenv): #undef it.
65179         (rpl_putenv): New decl.
65180         (malloc, free): Include <stdlib.h> rather than prototyping separately.
65181
65182 2007-02-20  Bruno Haible  <bruno@clisp.org>
65183
65184         * modules/stdio-tests: New file.
65185         * tests/test-stdio.c: New file.
65186
65187         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
65188         (Depends-on): Add stdio.
65189         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
65190         (Include): Use <stdio.h> instead of vsnprintf.h.
65191         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
65192         HAVE_DECL_VSNPRINTF.
65193         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
65194
65195         * modules/snprintf (Files): Remove lib/snprintf.h.
65196         (Depends-on): Add stdio.
65197         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
65198         (Include): Use <stdio.h> instead of snprintf.h.
65199         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
65200         HAVE_DECL_SNPRINTF.
65201         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
65202         * lib/getaddrinfo.c: Likewise.
65203
65204         * modules/stdio: New file.
65205         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
65206         * lib/snprintf.h: Remove file.
65207         * lib/vsnprintf.h: Remove file.
65208         * lib/.cppi-disable: Remove snprintf.h.
65209         * m4/stdio_h.m4: New file.
65210         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
65211
65212 2007-02-20  Jim Meyering  <jim@meyering.net>
65213
65214         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
65215         used by e.g., mingw.  From Bruno Haible.
65216
65217 2007-02-19  Bruno Haible  <bruno@clisp.org>
65218
65219         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
65220         warnings.
65221         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65222
65223 2007-02-19  Bruno Haible  <bruno@clisp.org>
65224
65225         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
65226         from mingw users.
65227
65228 2007-02-19  Bruno Haible  <bruno@clisp.org>
65229
65230         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
65231         warnings.
65232         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
65233
65234 2007-02-19  Jim Meyering  <jim@meyering.net>
65235
65236         Don't use FD after a successful "fdopendir (fd)".
65237         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
65238         Reset it by calling dirfd on the just-obtained DIR*.
65239
65240         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
65241         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
65242
65243 2007-02-18  Bruno Haible  <bruno@clisp.org>
65244
65245         * lib/readlink.c: Include <unistd.h>.
65246         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
65247         HAVE_READLINK.
65248         * modules/readlink (Depends-on): Add unistd.
65249         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65250         (Include): Add <unistd.h>.
65251
65252         * lib/getlogin_r.h: Remove file.
65253         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
65254         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
65255         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
65256         HAVE_DECL_GETLOGIN_R.
65257         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
65258         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65259         (Include): Use <unistd.h> instead of getlogin_r.h.
65260
65261         * lib/getcwd.h: Remove file.
65262         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
65263         * lib/xgetcwd.c: Likewise.
65264         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
65265         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
65266         * modules/getcwd (Files): Remove lib/getcwd.h.
65267         (Depends-on): Add unistd.
65268         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65269         (Include): Use <unistd.h> instad of getcwd.h.
65270
65271         * lib/ftruncate.c: Include <unistd.h> first.
65272         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
65273         Set HAVE_FTRUNCATE.
65274         * modules/ftruncate (Depends-on): Add unistd.
65275         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65276
65277         * lib/fchdir.c: Include <unistd.h> first.
65278         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
65279         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
65280         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
65281         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65282         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
65283
65284         * lib/dup2.c: Include <unistd.h> first.
65285         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
65286         HAVE_DUP2.
65287         * modules/dup2 (Depends-on): Add unistd.
65288         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65289
65290         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
65291         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
65292         REPLACE_CHOWN. Don't define chown as a macro here.
65293         * modules/chown (Depends-on): Add unistd.
65294         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65295
65296         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
65297         Add definition for GL_LINK_WARNING.
65298         (chown, dup2): New declarations.
65299         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
65300         link warning.
65301         (ftruncate): New declaration.
65302         (getcwd): New declaration, taken from old getcwd.h.
65303         (getlogin_r): New declaration, taken from old getlogin_r.h.
65304         (readlink): New declaration.
65305         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
65306         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
65307         (gl_PREREQ_UNISTD): Remove macro.
65308         (gl_UNISTD_MODULE_INDICATOR): New macro.
65309         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
65310         many new variables. Don't set UNISTD_H.
65311         * modules/unistd (Description): Change.
65312         (Depends-on): Add link-warning.
65313         (configure.ac): Update.
65314         (Makefile.am): Create unistd.h always. Substitute many new variables
65315         into it.
65316
65317 2007-02-18  Bruno Haible  <bruno@clisp.org>
65318
65319         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
65320         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
65321         HAVE_GETSUBOPT.
65322         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
65323         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
65324         * lib/getsubopt.h: Remove file.
65325         * modules/getsubopt (Files): Remove lib/getsubopt.h.
65326         (Depends-on): Add stdlib.
65327         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65328         (Includes): Use <stdlib.h> instead of getsubopt.h.
65329         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
65330         Set HAVE_GETSUBOPT.
65331         * lib/getsubopt.c: Don't include getsubopt.h.
65332
65333 2007-02-18  Bruno Haible  <bruno@clisp.org>
65334
65335         * modules/fchdir (Depends-on): Add dup2.
65336
65337 2007-02-18  Bruno Haible  <bruno@clisp.org>
65338
65339         * lib/stdlib_.h: Handle glibc's special invocation convention
65340         specially.
65341
65342 2007-02-18  Bruno Haible  <bruno@clisp.org>
65343
65344         * modules/stdlib-tests: New file.
65345         * tests/test-stdlib.c: New file.
65346
65347         * modules/mkstemp (Files): Remove lib/mkstemp.h.
65348         (Depends-on): Add stdlib.
65349         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65350         (Includes): Use <stdlib.h> instead of mkstemp.h.
65351         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
65352         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
65353         * lib/mkstemp.c: Don't include mkstemp.h.
65354         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
65355         * lib/stdlib--.h: Don't include mkstemp.h.
65356
65357         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
65358         (Depends-on): Add stdlib.
65359         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65360         (Includes): Use <stdlib.h> instead of mkdtemp.h.
65361         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
65362         HAVE_MKDTEMP.
65363         * lib/mkdtemp.c: Don't include mkdtemp.h.
65364         * lib/clean-temp.c: Don't include mkdtemp.h.
65365
65366         * modules/exit (Files): Remove lib/exit.h.
65367         (Depends-on): Add stdlib.
65368         (Makefile.am): Remove lib_SOURCES.
65369         (Include): Use <stdlib.h> instead of exit.h.
65370         * lib/argmatch.c: Don't include exit.h.
65371         * lib/execute.c: Likewise.
65372         * lib/pagealign_alloc.c: Likewise.
65373         * lib/pipe.c: Likewise.
65374         * lib/wait-process.c: Likewise.
65375         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
65376         * lib/exitfail.c: Likewise.
65377         * lib/savewd.c: Likewise.
65378         * lib/xsetenv.c: Likewise.
65379
65380         * modules/stdlib: New file.
65381         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
65382         and extra comments about mkstemp().
65383         * lib/exit.h: Remove file.
65384         * lib/mkdtemp.h: Remove file.
65385         * lib/mkstemp.h: Remove file.
65386         * m4/stdlib_h.m4: New file.
65387         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
65388
65389 2007-02-18  Bruno Haible  <bruno@clisp.org>
65390
65391         * modules/math-tests: New file.
65392         * tests/test-math.c: New file.
65393
65394         * modules/math: New file.
65395         * modules/mathl (Files): Remove lib/mathl.h.
65396         (Depends-on): Add math.
65397         (Makefile.am): Don't mention mathl.h.
65398         (Include): Use <math.h> instead of mathl.h.
65399         * lib/math_.h: New file.
65400         * lib/mathl.h: Remove file.
65401         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
65402         mathl.h.
65403         * lib/asinl.c: Likewise.
65404         * lib/atanl.c: Likewise.
65405         * lib/ceill.c: Likewise.
65406         * lib/cosl.c: Likewise.
65407         * lib/expl.c: Likewise.
65408         * lib/floorl.c: Likewise.
65409         * lib/frexpl.c: Likewise.
65410         * lib/ldexpl.c: Likewise.
65411         * lib/logl.c: Likewise.
65412         * lib/sincosl.c: Likewise.
65413         * lib/sinl.c: Likewise.
65414         * lib/sqrtl.c: Likewise.
65415         * lib/tanl.c: Likewise.
65416         * lib/trigl.c: Likewise.
65417         * m4/math_h.m4: New file.
65418         * MODULES.html.sh (Mathematics): Add math.
65419
65420 2007-02-17  Bruno Haible  <bruno@clisp.org>
65421
65422         * modules/wctype-tests: New file.
65423         * tests/test-wctype.c: New file.
65424
65425         * modules/wchar-tests: New file.
65426         * tests/test-wchar.c: New file.
65427
65428         * modules/unistd-tests: New file.
65429         * tests/test-unistd.c: New file.
65430
65431         * modules/time-tests: New file.
65432         * tests/test-time.c: New file.
65433
65434         * modules/sysexits-tests: New file.
65435         * tests/test-sysexits.c: New file.
65436
65437         * modules/sys_time-tests: New file.
65438         * tests/test-sys_time.c: New file.
65439
65440         * modules/sys_stat-tests: New file.
65441         * tests/test-sys_stat.c: New file.
65442
65443         * modules/sys_socket-tests: New file.
65444         * tests/test-sys_socket.c: New file.
65445
65446         * modules/sys_select-tests: New file.
65447         * tests/test-sys_select.c: New file.
65448
65449         * modules/string-tests: New file.
65450         * tests/test-string.c: New file.
65451
65452         * modules/stdbool-tests: New file.
65453         * tests/test-stdbool.c: New file.
65454
65455         * modules/netinet_in-tests: New file.
65456         * tests/test-netinet_in.c: New file.
65457
65458         * modules/inttypes-tests: New file.
65459         * tests/test-inttypes.c: New file.
65460
65461         * modules/fcntl-tests: New file.
65462         * tests/test-fcntl.c: New file.
65463
65464         * modules/byteswap-tests: New file.
65465         * tests/test-byteswap.c: New file.
65466
65467         * modules/arpa_inet-tests: New file.
65468         * tests/test-arpa_inet.c: New file.
65469
65470 2007-02-17  Bruno Haible  <bruno@clisp.org>
65471
65472         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
65473         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
65474         if the corresponding module is not enabled. Emit link warnings if
65475         the function is used nevertheless.
65476         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
65477         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
65478         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
65479         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
65480         * modules/inttypes (Depends-on): Add link-warning.
65481         (Makefile.am): Copy the contents of build-aux/link-warning.h into
65482         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
65483         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
65484         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
65485         * modules/imaxdiv (configure.ac): Likewise.
65486         * modules/strtoimax (configure.ac): Likewise.
65487         * modules/strtoumax (configure.ac): Likewise.
65488
65489 2007-02-17  Bruno Haible  <bruno@clisp.org>
65490
65491         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
65492         gl_STRING_MODULE_INDICATOR_DEFAULTS.
65493         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
65494         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
65495
65496 2007-02-17  Bruno Haible  <bruno@clisp.org>
65497
65498         * modules/link-warning: New file.
65499         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
65500         * lib/string_.h (GL_LINK_WARNING): Remove definition.
65501         * modules/string (Depends-on): Add link-warning.
65502         (Makefile.am): Copy the contents of build-aux/link-warning.h into
65503         string.h.
65504         * MODULES.html.sh (Support for building libraries and executables): Add
65505         link-warning.
65506
65507 2007-02-17  Bruno Haible  <bruno@clisp.org>
65508
65509         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
65510         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
65511         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
65512         long lines.
65513
65514 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
65515             Bruno Haible  <bruno@clisp.org>
65516
65517         * modules/tmpfile: New file.
65518         * lib/tmpfile.c: New file.
65519         * m4/tmpfile.m4: New file.
65520         * MODULES.html.sh (func_all_modules): New section "Input/output".
65521
65522 2007-02-15  Bruno Haible  <bruno@clisp.org>
65523
65524         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
65525         (supports_delete_on_close): New function.
65526         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
65527
65528 2007-02-14  Bruno Haible  <bruno@clisp.org>
65529
65530         * modules/mbspcasecmp-tests: New file.
65531         * tests/test-mbspcasecmp.sh: New file.
65532         * tests/test-mbspcasecmp.c: New file.
65533
65534         New module mbspcasecmp.
65535         * modules/mbspcasecmp: New file.
65536         * lib/mbspcasecmp.c: New file.
65537         * lib/string_.h (strncasecmp): Change warning message.
65538         (mbspcasecmp): New declaration.
65539         * m4/mbspcasecmp.m4: New file.
65540         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65541         GNULIB_MBSPCASECMP.
65542         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
65543         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
65544
65545 2007-02-14  Bruno Haible  <bruno@clisp.org>
65546
65547         * modules/mbsncasecmp-tests: New file.
65548         * tests/test-mbsncasecmp.sh: New file.
65549         * tests/test-mbsncasecmp.c: New file.
65550
65551         New module mbsncasecmp.
65552         * modules/mbsncasecmp: New file.
65553         * lib/mbsncasecmp.c: New file.
65554         * lib/string_.h (mbsncasecmp): New declaration.
65555         * m4/mbsncasecmp.m4: New file.
65556         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65557         GNULIB_MBSNCASECMP.
65558         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
65559         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
65560
65561 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
65562
65563         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
65564         Verify that it doesn't overlap with our flags.
65565         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
65566         do not have the desired effect in multibyte locales; instead, use
65567         mbscasecmp.
65568         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
65569         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
65570         we don't require GNU fnmatch ourselves (if our users require it, they
65571         should do so explicitly).
65572
65573         Fix regex code so it doesn't rely on strcasecmp.
65574         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
65575         Otherwise, include gnulib's langinfo.h.
65576         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
65577         undesirable behavior in non-C locales.  Instead, rely on localecharset.
65578         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
65579         * modules/regex (FILES): Remove m4/codeset.m4.
65580         (Depends-on): Add localcharset.  Remove strcase.
65581
65582 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65583
65584         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
65585         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
65586
65587 2007-02-13  Bruno Haible  <bruno@clisp.org>
65588
65589         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
65590         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65591
65592 2007-02-12  Bruno Haible  <bruno@clisp.org>
65593
65594         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
65595         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
65596         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
65597         time warning rather than a link error.
65598
65599 2007-02-12  Bruno Haible  <bruno@clisp.org>
65600
65601         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
65602         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
65603         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65604
65605 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
65606
65607         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
65608         args, not 2.
65609
65610 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
65611
65612         New module 'time', so that apps can include <time.h> as per
65613         POSIX and GNU instead of separate include files like time_r.h
65614         and timegm.h.  This implementation tries out a simpler approach
65615         for replacing decls in standard include files (as compared to
65616         the string module), somewhat as an experiment.
65617
65618         * config/srclist.txt: Comment out mktime.c for now.
65619         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
65620         since it doesn't apply any more.  Use generic wording instead.
65621         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
65622         'time'.
65623         * lib/time_.h, m4/time_h.m4, modules/time: New files.
65624         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
65625         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
65626         Don't include <sys/types.h>; no longer needed since we assume C89.
65627         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
65628         * lib/strftime.c: Likewise.
65629         * lib/time_r.c: Likewise.
65630         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
65631         * lib/nanosleep.c: Include <time.h> first, to check interface.
65632         * lib/strptime.c: Likewise.
65633         * lib/time_r.c: Likewise.
65634         * lib/timegm.c: Likewise.
65635         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
65636         needed.
65637         * lib/timegm.c: Don't include timegm.h; no longer needed.
65638         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
65639         time.h now handles any problems in that area.
65640         (struct timespec, nanosleep): Remove; time.h now arranges for these.
65641         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
65642         that time.h defines struct timespec.
65643         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
65644         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
65645         handles that.
65646         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
65647         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
65648         needed.  Set REPLACE_LOCALTIME.
65649         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
65650         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
65651         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
65652         nanosleep; time_h.m4 now does that.  Don't require
65653         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
65654         module handles this now.
65655         * modules/getdate (Depends-on): Remove timespec.  Add time.
65656         * modules/nanosleep (Depends-on): Likewise.
65657         * modules/stat-time (Depends-on): Likewise.
65658         * modules/nanosleep (Include): Include time.h, not timespec.h.
65659         * modules/strptime (Files): Remove lib/strptime.h.
65660         (Depends-on): Add extensions, time.
65661         (Include): Include time.h, not strptime.h.
65662         * modules/time_r (Files): Remove lib/time_r.h.
65663         (Depends-on): Add time.
65664         (Include): Include time.h, not time_r.h.
65665         * modules/timegm: Likewise.
65666         * modules/timespec (Description): Now does timespec-related decls
65667         of our own, instead of struct timespec itself.
65668         (Depends-on): Add time; remove extensions.
65669         (Maintainer): Add self.
65670         * modules/utimecmp (Depends-on): Add time; remove timespec.
65671         * modules/utimens (Depends-on): Likewise.
65672         * modules/xnanosleep (Depends-on): Likewise.
65673
65674 2007-02-11  Bruno Haible  <bruno@clisp.org>
65675
65676         * lib/c-strstr.c: Include allocsa.h.
65677         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65678         * lib/c-strcasestr.c: Include allocsa.h.
65679         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65680         * lib/strcasestr.c: Include allocsa.h.
65681         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65682         * lib/mbsstr.c: Include allocsa.h.
65683         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
65684         allocsa/freesa instead of malloc/free.
65685         * lib/mbscasestr.c: Include allocsa.h.
65686         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
65687         allocsa/freesa instead of malloc/free.
65688         * modules/c-strstr (Depends-on): Add allocsa.
65689         * modules/c-strcasestr (Depends-on): Likewise.
65690         * modules/strcasestr (Depends-on): Likewise.
65691         * modules/mbsstr (Depends-on): Likewise.
65692         * modules/mbscasestr (Depends-on): Likewise.
65693
65694 2007-02-11  Bruno Haible  <bruno@clisp.org>
65695
65696         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
65697
65698         * modules/mbsspn-tests: New file.
65699         * tests/test-mbsspn.sh: New file.
65700         * tests/test-mbsspn.c: New file.
65701
65702 2007-02-11  Bruno Haible  <bruno@clisp.org>
65703
65704         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
65705
65706         * modules/mbspbrk-tests: New file.
65707         * tests/test-mbspbrk.sh: New file.
65708         * tests/test-mbspbrk.c: New file.
65709
65710 2007-02-11  Bruno Haible  <bruno@clisp.org>
65711
65712         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
65713         unneeded cast.
65714
65715         * modules/mbscspn-tests: New file.
65716         * tests/test-mbscspn.sh: New file.
65717         * tests/test-mbscspn.c: New file.
65718
65719 2007-02-11  Bruno Haible  <bruno@clisp.org>
65720
65721         * modules/mbscasecmp-tests: New file.
65722         * tests/test-mbscasecmp.sh: New file.
65723         * tests/test-mbscasecmp.c: New file.
65724
65725 2007-02-11  Bruno Haible  <bruno@clisp.org>
65726
65727         Ensure O(n) worst-case complexity of mbscasestr.
65728         * lib/mbscasestr.c: Include stdbool.h.
65729         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
65730         functions.
65731         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
65732         the bookkeeping indicates that it's worth it.
65733         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
65734
65735         * modules/mbscasestr-tests: New file.
65736         * tests/test-mbscasestr1.c: New file.
65737         * tests/test-mbscasestr2.sh: New file.
65738         * tests/test-mbscasestr2.c: New file.
65739         * tests/test-mbscasestr3.sh: New file.
65740         * tests/test-mbscasestr3.c: New file.
65741         * tests/test-mbscasestr4.sh: New file.
65742         * tests/test-mbscasestr4.c: New file.
65743         * m4/locale-tr.m4: New file.
65744
65745 2007-02-11  Bruno Haible  <bruno@clisp.org>
65746
65747         Ensure O(n) worst-case complexity of mbsstr.
65748         * lib/mbsstr.c: Include stdbool.h.
65749         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
65750         functions.
65751         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
65752         bookkeeping indicates that it's worth it.
65753         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
65754
65755         * modules/mbsstr-tests: New file.
65756         * tests/test-mbsstr1.c: New file.
65757         * tests/test-mbsstr2.sh: New file.
65758         * tests/test-mbsstr2.c: New file.
65759         * tests/test-mbsstr3.sh: New file.
65760         * tests/test-mbsstr3.c: New file.
65761         * m4/locale-fr.m4: New file.
65762
65763 2007-02-11  Bruno Haible  <bruno@clisp.org>
65764
65765         * lib/mbsrchr.c (mbsrchr): Fix bug.
65766
65767         * modules/mbsrchr-tests: New file.
65768         * tests/test-mbsrchr.sh: New file.
65769         * tests/test-mbsrchr.c: New file.
65770
65771 2007-02-11  Bruno Haible  <bruno@clisp.org>
65772
65773         * lib/mbschr.c (mbschr): Fix bug.
65774
65775         * modules/mbschr-tests: New file.
65776         * tests/test-mbschr.sh: New file.
65777         * tests/test-mbschr.c: New file.
65778         * m4/locale-zh.m4: New file.
65779
65780 2007-02-11  Bruno Haible  <bruno@clisp.org>
65781
65782         Support for copying multibyte string iterators.
65783         * lib/mbiter.h: Include <string.h>.
65784         (mbiter_multi_copy): New function.
65785         (mbi_copy): New macro.
65786         * lib/mbuiter.h: Include <string.h>.
65787         (mbuiter_multi_copy): New function.
65788         (mbui_copy): New macro.
65789
65790 2007-02-11  Bruno Haible  <bruno@clisp.org>
65791
65792         New module mbslen.
65793         * modules/mbslen: New file.
65794         * lib/mbslen.c: New file.
65795         * lib/string_.h (mbslen): New declaration.
65796         * m4/mbslen.m4: New file.
65797         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65798         GNULIB_MBSLEN.
65799         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
65800         * MODULES.html.sh (Internationalization functions): Add mbslen.
65801
65802 2007-02-11  Bruno Haible  <bruno@clisp.org>
65803
65804         Ensure O(n) worst-case complexity of strcasestr substitute.
65805         * lib/strcasestr.c: Include stdbool.h.
65806         (knuth_morris_pratt): New function.
65807         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
65808         bookkeeping indicates that it's worth it.
65809         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
65810
65811         * modules/strcasestr-tests: New file.
65812         * tests/test-strcasestr.c: New file.
65813
65814 2007-02-11  Bruno Haible  <bruno@clisp.org>
65815
65816         Ensure O(n) worst-case complexity of c_strcasestr.
65817         * lib/c-strcasestr.c: Include stdbool.h, string.h.
65818         (knuth_morris_pratt): New function.
65819         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
65820         the bookkeeping indicates that it's worth it.
65821         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
65822
65823         * modules/c-strcasestr-tests: New file.
65824         * tests/test-c-strcasestr.c: New file.
65825
65826 2007-02-11  Bruno Haible  <bruno@clisp.org>
65827
65828         Ensure O(n) worst-case complexity of c_strstr.
65829         * lib/c-strstr.c: Include stdbool.h, string.h.
65830         (knuth_morris_pratt): New function.
65831         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
65832         bookkeeping indicates that it's worth it.
65833         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
65834
65835         * lib/c-strstr.c: Complete rewrite for maintainability.
65836
65837         * modules/c-strstr-tests: New file.
65838         * tests/test-c-strstr.c: New file.
65839
65840 2007-02-11  Bruno Haible  <bruno@clisp.org>
65841
65842         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
65843         5.2.1 and earlier, whereby \055 was treated just like the range
65844         delimiter '-'.
65845         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
65846
65847 2007-02-08  Bruno Haible  <bruno@clisp.org>
65848
65849         * modules/regex (Depends-on): Add stdbool.
65850         Reported by Dalibor Topic <robilad@kaffe.org>.
65851
65852 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
65853
65854         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
65855         Prefer returning from main to exiting from it.
65856         Remove unnecessary parens after sizeof.
65857
65858 2007-02-05  Bruno Haible  <bruno@clisp.org>
65859
65860         New module mbssep.
65861         * modules/mbssep: New file.
65862         * lib/mbssep.c: New file.
65863         * lib/string_.h (strsep): Add a conditional link warning.
65864         (mbssep): New declaration.
65865         * m4/mbssep.m4: New file.
65866         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65867         GNULIB_MBSSEP.
65868         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
65869         * MODULES.html.sh (Internationalization functions): Add mbssep.
65870
65871 2007-02-05  Bruno Haible  <bruno@clisp.org>
65872
65873         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
65874         Optimize search in case of 1 delimiter.
65875
65876 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
65877
65878         * lib/acl.h: Include sys/types.h before sys/acl.h.
65879
65880 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
65881
65882         Merge upstream fix for glibc bugzilla #3957:
65883
65884         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
65885
65886         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
65887         bit for RE_HAT_LISTS_NOT_NEWLINE.
65888         (build_charclass_op): Remove bogus comment.
65889
65890 2007-02-05  Simon Josefsson  <simon@josefsson.org>
65891
65892         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
65893
65894 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
65895
65896         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
65897         * lib/memmem.c [!defined _LIBC]: Include config.h.
65898
65899 2007-02-04  Bruno Haible  <bruno@clisp.org>
65900
65901         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
65902         warning message.
65903
65904 2007-02-04  Bruno Haible  <bruno@clisp.org>
65905
65906         New module mbstok_r.
65907         * modules/mbstok_r: New file.
65908         * lib/mbstok_r.c: New file.
65909         * lib/string_.h (strtok_r): Change argument names to match the
65910         comments. Add a conditional link warning.
65911         (mbstok_r): New declaration.
65912         * m4/mbstok_r.m4: New file.
65913         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65914         GNULIB_MBSTOK_R.
65915         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
65916         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
65917
65918 2007-02-04  Bruno Haible  <bruno@clisp.org>
65919
65920         New module mbsspn.
65921         * modules/mbsspn: New file.
65922         * lib/mbsspn.c: New file.
65923         * lib/string_.h (strspn): Add a conditional link warning.
65924         (mbsspn): New declaration.
65925         * m4/mbsspn.m4: New file.
65926         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65927         GNULIB_MBSSPN.
65928         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
65929         * MODULES.html.sh (Internationalization functions): Add mbsspn.
65930
65931 2007-02-04  Bruno Haible  <bruno@clisp.org>
65932
65933         New module mbspbrk.
65934         * modules/mbspbrk: New file.
65935         * lib/mbspbrk.c: New file.
65936         * lib/string_.h (strpbrk): Add a conditional link warning.
65937         (mbspbrk): New declaration.
65938         * m4/mbspbrk.m4: New file.
65939         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65940         GNULIB_MBSPBRK.
65941         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
65942         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
65943
65944 2007-02-04  Bruno Haible  <bruno@clisp.org>
65945
65946         New module mbscspn.
65947         * modules/mbscspn: New file.
65948         * lib/mbscspn.c: New file.
65949         * lib/string_.h (strcspn): Add a conditional link warning.
65950         (mbscspn): New declaration.
65951         * m4/mbscspn.m4: New file.
65952         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65953         GNULIB_MBSCSPN.
65954         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
65955         * MODULES.html.sh (Internationalization functions): Add mbscspn.
65956
65957 2007-02-04  Bruno Haible  <bruno@clisp.org>
65958
65959         New module mbscasestr, reduced goal of strcasestr.
65960         * modules/mbscasestr: New file.
65961         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
65962         (mbscasestr): Renamed from strcasestr.
65963         * lib/strcasestr.c: Don't include mbuiter.h.
65964         (strcasestr): Remove support for multibyte locales.
65965         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
65966         Change the conditional link warning.
65967         (mbscasestr): New declaration.
65968         * m4/mbscasestr.m4: New file.
65969         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
65970         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
65971         REPLACE_STRCASESTR.
65972         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
65973         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
65974         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
65975         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
65976         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
65977         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
65978         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
65979         (Depends-on): Remove mbuiter.
65980         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
65981
65982 2007-02-04  Bruno Haible  <bruno@clisp.org>
65983
65984         Simplify handling of strncasecmp.
65985         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
65986         the conditional link warning.
65987         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
65988         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
65989         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
65990         * modules/strcase (configure.ac): Don't invoke
65991         gl_STRING_MODULE_INDICATOR.
65992         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
65993
65994 2007-02-04  Bruno Haible  <bruno@clisp.org>
65995
65996         New module mbscasecmp, reduced goal of strcasecmp.
65997         * modules/mbscasecmp: New file.
65998         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
65999         (mbscasecmp): Renamed from strcasecmp.
66000         * lib/strcasecmp.c: Don't include mbuiter.h.
66001         (strcasecmp): Remove support for multibyte locales.
66002         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
66003         Change the conditional link warning.
66004         (mbscasecmp): New declaration.
66005         * m4/mbscasecmp.m4: New file.
66006         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
66007         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
66008         REPLACE_STRCASECMP.
66009         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
66010         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66011         GNULIB_MBSCASECMP.
66012         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
66013         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
66014         * modules/strcase (Files): Remove m4/mbrtowc.m4.
66015         (Depends-on): Remove mbuiter.
66016         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
66017
66018 2007-02-04  Bruno Haible  <bruno@clisp.org>
66019
66020         New module mbsstr. Remove module strstr.
66021         * modules/mbsstr: New file.
66022         * modules/strstr: Remove file.
66023         * lib/mbsstr.c: Renamed from lib/strstr.c.
66024         (mbsstr): Renamed from strstr.
66025         * lib/string_.h (strstr): Remove declaration. Change the conditional
66026         link warning.
66027         (mbsstr): New declaration.
66028         * m4/mbsstr.m4: New file.
66029         * m4/strstr.m4: Remove file.
66030         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
66031         REPLACE_STRSTR.
66032         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
66033         Don't initialize GNULIB_STRSTR.
66034         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
66035         substitute GNULIB_STRSTR and REPLACE_STRSTR.
66036         * MODULES.html.sh (Internationalization functions): Add mbsstr.
66037         (Support for systems lacking ANSI C 89): Remove strstr.
66038
66039 2007-02-04  Bruno Haible  <bruno@clisp.org>
66040
66041         New module mbsrchr.
66042         * modules/mbsrchr: New file.
66043         * lib/mbsrchr.c: New file.
66044         * lib/string_.h (strrchr): Add a conditional link warning.
66045         (mbsrchr): New declaration.
66046         * m4/mbsrchr.m4: New file.
66047         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66048         GNULIB_MBSRCHR.
66049         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
66050         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
66051
66052 2007-02-04  Bruno Haible  <bruno@clisp.org>
66053
66054         New module mbschr.
66055         * modules/mbschr: New file.
66056         * lib/mbschr.c: New file.
66057         * lib/string_.h (strchr): Add a conditional link warning.
66058         (mbschr): New declaration.
66059         * m4/mbschr.m4: New file.
66060         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66061         GNULIB_MBSCHR.
66062         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
66063         * MODULES.html.sh (Internationalization functions): Add mbschr.
66064
66065 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
66066
66067         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
66068
66069         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
66070
66071 2007-02-04  Bruno Haible  <bruno@clisp.org>
66072
66073         New module description section 'configure.ac-early'.
66074         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
66075         (func_get_autoconf_early_snippet): New function.
66076         (func_import, func_create_testdir): Use it. Remove special cases for
66077         modules 'extensions' and 'lock'.
66078         * modules/extensions (configure.ac-early): Require
66079         gl_USE_SYSTEM_EXTENSIONS.
66080         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
66081
66082 2007-02-04  Bruno Haible  <bruno@clisp.org>
66083
66084         Make use of gcj-4.3's -fsource and -ftarget option.
66085         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
66086         and if so try the options -fsource and -ftarget.
66087         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
66088         source_version, ftarget_option, target_version arguments.
66089         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
66090         (is_envjavac_oldgcj_14_14_usable): Renamed from
66091         is_envjavac_gcj_14_14_usable.
66092         (is_envjavac_oldgcj_14_13_usable): Renamed from
66093         is_envjavac_gcj_14_13_usable.
66094         (is_gcj_present): Update.
66095         (is_gcj_43, is_gcj43_usable): New functions.
66096         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
66097         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
66098         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
66099         try the options -fsource and -ftarget.
66100
66101 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
66102
66103         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
66104         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
66105         larger value.
66106
66107 2007-02-03  Jim Meyering  <jim@meyering.net>
66108
66109         Give tools a better chance to allocate space for very large buffers.
66110         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
66111
66112         Make pwd and readlink work also when run with an unreadable parent dir
66113         on systems with openat support.
66114         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
66115         provided getcwd function, even when we have openat support.
66116         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
66117
66118 2007-02-02  Bruno Haible  <bruno@clisp.org>
66119
66120         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
66121         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
66122         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
66123         portability problems if one of these functions is only used on specific
66124         platforms.
66125         Reported by Paul Eggert.
66126
66127 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
66128
66129         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
66130         is causing more trouble than it's curing.
66131         * lib/regex_internal.h (__mempcpy): Remove.
66132         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
66133         (and make the code a tad smaller to boot).
66134         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
66135
66136 2007-02-02  Jim Meyering  <jim@meyering.net>
66137
66138         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
66139         section, not in the Makefile.am: one.
66140
66141 2007-02-02  Eric Blake  <ebb9@byu.net>
66142
66143         * lib/strchrnul.c: Always include config.h first.
66144
66145         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
66146         gnulib strstr is not necessary here.
66147
66148 2007-02-02  Simon Josefsson  <simon@josefsson.org>
66149
66150         * m4/socklen.m4: Fix typo.
66151
66152 2007-02-02  Eric Blake  <ebb9@byu.net>
66153
66154         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
66155         * modules/netinet_in (Makefile.am): Likewise.
66156
66157 2007-02-01  Bruno Haible  <bruno@clisp.org>
66158
66159         * lib/string_.h (GL_LINK_WARNING): New macro.
66160         (strcasecmp, strstr, strcasestr): If provided by the system,
66161         conditionally define as a macro that leads to a warning instead of to
66162         an error.
66163         (strncasecmp): Conditionally define as a macro that leads to a warning.
66164
66165 2007-02-01  Karl Berry  <karl@gnu.org>
66166
66167         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
66168
66169 2007-02-01  Bruno Haible  <bruno@clisp.org>
66170
66171         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
66172         renamings.
66173
66174 2007-02-01  Eric Blake  <ebb9@byu.net>
66175
66176         * modules/regex (Depends-on): Revert dependence on mempcpy.
66177         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
66178         module's definition of mempcpy.
66179         Reported by Paul Eggert.
66180
66181 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
66182
66183         * lib/string_.h: If the gnulib module XYZ is not present, undefine
66184         the symbol XYZ before redefining it.  This fixes a problem with
66185         programs that don't use XYZ, when compiled on systems that define
66186         XYZ to something else.
66187
66188 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
66189
66190         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
66191         occurs when "mkdir -m foo" creates a setgid directory that is (1)
66192         writeable to group or other and (2) is intended to have a special
66193         mode bit that is set or cleared.  In such a case, the directory
66194         should be neither group- nor other-writeable until the special
66195         mode bits are right.
66196
66197 2007-01-31  Eric Blake  <ebb9@byu.net>
66198
66199         * modules/mountlist (Depends-on): Add strstr.
66200
66201         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
66202         bug.
66203         * modules/string (Makefile.am): Remove redundant replacement.
66204         * modules/regex (Depends-on): Add mempcpy.
66205
66206 2007-01-31  Bruno Haible  <bruno@clisp.org>
66207
66208         New module description field 'Link'.
66209         * gnulib-tool (func_usage): Document --extract-link-directive.
66210         (sed_extract_prog): Recognize 'Link' directive.
66211         (func_get_link_directive): New function.
66212         (func_import): Show summary of link directives.
66213         Handle --extract-link-directive option.
66214         * modules/acl (Link): New section.
66215         * modules/clock-time (Link): New section.
66216         * modules/euidaccess (Link): New section.
66217         * modules/gettext (Link): New section.
66218         * modules/iconv (Link): New section.
66219         * modules/lock (Link): New section.
66220         * modules/nanosleep (Link): New section.
66221         * modules/readline (Link): New section.
66222
66223 2007-01-27  Bruno Haible  <bruno@clisp.org>
66224
66225         Enforce the use of gnulib modules for unportable <string.h> functions.
66226         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
66227         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
66228         (gl_HEADER_STRING_H_BODY): Require it.
66229         * lib/string_.h: If the gnulib module XYZ is not present, redefine
66230         the symbol XYZ to one that gives a link error.
66231         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
66232         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
66233         * modules/mempcpy (configure.ac): Likewise.
66234         * modules/memrchr (configure.ac): Likewise.
66235         * modules/stpcpy (configure.ac): Likewise.
66236         * modules/stpncpy (configure.ac): Likewise.
66237         * modules/strcase (configure.ac): Likewise.
66238         * modules/strcasestr (configure.ac): Likewise.
66239         * modules/strchrnul (configure.ac): Likewise.
66240         * modules/strdup (configure.ac): Likewise.
66241         * modules/strndup (configure.ac): Likewise.
66242         * modules/strnlen (configure.ac): Likewise.
66243         * modules/strpbrk (configure.ac): Likewise.
66244         * modules/strsep (configure.ac): Likewise.
66245         * modules/strstr (configure.ac): Likewise.
66246         * modules/strtok_r (configure.ac): Likewise.
66247
66248 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
66249
66250         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
66251
66252 2007-01-30  Jim Meyering  <jim@meyering.net>
66253
66254         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
66255
66256 2007-01-29  Bruno Haible  <bruno@clisp.org>
66257
66258         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
66259         * lib/execute.c: Likewise.
66260         * lib/pipe.c: Likewise.
66261         * lib/printf-args.h: Likewise.
66262         * lib/printf-args.c: Likewise.
66263         * lib/printf-parse.c: Likewise.
66264         * lib/vasnprintf.c: Likewise.
66265
66266 2007-01-29  Eric Blake  <ebb9@byu.net>
66267
66268         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
66269         declaration.
66270
66271 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
66272
66273         * lib/strptime.h (strptime): Use 'restrict' for args where
66274         POSIX requires this.
66275         * lib/strptime.c (strptime): Likewise.
66276         Change license notice from LGPL to GPL, since gnulib-tool will
66277         change this as needed.
66278         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
66279         defined.
66280         Include "strptime.h" first, to check interface.
66281         Do not #undef _LIBC and _NL_CURRENT.
66282         Do not include <stdlib.h>; no longer needed.
66283         Include "time_r.h" and declare ptime_locale_status
66284         only if _LIBC is not defined.
66285         (__P): Remove unused macro.
66286         (match_string): Bring back glibc version, but use it only if _LIBC
66287         is defined.
66288         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
66289         Remove unnecessary assertion and abort() call.
66290         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
66291         * m4/strptime.m4: Fix serial number comment.
66292         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
66293         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
66294         (Depends-on): Add time_r.
66295
66296 2007-01-29  Bruno Haible  <bruno@clisp.org>
66297
66298         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66299         strptime.
66300         * modules/strptime (Depends-on): Add stdbool.
66301         * lib/strptime.h: Include <time.h> always. Add comments.
66302
66303 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
66304
66305         * modules/strptime: New file.
66306         * lib/strptime.h: New file.
66307         * lib/strptime.c: New file.
66308         * m4/strptime.m4: New file.
66309
66310 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
66311
66312         * MODULES.html.sh: New module mpsort.
66313         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
66314
66315         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
66316         a circularity problem with HP-UX ia64 reported by Bob Proulx in
66317         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
66318         All uses changed.
66319         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
66320         All uses changed.
66321         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
66322         to _Restrict_.
66323         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
66324         the parameter matches the prototype.
66325
66326 2007-01-28  Jim Meyering  <jim@meyering.net>
66327
66328         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
66329         sys/time.h here, reverting that part of the previous patch:
66330         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
66331
66332 2007-01-28  Bruno Haible  <bruno@clisp.org>
66333
66334         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
66335         value of $(SYS_TIME_H).
66336         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
66337         remove it conditionally, too. [added by Jim Meyering]
66338         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
66339         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
66340         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
66341         GETTIMEOFDAY_REPLACEMENT to 1.
66342
66343 2007-01-28  Bruno Haible  <bruno@clisp.org>
66344
66345         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
66346         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
66347         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
66348         Set UNISTD_H instead of UNISTD_H2.
66349         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
66350
66351 2007-01-28  Bruno Haible  <bruno@clisp.org>
66352
66353         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
66354         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
66355
66356 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66357
66358         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
66359         (func_create_testdir): Ensure C locale for `grep' and `tr'
66360         character ranges.
66361         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
66362         ACLOCAL_AMFLAGS parsing state machine.
66363
66364 2007-01-27  Bruno Haible  <bruno@clisp.org>
66365
66366         * modules/unistr/base: Update.
66367
66368 2007-01-27  Bruno Haible  <bruno@clisp.org>
66369
66370         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
66371         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
66372         * modules/unistr/u32-mbtouc-unsafe: Renamed from
66373         modules/unistr/u32-mbtouc.
66374         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
66375         * lib/unistr.h: Update.
66376         * lib/linebreak.c: Update.
66377         * modules/unistr/u32-mbtouc: Renamed from
66378         modules/unistr/u32-mbtouc-safe.
66379         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
66380         * lib/unistr.h: Update.
66381         * lib/unistr/u32-to-u8.c: Update.
66382         * lib/unistr/u32-to-u16.c: Update.
66383
66384 2007-01-27  Bruno Haible  <bruno@clisp.org>
66385
66386         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
66387         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
66388         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
66389         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
66390         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
66391         * modules/unistr/u16-mbtouc-unsafe: Renamed from
66392         modules/unistr/u16-mbtouc.
66393         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
66394         * lib/unistr.h: Update.
66395         * lib/linebreak.c: Update.
66396         * modules/linebreak: Update.
66397         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
66398         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
66399         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
66400         * modules/unistr/u16-mbtouc: Renamed from
66401         modules/unistr/u16-mbtouc-safe.
66402         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
66403         * lib/unistr.h: Update.
66404         * lib/unistr/u16-to-u8.c: Update.
66405         * modules/unistr/u16-to-u8: Update.
66406         * lib/unistr/u16-to-u32.c: Update.
66407         * modules/unistr/u16-to-u32: Update.
66408
66409 2007-01-27  Bruno Haible  <bruno@clisp.org>
66410
66411         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
66412         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
66413         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
66414         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
66415         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
66416         * modules/unistr/u8-mbtouc-unsafe: Renamed from
66417         modules/unistr/u8-mbtouc.
66418         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
66419         * lib/unistr.h: Update.
66420         * lib/striconveh.c: Update.
66421         * modules/striconveh: Update.
66422         * lib/linebreak.c: Update.
66423         * modules/linebreak: Update.
66424         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
66425         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
66426         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
66427         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
66428         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
66429         * lib/unistr.h: Update.
66430         * lib/striconveh.c: Update.
66431         * modules/striconveh: Update.
66432         * lib/unistr/u8-to-u16.c: Update.
66433         * modules/unistr/u8-to-u16: Update.
66434         * lib/unistr/u8-to-u32.c: Update.
66435         * modules/unistr/u8-to-u32: Update.
66436
66437 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66438
66439         Sync from Libtool.
66440         * lib/argz.c: Do not include strings.h nor memory.h, include
66441         string.h unconditionally.  Patch by Simon Josefsson.
66442
66443 2007-01-27  Bruno Haible  <bruno@clisp.org>
66444
66445         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
66446         from gl_HEADER_STRING_H_BODY.
66447         (gl_HEADER_STRING_H_BODY): Require it.
66448         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
66449         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
66450         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
66451         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
66452         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66453         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
66454         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
66455         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
66456         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
66457         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
66458         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
66459         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
66460         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
66461         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
66462         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
66463
66464 2007-01-27  Bruno Haible  <bruno@clisp.org>
66465
66466         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
66467         check_PROGRAMS into noinst_PROGRAMS.
66468         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
66469         check_PROGRAMS in this case.
66470         (func_import): Set for_test to false.
66471         (func_create_testdir): Set for_test to true.
66472
66473 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
66474             Bruno Haible  <bruno@clisp.org>
66475
66476         * modules/strcasestr (Files): Remove lib/strcasestr.h.
66477         (Depends-on): Add string.
66478         (Includes): Use <string.h> instead of strcasestr.h.
66479         * modules/string (Makefile.am): Also substitute the value of
66480         REPLACE_STRCASESTR.
66481         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
66482         assume strcasestr is declared in <string.h> not <strings.h>. Also
66483         set REPLACE_STRCASESTR.
66484         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
66485         REPLACE_STRCASESTR.
66486         * lib/strcasestr.h: Remove file.
66487         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
66488         * lib/string_.h (strcasestr): New declaration.
66489
66490 2007-01-27  Bruno Haible  <bruno@clisp.org>
66491
66492         * lib/string_.h: Use 'extern'.
66493
66494 2007-01-27  Jim Meyering  <jim@meyering.net>
66495
66496         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
66497         of set-but-not-used local, "q".
66498
66499         * lib/mempcpy.c: Include <config.h> before <string.h>.
66500         This fixes a compilation error on HP-UX, due to the system's
66501         "restrict"-using mempcpy prototype.
66502
66503 2007-01-26  Bruno Haible  <bruno@clisp.org>
66504
66505         Small optimization.
66506         * lib/javacomp.c: Include c-strstr.h.
66507          (is_envjavac_gcj): Use c_strstr instead of strstr.
66508         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
66509
66510 2007-01-26  Bruno Haible  <bruno@clisp.org>
66511
66512         * MODULES.html.sh (Unicode string functions): Add the new modules.
66513
66514         * modules/uniconv/u32-strconv-to-locale: New file.
66515         * lib/uniconv/u32-strconv-to-locale.c: New file.
66516
66517         * modules/uniconv/u16-strconv-to-locale: New file.
66518         * lib/uniconv/u16-strconv-to-locale.c: New file.
66519
66520         * modules/uniconv/u8-strconv-to-locale: New file.
66521         * lib/uniconv/u8-strconv-to-locale.c: New file.
66522
66523         * modules/uniconv/u32-strconv-from-locale: New file.
66524         * lib/uniconv/u32-strconv-from-locale.c: New file.
66525
66526         * modules/uniconv/u16-strconv-from-locale: New file.
66527         * lib/uniconv/u16-strconv-from-locale.c: New file.
66528
66529         * modules/uniconv/u8-strconv-from-locale: New file.
66530         * lib/uniconv/u8-strconv-from-locale.c: New file.
66531
66532         * modules/uniconv/u32-strconv-to-enc: New file.
66533         * lib/uniconv/u32-strconv-to-enc.c: New file.
66534         * modules/uniconv/u32-strconv-to-enc-tests: New file.
66535         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
66536
66537         * modules/uniconv/u16-strconv-to-enc: New file.
66538         * lib/uniconv/u16-strconv-to-enc.c: New file.
66539         * lib/uniconv/u-strconv-to-enc.h: New file.
66540         * modules/uniconv/u16-strconv-to-enc-tests: New file.
66541         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
66542
66543         * modules/uniconv/u8-strconv-to-enc: New file.
66544         * lib/uniconv/u8-strconv-to-enc.c: New file.
66545         * modules/uniconv/u8-strconv-to-enc-tests: New file.
66546         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
66547
66548         * modules/uniconv/u32-strconv-from-enc: New file.
66549         * lib/uniconv/u32-strconv-from-enc.c: New file.
66550         * modules/uniconv/u32-strconv-from-enc-tests: New file.
66551         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
66552
66553         * modules/uniconv/u16-strconv-from-enc: New file.
66554         * lib/uniconv/u16-strconv-from-enc.c: New file.
66555         * modules/uniconv/u16-strconv-from-enc-tests: New file.
66556         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
66557
66558         * modules/uniconv/u8-strconv-from-enc: New file.
66559         * lib/uniconv/u8-strconv-from-enc.c: New file.
66560         * lib/uniconv/u-strconv-from-enc.h: New file.
66561         * modules/uniconv/u8-strconv-from-enc-tests: New file.
66562         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
66563
66564         * modules/uniconv/u32-conv-from-enc: New file.
66565         * lib/uniconv/u32-conv-from-enc.c: New file.
66566         * modules/uniconv/u32-conv-from-enc-tests: New file.
66567         * tests/uniconv/test-u32-conv-from-enc.c: New file.
66568
66569         * modules/uniconv/u16-conv-from-enc: New file.
66570         * lib/uniconv/u16-conv-from-enc.c: New file.
66571         * lib/uniconv/u-conv-from-enc.h: New file.
66572         * modules/uniconv/u16-conv-from-enc-tests: New file.
66573         * tests/uniconv/test-u16-conv-from-enc.c: New file.
66574
66575         * modules/uniconv/u8-conv-from-enc: New file.
66576         * lib/uniconv/u8-conv-from-enc.c: New file.
66577         * modules/uniconv/u8-conv-from-enc-tests: New file.
66578         * tests/uniconv/test-u8-conv-from-enc.c: New file.
66579
66580         * modules/uniconv/base: New file.
66581         * lib/uniconv.h: New file.
66582
66583 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
66584
66585         * doc/gnulib-tool.texi (Initial import): Update to match current
66586         behavior with strdup module.
66587         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
66588         * lib/memmem.h: Remove; all uses removed.  This is now done
66589         by <string.h>.
66590         * lib/mempcpy.h: Likewise.
66591         * lib/memrchr.h: Likewise.
66592         * lib/stpcpy.h: Likewise.
66593         * lib/stpncpy.h: Likewise.
66594         * lib/strcase.h: Likewise.
66595         * lib/strchrnul.h: Likewise.
66596         * lib/strdup.h: Likewise.
66597         * lib/strndup.h: Likewise.
66598         * lib/strnlen.h: Likewise.
66599         * lib/strpbrk.h: Likewise.
66600         * lib/strsep.h: Likewise.
66601         * lib/strstr.h: Likewise.
66602         * lib/strtok_r.h: Likewise.
66603         * lib/string_.h: New file.
66604         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
66605         Rely on <string.h> instead.
66606         * lib/canon-host.c: Likewise.
66607         * lib/chdir-long.c: Likewise.
66608         * lib/concatpath.c: Likewise.
66609         * lib/exclude.c: Likewise.
66610         * lib/fchdir.c: Likewise.
66611         * lib/getaddrinfo.c: Likewise.
66612         * lib/getcwd.c: Likewise.
66613         * lib/getsubopt.c: Likewise.
66614         * lib/glob.c: Likewise.
66615         * lib/hard-locale.c: Likewise.
66616         * lib/iconvme.c: Likewise.
66617         * lib/javacomp.c: Likewise.
66618         * lib/mempcpy.c: Likewise.
66619         * lib/memrchr.c: Likewise.
66620         * lib/regex_internal.h: Likewise.
66621         * lib/stpncpy.c: Likewise.
66622         * lib/strcasecmp.c: Likewise.
66623         * lib/strchrnul.c: Likewise.
66624         * lib/strdup.c: Likewise.
66625         * lib/striconv.c: Likewise.
66626         * lib/striconveh.c: Likewise.
66627         * lib/striconveha.c: Likewise.
66628         * lib/strncasecmp.c: Likewise.
66629         * lib/strndup.c: Likewise.
66630         * lib/strnlen.c: Likewise.
66631         * lib/strsep.c: Likewise.
66632         * lib/strstr.c: Likewise.
66633         * lib/strtok_r.c: Likewise.
66634         * lib/userspec.c: Likewise.
66635         * lib/w32spawn.h: Likewise.
66636         * lib/xstrndup.c: Likewise.
66637         * lib/mountlist.c (strstr): Remove decl.
66638         * m4/string_h.m4: New file.
66639         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
66640         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
66641         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
66642         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
66643         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
66644         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
66645         Set REPLACE_STRCASECMP if necessary.
66646         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
66647         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
66648         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
66649         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
66650         HAVE_DECL_STRDUP if necessary.
66651         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
66652         since gl_FUNC_STRNDUP does that now.
66653         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
66654         Check for decl here...
66655         (gl_PREREQ_STRNLEN): ... not here.
66656         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
66657         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
66658         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
66659         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
66660         necessary.
66661         * modules/string: New file.
66662         * modules/memmem (Files): Remove special-purpose include file.
66663         (Depends-on): Add string.
66664         (Include): Include <string.h>, not the removed file.
66665         * modules/mempcpy: Likewise.
66666         * modules/memrchr: Likewise.
66667         * modules/stpcpy: Likewise.
66668         * modules/stpncpy: Likewise.
66669         * modules/strcase: Likewise.
66670         * modules/strchrnul: Likewise.
66671         * modules/strdup: Likewise.
66672         * modules/strndup: Likewise.
66673         * modules/strnlen: Likewise.
66674         * modules/strpbrk: Likewise.
66675         * modules/strsep: Likewise.
66676         * modules/strstr: Likewise.
66677         * modules/strtok_r: Likewise.
66678         * tests/test-dirname.c: Don't include "strdup.h", since
66679         <string.h> now suffices.
66680         * tests/test-memmem.c: Don't include "memmem.h", since
66681         <string.h> now suffices.
66682
66683 2007-01-25  Bruno Haible  <bruno@clisp.org>
66684
66685         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
66686         *resultp is 0.
66687
66688         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
66689         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
66690         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
66691         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
66692
66693         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
66694         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
66695         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
66696         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
66697         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
66698         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
66699
66700 2007-01-24  Bruno Haible  <bruno@clisp.org>
66701
66702         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
66703         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
66704         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
66705         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
66706         gl_FUNC_FTS_CORE.
66707         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
66708         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
66709         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
66710         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
66711         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
66712         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
66713         gl_FUNC_FCHOWNAT.
66714         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
66715         gl_FUNC_STRFTIME.
66716         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
66717         Reported by Ralf Wildenhues.
66718
66719 2007-01-24  Bruno Haible  <bruno@clisp.org>
66720
66721         Drop AC_REQUIRE calls that are redundant with the module dependencies.
66722         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
66723         gl_GETADDRINFO.
66724         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
66725         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
66726         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
66727
66728 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
66729
66730         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
66731         Don't use 'exit'; just return from 'main'.
66732         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
66733
66734         * lib/fnmatch_.h: Readjust white space and comments to match
66735         glibc, to avoid spurious diffs.
66736
66737 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66738
66739         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
66740         2004-12-01 change by Jakub Jelinek, since this code won't compile
66741         if !LIBC.  Problem reported by Bob Proulx.
66742
66743 2007-01-23  Bruno Haible  <bruno@clisp.org>
66744
66745         * lib/striconveh.c: Include c-strcaseeq.h.
66746         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
66747         * modules/striconveh (Depends-on): Add c-strcaseeq.
66748
66749 2007-01-23  Bruno Haible  <bruno@clisp.org>
66750
66751         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
66752
66753         * modules/c-strcaseeq: New file.
66754         * lib/c-strcaseeq.h: New file.
66755
66756         * modules/streq: New file.
66757         * lib/streq.h: New file.
66758
66759 2007-01-23  Bruno Haible  <bruno@clisp.org>
66760
66761         * modules/striconveha-tests: New file.
66762         * tests/test-striconveha.c: New file.
66763
66764         * lib/striconveha.h: Include <stdbool.h>.
66765         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
66766         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
66767         (mem_iconveha_notranslit): Renamed from mem_iconveha.
66768         (mem_iconveha): New function.
66769         (str_iconveha_notranslit): Renamed from str_iconveha.
66770         (str_iconveha): New function.
66771         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
66772         c-strcase.
66773
66774 2007-01-23  Bruno Haible  <bruno@clisp.org>
66775
66776         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
66777         encodings without forgiving before trying any encoding with handler.
66778         (str_iconveha): Try all encodings without forgiving before trying any
66779         encoding with handler.
66780
66781 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66782
66783         Import the following changes from libc.
66784
66785         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
66786
66787         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
66788
66789         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
66790
66791         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
66792         normal_bracket label.
66793
66794         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
66795
66796         [BZ #361]
66797         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
66798         to normal_bracket after fetching the next character.
66799
66800 2007-01-22  Bruno Haible  <bruno@clisp.org>
66801
66802         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
66803         argument.
66804         * lib/striconveh.c (iconv_carefully_1): New function.
66805         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
66806         argument.
66807         (str_cd_iconveh): Update.
66808         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
66809         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
66810         * tests/test-striconveh.c (MAGIC): New macro.
66811         (new_offsets): New function.
66812         (main): Test call with and without offsets.
66813
66814 2007-01-22  Bruno Haible  <bruno@clisp.org>
66815
66816         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
66817         * modules/sys_select (Makefile.am): Likewise.
66818         * modules/sys_socket (Makefile.am): Likewise.
66819         * modules/sys_time (Makefile.am): Likewise.
66820
66821 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
66822
66823         * modules/gettimeofday (License): Change from GPL to LGPL, since
66824         gettimeofday is a library function.
66825
66826 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66827
66828         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
66829
66830 2007-01-21  Bruno Haible  <bruno@clisp.org>
66831
66832         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
66833
66834 2007-01-21  Bruno Haible  <bruno@clisp.org>
66835
66836         * modules/striconveha: New file.
66837         * lib/striconveha.h: New file.
66838         * lib/striconveha.c: New file.
66839         * MODULES.html.sh (Internationalization functions): Add striconveha.
66840         * lib/striconv.c (str_iconv): Optimize the case of an empty input
66841         string.
66842         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
66843
66844 2007-01-21  Bruno Haible  <bruno@clisp.org>
66845
66846         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
66847         * lib/striconveh.c (str_iconveh): Likewise.
66848
66849 2007-01-21  Bruno Haible  <bruno@clisp.org>
66850
66851         * lib/striconveh.h (mem_iconveh): New declaration.
66852         * lib/striconveh.c (mem_iconveh): New function.
66853         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
66854
66855 2007-01-21  Bruno Haible  <bruno@clisp.org>
66856
66857         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
66858
66859         * lib/striconveh.h (mem_cd_iconveh): Change specification.
66860         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
66861         original result buffer.
66862         (str_cd_iconveh): Update.
66863         * tests/test-striconveh.c (main): Update.
66864
66865         * lib/striconv.h (mem_cd_iconv): Change specification.
66866         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
66867         result buffer.
66868         (str_cd_iconv): Update.
66869         * tests/test-striconv.c (main): Update.
66870
66871 2007-01-21  Bruno Haible  <bruno@clisp.org>
66872
66873         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
66874
66875 2007-01-20  Jim Meyering  <jim@meyering.net>
66876
66877         * lib/userspec.c (parse_with_separator): If a user or group string
66878         starts with "+", skip the corresponding name-to-ID look-up, since
66879         such a look-up must fail: user and group names may not include "+".
66880
66881 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
66882
66883         * lib/poll.c: Include sys/time.h and time.h unconditionally,
66884         since we now assume the sys_time module.
66885         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
66886         check for sys/time.h; no longer needed.
66887         * modules/poll (Depends-on): Depend on sys_time.
66888
66889 2007-01-18  Bruno Haible  <bruno@clisp.org>
66890
66891         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
66892         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
66893
66894         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
66895         gettimeofday.
66896
66897         * tests/test-gettimeofday.c: Include <time.h>.
66898         (dummy): Remove variable.
66899
66900         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
66901         gl_HEADER_SYS_TIME_H.
66902         (gl_HEADER_SYS_TIME_H): New macro.
66903
66904         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
66905         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66906         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
66907         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
66908         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66909         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
66910         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
66911         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66912         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
66913         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
66914         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66915
66916         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
66917         last change; it caused a compilation error when cross-compiling to
66918         Cygwin.
66919
66920 2007-01-18  Jim Meyering  <jim@meyering.net>
66921
66922         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
66923         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
66924         than the race-prone "test -d sys || mkdir sys".
66925         (configure.ac): Use AC_PROG_MKDIR_P.
66926         * modules/sys_select: Likewise.
66927         * modules/sys_socket: Likewise.
66928         * modules/sys_time: Likewise.
66929
66930 2007-01-18  Eric Blake  <ebb9@byu.net>
66931
66932         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
66933         replace gettimeofday.
66934         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
66935         name, to avoid infinite recursion.
66936
66937 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
66938
66939         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
66940         module sys_time.
66941         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
66942         assume timespec.h defines struct timeval.
66943         * lib/settime.c: Likewise.
66944         * lib/utimens.c: Likewise.
66945         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
66946         since we now assume the gettimeofday module.
66947         * lib/tempname.c (__gen_tempname): Likewise.
66948         * lib/gettimeofday.h: Remove.
66949         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
66950         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
66951         Include <time.h>, for 'time()'.
66952         (localtime_buffer_addr): Also use this workaround if
66953         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
66954         to simplify the uses.  All uses changed.
66955         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
66956         that #undef is inside {}, and 'const' follows type name consistently.
66957         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
66958         (gettimeofday): Do not use the maximum possible value for
66959         tv->tv_usec, since that might break usages other than ls.c.
66960         Instead, we'll leave ls.c alone.  This undoes today's patch
66961         by Bruno.  Add a compile-time warning for 1s-clock resolution;
66962         we've never observed the problem but might as well keep the
66963         canary.
66964         * lib/nanosleep.c: Include timespec.h first, for interface check.
66965         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
66966         now assume the sys_time module.
66967         * lib/tempname.c: Likewise.
66968         * lib/timespec.h: Likewise.
66969         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
66970         needed.
66971         * lib/strftime.c: Likewise.
66972         * lib/timespec.h: Likewise.
66973         * lib/posixtm.c: Include posixtm.h first, for interface check.
66974         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
66975         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
66976         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
66977         * lib/sys_time_.h: New file.
66978         * lib/timespec.h (struct timespec): Use long int, not long.
66979         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
66980         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
66981         Remove obsolescent call to AC_HEADER_TIME.
66982         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
66983         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
66984         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
66985         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
66986         Likewise.
66987         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
66988         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
66989         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
66990         into the sys_time module.  Check for gettimeofday just once.
66991         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
66992         for gettimeofday signature to just check the signature.  Merely
66993         compile it, since linking doesn't test signature.  Improve test for
66994         whether gettimeofday.o is actually needed.
66995         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
66996         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
66997         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
66998         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66999         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
67000         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
67001         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
67002         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
67003         than worrying about sys/time.h.
67004         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
67005         Don't bother worrying about TIME_WITH_SYS_TIME.
67006         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
67007         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
67008         * m4/sys_time_h.m4: New file.
67009         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
67010         Don't include sys/time.h.  Return from main rather than exiting.
67011         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
67012         all uses changed.
67013         * modules/gethrxtime (Depends-on): Add sys_time.
67014         * modules/gettime (Depends-on): Likewise.
67015         * modules/gettimeofday (Depends-on): Likewise.
67016         * modules/nanosleep (Depends-on): Likewise.
67017         * modules/settime (Depends-on): Likewise.
67018         * modules/tempname (Depends-on): Likewise.
67019         * modules/utimens (Depends-on): Likewise.
67020         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
67021         (Include): Change back to <sys/time.h>.
67022         (Maintainer): Add self.
67023         * modules/sys_time: New file.
67024         * modules/tempname (Depends-on): Add gettimeofday.
67025         * tests/test-gettimeofday.c: Include <sys/time.h>
67026         rather than gettimeofday.h.
67027
67028 2007-01-17  Bruno Haible  <bruno@clisp.org>
67029
67030         * gnulib-tool (func_get_license): Revert last patch. Instead, let
67031         the license default to GPL.
67032         (func_create_testdir): Don't complain if a module is LGPL and its
67033         tests module depends on GPLed modules.
67034
67035 2007-01-17  Bruno Haible  <bruno@clisp.org>
67036
67037         * lib/gettimeofday.c (gettimeofday): Add code for the case
67038         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
67039         maximum possible value for tv->tv_usec, rather than the minimum one.
67040
67041 2005-10-08  Martin Lambers  <marlam@marlam.de>
67042 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
67043 2007-01-16  Bruno Haible  <bruno@clisp.org>
67044
67045         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
67046         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
67047         gl_FUNC_GETTIMEOFDAY.
67048         (Include): Add gettimeofday.h.
67049         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
67050         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
67051         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
67052         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
67053         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
67054         * lib/gettimeofday.h: New file.
67055         * lib/gettimeofday.c: Include <sys/timeb.h>.
67056         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
67057         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67058         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
67059         fall back on time().
67060
67061         * tests/test-gettimeofday.c: New file.
67062         * modules/gettimeofday-tests: New file.
67063
67064 2007-01-16  Eric Blake  <ebb9@byu.net>
67065
67066         * modules/fnmatch (Depends-on): Depend on wchar.
67067         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
67068         * m4/fnmatch.m4: Likewise.
67069         * modules/mbchar (Makefile.am): Assume <wchar.h>.
67070         * m4/mbchar.m4: Likewise.
67071         * modules/mbswidth (Depends-on): Depend on wchar.
67072         * lib/mbswidth.c: Assume <wchar.h>.
67073         * m4/mbswidth.m4: Likewise.
67074         * modules/quotearg (Depends-on): Depend on wchar.
67075         * lib/quotearg.c: Assume <wchar.h>.
67076         * m4/quotearg.m4: Likewise.
67077         * modules/regex (Depends-on): Depend on wchar.
67078         * lib/regex_internal.h: Assume <wchar.h>.
67079         * m4/regex.m4: Likewise.
67080         * modules/stdint (Depends-on): Depend on wchar.
67081         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
67082         * m4/stdint.m4: Likewise.
67083         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
67084         * modules/strftime (Depends-on): Depend on wchar.
67085         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
67086         * modules/strtol (Depends-on): Depend on wchar.
67087         * lib/strtol.c: Assume <wchar.h>.
67088         * modules/wcwidth (Depends-on): Depend on wchar.
67089         * lib/wcwidth.h: Assume <wchar.h>.
67090         * m4/wcwidth.m4: Likewise.
67091
67092 2007-01-16  Bruno Haible  <bruno@clisp.org>
67093
67094         * modules/csharpexec-script: New, created from...
67095         * modules/csharpexec: ... this.
67096
67097 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
67098
67099         * modules/javaexec-script: New, created from...
67100         * modules/javaexec: ... this.
67101
67102 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67103
67104         * modules/poll (Dependencies): Add sys_select.
67105
67106 2007-01-15  Jim Meyering  <jim@meyering.net>
67107
67108         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
67109         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
67110         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
67111         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
67112
67113 2007-01-15  Bruno Haible  <bruno@clisp.org>
67114
67115         * modules/striconveh: New file.
67116         * lib/striconveh.h: New file.
67117         * lib/striconveh.c: New file.
67118         * MODULES.html.sh (Internationalization functions): Add striconveh.
67119
67120         * modules/striconveh-tests: New file.
67121         * tests/test-striconveh.c: New file.
67122
67123 2007-01-15  Bruno Haible  <bruno@clisp.org>
67124
67125         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
67126         not from GNU libiconv or GNU libc.
67127
67128 2007-01-15  Bruno Haible  <bruno@clisp.org>
67129
67130         * doc/gnulib-intro.texi (Copyright): Explain the different license
67131         terms for module descriptions, autoconf macros, tests, documentation.
67132
67133 2007-01-14  Bruno Haible  <bruno@clisp.org>
67134
67135         * modules/striconv-tests: New file.
67136         * tests/test-striconv.c: New file.
67137
67138 2007-01-14  Bruno Haible  <bruno@clisp.org>
67139
67140         * modules/iconv-tests: New file.
67141         * tests/test-iconv.c: New file.
67142
67143 2007-01-14  Bruno Haible  <bruno@clisp.org>
67144
67145         * gnulib-tool (func_get_license): For test modules, use the license of
67146         the main module.
67147
67148 2007-01-14  Bruno Haible  <bruno@clisp.org>
67149
67150         * modules/iconv (Include): Clarify that <iconv.h> can only be included
67151         if iconv is found to exist.
67152
67153 2007-01-14  Bruno Haible  <bruno@clisp.org>
67154
67155         * modules/c-ctype-tests: New file.
67156         * tests/test-c-ctype.c: New file.
67157
67158 2007-01-14  Bruno Haible  <bruno@clisp.org>
67159
67160         * modules/binary-io-tests: New file.
67161         * tests/test-binary-io.sh: New file.
67162         * tests/test-binary-io.c: New file.
67163
67164 2007-01-14  Bruno Haible  <bruno@clisp.org>
67165
67166         * modules/array-oset-tests: New file.
67167         * tests/test-array_oset.c: New file.
67168
67169 2007-01-14  Bruno Haible  <bruno@clisp.org>
67170
67171         * modules/array-list-tests: New file.
67172         * tests/test-array_list.c: New file.
67173
67174 2007-01-14  Bruno Haible  <bruno@clisp.org>
67175
67176         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
67177         and make.
67178         Reported by Simon Josefsson in
67179         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
67180
67181 2007-01-14  Bruno Haible  <bruno@clisp.org>
67182
67183         * modules/allocsa-tests: New file.
67184         * tests/test-allocsa.c: New file.
67185
67186 2007-01-14  Bruno Haible  <bruno@clisp.org>
67187
67188         * modules/fchdir (Depends-on): Add absolute-header.
67189         * modules/unistd (Depends-on): Likewise.
67190
67191 2006-12-30  Bruno Haible  <bruno@clisp.org>
67192
67193         * modules/fchdir: New file.
67194         * modules/unistd (Files): Add lib/unistd_.h.
67195         (Makefile.am): Generate unistd.h from unistd_.h.
67196         * lib/fchdir.c: New file.
67197         * lib/dirent_.h: New file.
67198         * lib/unistd_.h: New file.
67199         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
67200         * m4/fchdir.m4: New file.
67201         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
67202         (gl_HEADER_UNISTD): Invoke it.
67203         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
67204         function.
67205         * lib/backupfile.c (opendir, closedir): Undefine.
67206         * lib/chown.c (open, close): Undefine.
67207         * lib/clean-temp.c (open, close): Undefine.
67208         * lib/copy-file.c (open, close): Undefine.
67209         * lib/execute.c (open, close): Undefine.
67210         * lib/fsusage.c (open, close): Undefine.
67211         * lib/gc-gnulib.c (open, close): Undefine.
67212         * lib/getcwd.c (opendir, closedir): Undefine.
67213         * lib/glob.c (opendir, closedir): Undefine.
67214         * lib/javacomp.c (open, close): Undefine.
67215         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
67216         * lib/openat-proc.c (open, close): Undefine.
67217         * lib/pagealign_alloc.c (open, close): Undefine.
67218         * lib/pipe.c (open, close): Undefine.
67219         * lib/progreloc.c (open, close): Undefine.
67220         * lib/savedir.c (opendir, closedir): Undefine.
67221         * lib/utime.c (open, close): Undefine.
67222         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
67223
67224 2007-01-10  Bruno Haible  <bruno@clisp.org>
67225
67226         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
67227
67228 2007-01-12  Eric Blake  <ebb9@byu.net>
67229
67230         Provide a robust <wchar.h>.  Further simplifications are now
67231         possible in other modules, but not included here.
67232         * modules/wchar: New module.
67233         * m4/wchar.m4: New file.
67234         * lib/wchar_.h: Likewise.
67235         * modules/mbchar (Depends-on): Depend on wchar, as the first use
67236         of the new module.
67237         * MODULES.html.sh (Extended multibyte and wide character utilities):
67238         New section.
67239
67240 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
67241
67242         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
67243         to a reasonable default for memory allocation.
67244         (xreadlink): Don't allocate a huge buffer, to work around a buggy
67245         file system that reports garbage st_size values for symlinks.
67246         Problem reported by Liyang Hu.
67247
67248 2007-01-11  Simon Josefsson  <simon@josefsson.org>
67249
67250         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
67251         Emacs .#* auto-save files).
67252
67253 2007-01-11  Bruno Haible  <bruno@clisp.org>
67254
67255         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
67256         directory.
67257
67258 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
67259
67260         Use @...@ consistently in lib/wctype_.h.
67261         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
67262         on it being set to 1 or 0.
67263         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
67264         go back to AC_SUBSTing it.
67265         * modules/wctype (Makefile.am): Undo previous change.
67266
67267 2007-01-10  Eric Blake  <ebb9@byu.net>
67268
67269         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
67270         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
67271         * modules/wctype (Makefile.am): Likewise.
67272         Reported by Chris McGuire.
67273
67274 2007-01-10  Jim Meyering  <jim@meyering.net>
67275
67276         fts.c: a small readability/maintainability improvement
67277         * lib/fts.c (fts_read): Make this code slightly more readable and
67278         maintainable by hoisting the "sp->fts_cur = p" assignments to
67279         immediately follow the statements that set P.  Derived from
67280         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
67281
67282 2007-01-10  Eric Blake  <ebb9@byu.net>
67283
67284         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
67285         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
67286         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67287         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
67288         Reported by Chris McGuire.
67289
67290 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67291
67292         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
67293         in sed script.
67294
67295 2007-01-09  Bruno Haible  <bruno@clisp.org>
67296
67297         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
67298         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
67299         variables.
67300         (func_module): Use them.
67301
67302 2007-01-09  Bruno Haible  <bruno@clisp.org>
67303
67304         * modules/unistr/base: New file.
67305         * lib/unistr.h: New file.
67306
67307         * modules/unistr/u8-to-u16: New file.
67308         * lib/unistr/u8-to-u16.c: New file.
67309
67310         * modules/unistr/u8-to-u32: New file.
67311         * lib/unistr/u8-to-u32.c: New file.
67312
67313         * modules/unistr/u16-to-u8: New file.
67314         * lib/unistr/u16-to-u8.c: New file.
67315
67316         * modules/unistr/u16-to-u32: New file.
67317         * lib/unistr/u16-to-u32.c: New file.
67318
67319         * modules/unistr/u32-to-u8: New file.
67320         * lib/unistr/u32-to-u8.c: New file.
67321
67322         * modules/unistr/u32-to-u16: New file.
67323         * lib/unistr/u32-to-u16.c: New file.
67324
67325         * modules/unistr/u8-check: New file.
67326         * modules/unistr/u16-check: New file.
67327         * modules/unistr/u32-check: New file.
67328         * lib/unistr/u8-check.c: New file.
67329         * lib/unistr/u16-check.c: New file.
67330         * lib/unistr/u32-check.c: New file.
67331
67332         * modules/unistr/u8-chr: New file.
67333         * modules/unistr/u16-chr: New file.
67334         * modules/unistr/u32-chr: New file.
67335         * lib/unistr/u8-chr.c: New file.
67336         * lib/unistr/u16-chr.c: New file.
67337         * lib/unistr/u32-chr.c: New file.
67338
67339         * modules/unistr/u8-cmp: New file.
67340         * modules/unistr/u16-cmp: New file.
67341         * modules/unistr/u32-cmp: New file.
67342         * lib/unistr/u8-cmp.c: New file.
67343         * lib/unistr/u16-cmp.c: New file.
67344         * lib/unistr/u32-cmp.c: New file.
67345
67346         * modules/unistr/u8-cpy: New file.
67347         * modules/unistr/u16-cpy: New file.
67348         * modules/unistr/u32-cpy: New file.
67349         * lib/unistr/u8-cpy.c: New file.
67350         * lib/unistr/u16-cpy.c: New file.
67351         * lib/unistr/u32-cpy.c: New file.
67352         * lib/unistr/u-cpy.h: New file.
67353
67354         * modules/unistr/u8-cpy-alloc: New file.
67355         * modules/unistr/u16-cpy-alloc: New file.
67356         * modules/unistr/u32-cpy-alloc: New file.
67357         * lib/unistr/u8-cpy-alloc.c: New file.
67358         * lib/unistr/u16-cpy-alloc.c: New file.
67359         * lib/unistr/u32-cpy-alloc.c: New file.
67360         * lib/unistr/u-cpy-alloc.h: New file.
67361
67362         * modules/unistr/u8-endswith: New file.
67363         * modules/unistr/u16-endswith: New file.
67364         * modules/unistr/u32-endswith: New file.
67365         * lib/unistr/u8-endswith.c: New file.
67366         * lib/unistr/u16-endswith.c: New file.
67367         * lib/unistr/u32-endswith.c: New file.
67368         * lib/unistr/u-endswith.h: New file.
67369
67370         * modules/unistr/u8-mblen: New file.
67371         * modules/unistr/u16-mblen: New file.
67372         * modules/unistr/u32-mblen: New file.
67373         * lib/unistr/u8-mblen.c: New file.
67374         * lib/unistr/u16-mblen.c: New file.
67375         * lib/unistr/u32-mblen.c: New file.
67376
67377         * modules/unistr/u8-mbtouc: New file.
67378         * modules/unistr/u16-mbtouc: New file.
67379         * modules/unistr/u32-mbtouc: New file.
67380         * lib/unistr/u8-mbtouc.c: New file.
67381         * lib/unistr/u16-mbtouc.c: New file.
67382         * lib/unistr/u32-mbtouc.c: New file.
67383
67384         * modules/unistr/u8-mbtouc-safe: New file.
67385         * modules/unistr/u16-mbtouc-safe: New file.
67386         * modules/unistr/u32-mbtouc-safe: New file.
67387         * lib/unistr/u8-mbtouc-safe.c: New file.
67388         * lib/unistr/u16-mbtouc-safe.c: New file.
67389         * lib/unistr/u32-mbtouc-safe.c: New file.
67390
67391         * modules/unistr/u8-move: New file.
67392         * modules/unistr/u16-move: New file.
67393         * modules/unistr/u32-move: New file.
67394         * lib/unistr/u8-move.c: New file.
67395         * lib/unistr/u16-move.c: New file.
67396         * lib/unistr/u32-move.c: New file.
67397         * lib/unistr/u-move.h: New file.
67398
67399         * modules/unistr/u8-next: New file.
67400         * modules/unistr/u16-next: New file.
67401         * modules/unistr/u32-next: New file.
67402         * lib/unistr/u8-next.c: New file.
67403         * lib/unistr/u16-next.c: New file.
67404         * lib/unistr/u32-next.c: New file.
67405
67406         * modules/unistr/u8-prev: New file.
67407         * modules/unistr/u16-prev: New file.
67408         * modules/unistr/u32-prev: New file.
67409         * lib/unistr/u8-prev.c: New file.
67410         * lib/unistr/u16-prev.c: New file.
67411         * lib/unistr/u32-prev.c: New file.
67412
67413         * modules/unistr/u8-set: New file.
67414         * modules/unistr/u16-set: New file.
67415         * modules/unistr/u32-set: New file.
67416         * lib/unistr/u8-set.c: New file.
67417         * lib/unistr/u16-set.c: New file.
67418         * lib/unistr/u32-set.c: New file.
67419         * lib/unistr/u-set.h: New file.
67420
67421         * modules/unistr/u8-startswith: New file.
67422         * modules/unistr/u16-startswith: New file.
67423         * modules/unistr/u32-startswith: New file.
67424         * lib/unistr/u8-startswith.c: New file.
67425         * lib/unistr/u16-startswith.c: New file.
67426         * lib/unistr/u32-startswith.c: New file.
67427         * lib/unistr/u-startswith.h: New file.
67428
67429         * modules/unistr/u8-stpcpy: New file.
67430         * modules/unistr/u16-stpcpy: New file.
67431         * modules/unistr/u32-stpcpy: New file.
67432         * lib/unistr/u8-stpcpy.c: New file.
67433         * lib/unistr/u16-stpcpy.c: New file.
67434         * lib/unistr/u32-stpcpy.c: New file.
67435         * lib/unistr/u-stpcpy.h: New file.
67436
67437         * modules/unistr/u8-stpncpy: New file.
67438         * modules/unistr/u16-stpncpy: New file.
67439         * modules/unistr/u32-stpncpy: New file.
67440         * lib/unistr/u8-stpncpy.c: New file.
67441         * lib/unistr/u16-stpncpy.c: New file.
67442         * lib/unistr/u32-stpncpy.c: New file.
67443         * lib/unistr/u-stpncpy.h: New file.
67444
67445         * modules/unistr/u8-strcat: New file.
67446         * modules/unistr/u16-strcat: New file.
67447         * modules/unistr/u32-strcat: New file.
67448         * lib/unistr/u8-strcat.c: New file.
67449         * lib/unistr/u16-strcat.c: New file.
67450         * lib/unistr/u32-strcat.c: New file.
67451         * lib/unistr/u-strcat.h: New file.
67452
67453         * modules/unistr/u8-strchr: New file.
67454         * modules/unistr/u16-strchr: New file.
67455         * modules/unistr/u32-strchr: New file.
67456         * lib/unistr/u8-strchr.c: New file.
67457         * lib/unistr/u16-strchr.c: New file.
67458         * lib/unistr/u32-strchr.c: New file.
67459
67460         * modules/unistr/u8-strcmp: New file.
67461         * modules/unistr/u16-strcmp: New file.
67462         * modules/unistr/u32-strcmp: New file.
67463         * lib/unistr/u8-strcmp.c: New file.
67464         * lib/unistr/u16-strcmp.c: New file.
67465         * lib/unistr/u32-strcmp.c: New file.
67466
67467         * modules/unistr/u8-strcpy: New file.
67468         * modules/unistr/u16-strcpy: New file.
67469         * modules/unistr/u32-strcpy: New file.
67470         * lib/unistr/u8-strcpy.c: New file.
67471         * lib/unistr/u16-strcpy.c: New file.
67472         * lib/unistr/u32-strcpy.c: New file.
67473         * lib/unistr/u-strcpy.h: New file.
67474
67475         * modules/unistr/u8-strcspn: New file.
67476         * modules/unistr/u16-strcspn: New file.
67477         * modules/unistr/u32-strcspn: New file.
67478         * lib/unistr/u8-strcspn.c: New file.
67479         * lib/unistr/u16-strcspn.c: New file.
67480         * lib/unistr/u32-strcspn.c: New file.
67481         * lib/unistr/u-strcspn.h: New file.
67482
67483         * modules/unistr/u8-strdup: New file.
67484         * modules/unistr/u16-strdup: New file.
67485         * modules/unistr/u32-strdup: New file.
67486         * lib/unistr/u8-strdup.c: New file.
67487         * lib/unistr/u16-strdup.c: New file.
67488         * lib/unistr/u32-strdup.c: New file.
67489         * lib/unistr/u-strdup.h: New file.
67490
67491         * modules/unistr/u8-strlen: New file.
67492         * modules/unistr/u16-strlen: New file.
67493         * modules/unistr/u32-strlen: New file.
67494         * lib/unistr/u8-strlen.c: New file.
67495         * lib/unistr/u16-strlen.c: New file.
67496         * lib/unistr/u32-strlen.c: New file.
67497         * lib/unistr/u-strlen.h: New file.
67498
67499         * modules/unistr/u8-strmblen: New file.
67500         * modules/unistr/u16-strmblen: New file.
67501         * modules/unistr/u32-strmblen: New file.
67502         * lib/unistr/u8-strmblen.c: New file.
67503         * lib/unistr/u16-strmblen.c: New file.
67504         * lib/unistr/u32-strmblen.c: New file.
67505
67506         * modules/unistr/u8-strmbtouc: New file.
67507         * modules/unistr/u16-strmbtouc: New file.
67508         * modules/unistr/u32-strmbtouc: New file.
67509         * lib/unistr/u8-strmbtouc.c: New file.
67510         * lib/unistr/u16-strmbtouc.c: New file.
67511         * lib/unistr/u32-strmbtouc.c: New file.
67512
67513         * modules/unistr/u8-strncat: New file.
67514         * modules/unistr/u16-strncat: New file.
67515         * modules/unistr/u32-strncat: New file.
67516         * lib/unistr/u8-strncat.c: New file.
67517         * lib/unistr/u16-strncat.c: New file.
67518         * lib/unistr/u32-strncat.c: New file.
67519         * lib/unistr/u-strncat.h: New file.
67520
67521         * modules/unistr/u8-strncmp: New file.
67522         * modules/unistr/u16-strncmp: New file.
67523         * modules/unistr/u32-strncmp: New file.
67524         * lib/unistr/u8-strncmp.c: New file.
67525         * lib/unistr/u16-strncmp.c: New file.
67526         * lib/unistr/u32-strncmp.c: New file.
67527
67528         * modules/unistr/u8-strncpy: New file.
67529         * modules/unistr/u16-strncpy: New file.
67530         * modules/unistr/u32-strncpy: New file.
67531         * lib/unistr/u8-strncpy.c: New file.
67532         * lib/unistr/u16-strncpy.c: New file.
67533         * lib/unistr/u32-strncpy.c: New file.
67534         * lib/unistr/u-strncpy.h: New file.
67535
67536         * modules/unistr/u8-strnlen: New file.
67537         * modules/unistr/u16-strnlen: New file.
67538         * modules/unistr/u32-strnlen: New file.
67539         * lib/unistr/u8-strnlen.c: New file.
67540         * lib/unistr/u16-strnlen.c: New file.
67541         * lib/unistr/u32-strnlen.c: New file.
67542         * lib/unistr/u-strnlen.h: New file.
67543
67544         * modules/unistr/u8-strpbrk: New file.
67545         * modules/unistr/u16-strpbrk: New file.
67546         * modules/unistr/u32-strpbrk: New file.
67547         * lib/unistr/u8-strpbrk.c: New file.
67548         * lib/unistr/u16-strpbrk.c: New file.
67549         * lib/unistr/u32-strpbrk.c: New file.
67550         * lib/unistr/u-strpbrk.h: New file.
67551
67552         * modules/unistr/u8-strrchr: New file.
67553         * modules/unistr/u16-strrchr: New file.
67554         * modules/unistr/u32-strrchr: New file.
67555         * lib/unistr/u8-strrchr.c: New file.
67556         * lib/unistr/u16-strrchr.c: New file.
67557         * lib/unistr/u32-strrchr.c: New file.
67558
67559         * modules/unistr/u8-strspn: New file.
67560         * modules/unistr/u16-strspn: New file.
67561         * modules/unistr/u32-strspn: New file.
67562         * lib/unistr/u8-strspn.c: New file.
67563         * lib/unistr/u16-strspn.c: New file.
67564         * lib/unistr/u32-strspn.c: New file.
67565         * lib/unistr/u-strspn.h: New file.
67566
67567         * modules/unistr/u8-strstr: New file.
67568         * modules/unistr/u16-strstr: New file.
67569         * modules/unistr/u32-strstr: New file.
67570         * lib/unistr/u8-strstr.c: New file.
67571         * lib/unistr/u16-strstr.c: New file.
67572         * lib/unistr/u32-strstr.c: New file.
67573         * lib/unistr/u-strstr.h: New file.
67574
67575         * modules/unistr/u8-strtok: New file.
67576         * modules/unistr/u16-strtok: New file.
67577         * modules/unistr/u32-strtok: New file.
67578         * lib/unistr/u8-strtok.c: New file.
67579         * lib/unistr/u16-strtok.c: New file.
67580         * lib/unistr/u32-strtok.c: New file.
67581         * lib/unistr/u-strtok.h: New file.
67582
67583         * modules/unistr/u8-uctomb: New file.
67584         * modules/unistr/u16-uctomb: New file.
67585         * modules/unistr/u32-uctomb: New file.
67586         * lib/unistr/u8-uctomb.c: New file.
67587         * lib/unistr/u16-uctomb.c: New file.
67588         * lib/unistr/u32-uctomb.c: New file.
67589
67590         * MODULES.html.sh (Unicode string functions): Add the new modules.
67591
67592 2007-01-08  Bruno Haible  <bruno@clisp.org>
67593
67594         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
67595         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
67596         subdirectories.
67597
67598 2007-01-08  Karl Berry  <karl@gnu.org>
67599
67600         * doc/error.texi: mention that main() fns must set program_name
67601         when progname is used.
67602
67603 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
67604
67605         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
67606         WCTYPE_H is empty, for the benefit of builds from non-distclean
67607         directories.  Problem reported by Eric Blake in
67608         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
67609
67610 2007-01-08  Bruno Haible  <bruno@clisp.org>
67611
67612         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
67613         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
67614         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
67615         PROVIDE_CANONICALIZE_FILENAME_MODE.
67616         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
67617
67618 2007-01-08  Bruno Haible  <bruno@clisp.org>
67619
67620         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
67621         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
67622         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
67623         * lib/fts.c: Likewise.
67624         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
67625
67626 2006-12-25  Bruno Haible  <bruno@clisp.org>
67627
67628         * modules/utf8-ucs4-safe: New file.
67629         * lib/utf8-ucs4-safe.h: New file.
67630         * lib/unistr/utf8-ucs4-safe.c: New file.
67631
67632         * modules/utf16-ucs4-safe: New file.
67633         * lib/utf16-ucs4-safe.h: New file.
67634         * lib/unistr/utf16-ucs4-safe.c: New file.
67635
67636         * MODULES.html.sh (Unicode string functions): Add the new modules.
67637
67638 2007-01-08  Bruno Haible  <bruno@clisp.org>
67639
67640         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
67641         (Depends-on): Add unitypes.
67642         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
67643         (u8_mbtouc_aux): Move out to separate file.
67644         (u8_mbtouc): Use ucs4_t, uint8_t types.
67645         * lib/unistr/utf8-ucs4.c: New file.
67646
67647         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
67648         (Depends-on): Add unitypes.
67649         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
67650         (u16_mbtouc_aux): Move out to separate file.
67651         (u16_mbtouc): Use ucs4_t, uint16_t types.
67652         * lib/unistr/utf16-ucs4.c: New file.
67653
67654         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
67655         (Depends-on): Add unitypes.
67656         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
67657         (u8_uctomb_aux): Move out to separate file.
67658         (u8_uctomb): Use ucs4_t, uint8_t types.
67659         * lib/unistr/ucs4-utf8.c: New file.
67660
67661         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
67662         (Depends-on): Add unitypes.
67663         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
67664         (u16_uctomb_aux): Move out to separate file.
67665         (u16_uctomb): Use ucs4_t, uint16_t types.
67666         * lib/unistr/ucs4-utf16.c: New file.
67667
67668 2006-12-25  Bruno Haible  <bruno@clisp.org>
67669
67670         * modules/unitypes: New file.
67671         * lib/unitypes.h: New file.
67672         * MODULES.html.sh (func_all_modules): New section "Unicode string
67673         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
67674         this section. Add unitypes.
67675
67676 2007-01-08  Bruno Haible  <bruno@clisp.org>
67677
67678         Avoid variable names that conflict with those from libtool.
67679         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
67680         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
67681         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
67682         library_names_spec to acl_library_names_spec, hardcode_* to
67683         acl_hardcode_*.
67684         Reported by Ralf Wildenhues.
67685
67686 2007-01-08  Bruno Haible  <bruno@clisp.org>
67687
67688         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
67689         definition.
67690         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
67691         definition.
67692         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
67693         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
67694         definition.
67695         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
67696         definition.
67697         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
67698         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
67699         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
67700         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
67701         definition.
67702         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
67703         definition.
67704         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
67705         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
67706         GC_USE_<algorithm>.
67707         * lib/gc-libgcrypt.c: Likewise.
67708         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
67709         * modules/gc-arctwo (configure.ac): Likewise.
67710         * modules/gc-des (configure.ac): Likewise.
67711         * modules/gc-hmac-md5 (configure.ac): Likewise.
67712         * modules/gc-hmac-sha1 (configure.ac): Likewise.
67713         * modules/gc-md2 (configure.ac): Likewise.
67714         * modules/gc-md4 (configure.ac): Likewise.
67715         * modules/gc-md5 (configure.ac): Likewise.
67716         * modules/gc-random (configure.ac): Likewise.
67717         * modules/gc-rijndael (configure.ac): Likewise.
67718         * modules/gc-sha1 (configure.ac): Likewise.
67719
67720 2007-01-08  Bruno Haible  <bruno@clisp.org>
67721
67722         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
67723         macro definition.
67724         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
67725         definition.
67726         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
67727         definition.
67728         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
67729         * modules/fcntl-safer (configure.ac): Likewise.
67730         * modules/fopen-safer (configure.ac): Likewise.
67731         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
67732         GNULIB_FWRITEERROR macro definition.
67733
67734 2007-01-08  Bruno Haible  <bruno@clisp.org>
67735
67736         * m4/gnulib-common.m4: New file.
67737         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
67738         (func_get_filelist): Add m4/gnulib-common.m4.
67739
67740 2007-01-08  Bruno Haible  <bruno@clisp.org>
67741
67742         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
67743         command.
67744
67745 2007-01-08  Jim Meyering  <jim@meyering.net>
67746
67747         Use a more robust test for a "can't happen" condition.
67748         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
67749         narrowed the st_size value.  Presuming the "can't happen" condition
67750         is true, that narrowing could conceivably convert an invalid st_size
67751         value into a valid one.  Instead, use a change based on Matthew
67752         Woehlke's original patch.
67753
67754         Slight readability improvement: use an assert-like macro
67755         in place of literal "abort ()" uses.
67756         * lib/fts.c (fts_assert): Define.
67757         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
67758         Use this macro instead of a bare 'abort'.
67759
67760 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
67761
67762         Don't worry about using IRIX 5.3's wctype.h broken definitions;
67763         simply work around them.
67764         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
67765         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
67766         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
67767         declaring.
67768         Don't bother to define as macros, since the standard doesn't require it.
67769         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
67770         longer worry about IRIX 5.3.
67771         (HAVE_WCTYPE_CTMP_BUG): Remove.
67772
67773 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
67774
67775         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
67776         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
67777         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
67778         Problems reported by Georg Schwarz for IRIX 5.3.
67779
67780         * gnulib-tool (autoconf_minversion): Take the maximum version number
67781         found, not the minimum.  Problem reported by James Youngman.
67782
67783 2007-01-03  Karl Berry  <karl@gnu.org>
67784
67785         * doc/error.texi: new file, explaining interaction with progname.
67786         * doc/gnulib.texi: include it.  Update copyright.
67787
67788 2007-01-03  Simon Josefsson  <simon@josefsson.org>
67789
67790         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
67791         AC_CANONICAL_HOST, to improve autobuild outputs.
67792
67793 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
67794             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
67795
67796         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
67797         sockets, server sockets, and other file descriptors.  Count errors
67798         to compute the return value.  Reorder the code a bit to be easier
67799         to follow.  Don't set event bits that were not requested (except
67800         POLLERR and POLLHUP).
67801
67802 2007-01-01  Bruno Haible  <bruno@clisp.org>
67803
67804         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
67805
67806 2007-01-03  Jim Meyering  <jim@meyering.net>
67807
67808         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
67809
67810 2007-01-02  Bruno Haible  <bruno@clisp.org>
67811
67812         * modules/settime (Include): Require timespec.h.
67813         * modules/nanosleep (Include): Likewise.
67814
67815 2007-01-01  Bruno Haible  <bruno@clisp.org>
67816
67817         * gnulib-tool (func_emit_copyright_notice): Bump year.
67818         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
67819
67820 2007-01-01  Bruno Haible  <bruno@clisp.org>
67821
67822         Improve support for OpenBSD.
67823         * build-aux/config.rpath (libname_spec): Export.
67824         (library_names_spec): New variable. Export.
67825         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
67826         library_names_spec from the config.rpath output. Locate shared library
67827         through the name pattern in library_names_spec.
67828
67829 2007-01-01  Eric Blake  <ebb9@byu.net>
67830
67831         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
67832
67833 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
67834
67835         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
67836         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
67837         assume the C locale, and avoid an "eval" that could cause trouble.
67838         Problem with SORT reported by Bob Proulx.
67839
67840         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
67841         Define.  Trivial patch from Henning Nielsen Lund, originally
67842         sent to bug-grep@gnu.org today.
67843
67844 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
67845
67846         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
67847         struct stat.  Problem reported by Henning Nielsen Lund.
67848         * lib/acl.c: Include acl.h first, to check interface.  Don't
67849         bother to include sys/types.h and sys/stat.h again.
67850
67851 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
67852
67853         Import the following change from libc; problem reported by
67854         Sven Verdoolaege.
67855
67856         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
67857
67858         [BZ #1373]
67859         * lib/argp.h: Remove __NTH for __argp_usage inline function.
67860
67861 2006-12-28  Jim Meyering  <jim@meyering.net>
67862
67863         * build-aux/announce-gen: Do not assume that the package
67864         builds any of tar.gz, tar.bz2, and .xdelta files.
67865         Suggestion from Simon Josefsson.
67866
67867 2006-12-28  Simon Josefsson  <simon@josefsson.org>
67868
67869         * modules/announce-gen: New file.
67870
67871 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
67872
67873         * lib/mbchar.h: Just include <wctype.h>; the wctype module
67874         handles its gotchas now.
67875         * lib/mbswidth.c: Likewise.
67876         * lib/wcwidth.h: Likewise.
67877         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
67878         and iswcntrl; the wctype module does this stuff now.
67879         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
67880         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67881         * modules/mbchar (Depends-on): Add wctype.
67882         * modules/mbswidth (Depends-on): Likewise.
67883         * modules/wcwidth (Depends-on): Likewise.
67884
67885 2006-12-27  Eric Blake  <ebb9@byu.net>
67886
67887         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
67888         module uses more than what <wctype.h> is required to provide.
67889
67890 2006-12-26  Eric Blake  <ebb9@byu.net>
67891
67892         * gnulib-tool (sed_extract_prog): Avoid space-tab.
67893
67894 2006-12-26  Eric Blake  <ebb9@byu.net>
67895
67896         * modules/absolute-header: New module.
67897         * modules/fcntl (Depends-on): Depend on it.
67898         * modules/inttypes (Depends-on): Likewise.
67899         * modules/stdint (Depends-on): Likewise.
67900         * modules/sys_stat (Depends-on): Likewise.
67901         * modules/wctype (Depends-on): Likewise.
67902         * MODULES.html.sh (Support for building libraries and
67903         executables): Document it.
67904
67905 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
67906
67907         * gnulib-tool (SED): Remove, undoing previous change.
67908         The problem was that it broke coreutils on Solaris, because
67909         "sed --posix" leaked into a makefile.
67910         (sed): New alias, if 'alias' and GNU sed.
67911
67912 2006-12-24  Jim Meyering  <jim@meyering.net>
67913
67914         Work around an fchownat bug in glibc-2.4:
67915         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
67916         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
67917         in spite of the -P option.
67918         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
67919         New macros.
67920         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
67921         * modules/openat (Files): Add lib/fchownat.c.
67922         * lib/openat.c (fchownat): Don't define here.  Move to...
67923         * lib/fchownat.c: ...this new file.
67924
67925 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
67926
67927         Fix bug reported by Bruno Haible in
67928         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
67929         where quotearg.c didn't compile on Mac OS X 10.2 because it
67930         lacks <wchar.h> and wint_t.
67931         * lib/wctype_.h (__wctype_wint_t): New type.
67932         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
67933         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
67934         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
67935         Arg is now of type __wctype_wint_t, not wint_t.
67936         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
67937         substitute HAVE_WINT_T.
67938         * modules/wctype (Files): Add m4/wint_t.m4.
67939         (wctype.h): Substitute HAVE_WINT_T.
67940
67941 2006-12-23  Bruno Haible  <bruno@clisp.org>
67942
67943         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
67944
67945 2006-12-23  Bruno Haible  <bruno@clisp.org>
67946
67947         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
67948         S_ISLNK.
67949         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
67950         mingw.
67951
67952 2006-12-22  Bruno Haible  <bruno@clisp.org>
67953
67954         * lib/copy-file.c: Include acl.h.
67955         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
67956         Close the file descriptors only after being done with copy_acl.
67957         * modules/copy-file (Depends-on): Add acl.
67958
67959 2006-12-22  Bruno Haible  <bruno@clisp.org>
67960
67961         * gnulib-tool (SED): New variable.
67962         Use $SED instead of sed everywhere.
67963
67964 2006-12-22  Bruno Haible  <bruno@clisp.org>
67965
67966         * modules/no-c++: New file.
67967         * m4/no-c++.m4: New file.
67968         * MODULES.html.sh (Support for building libraries and executables):
67969         Add no-c++.
67970
67971 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
67972
67973         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
67974         Include <limits.h>, and use its INT_MAX to rewrite the
67975         j loop so that it does not overflow 'int'.  Problem reported by
67976         Ralf Wildenhues in
67977         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
67978         Play it safe by shifting left by 1 rather than multiplying by 2,
67979         as GCC is less likely to optimize this away when the value
67980         is signed (when it assumes overflow leads to undefined behavior).
67981         Also, don't assume time_t uses two's complement.
67982
67983 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
67984
67985         * MODULES.html.sh: New module wctype.
67986         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
67987         * lib/fnmatch.c: Don't bother to include <wchar.h> before
67988         <wctype.h>, since the new wctype module should fix this.
67989         * lib/quotearg.c: Include <wctype.h> unconditionally, since
67990         the wctype module should arrange for it.
67991         * lib/regex_internal.h: Likewise.
67992         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
67993         since the wctype module should handle this now.
67994         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
67995         * modules/fnmatch (Depends-on): Add wctype.
67996         * modules/quotearg (Depends-on): Likewise.
67997         * modules/regex (Depends-on): Likewise.
67998
67999 2006-12-19  Bruno Haible  <bruno@clisp.org>
68000
68001         * lib/strdup.h [C++]: Wrap definitions in extern "C".
68002         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
68003
68004 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68005
68006         * modules/savewd (Depends-on): Fix dependency on fcntl.
68007
68008 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
68009
68010         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
68011         conforms to C99, rather than relying on the user's environment
68012         setting of STDINT_H.
68013
68014 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
68015         and Eric Blake  <ebb9@byu.net>
68016
68017         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
68018         This is more consistent with the other defines here.
68019         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
68020         Port to z/OS.  Problem reported by Paul Gilmartin.
68021         Change local vars to use gl_ prefix rather than ac_.
68022         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
68023         with other defines.
68024         * modules/double-slash-root: New module.
68025         * modules/dirname (Files): Remove m4/double-slash-root.m4.
68026         (Depends-on): Add double-slash-root.
68027         * MODULES.html.sh (File system functions): Mention new module.
68028
68029 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
68030
68031         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
68032         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
68033         This is for the benefit of gzip, which doesn't do i18n.
68034
68035 2006-12-12  Jim Meyering  <jim@meyering.net>
68036
68037         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
68038         Reported by Andreas Schwab <schwab@suse.de>.
68039
68040 2006-12-12  Bruno Haible  <bruno@clisp.org>
68041
68042         Merge these changes.
68043         2006-09-05  Bruno Haible  <bruno@clisp.org>
68044         * lib/iconvme.c (iconv_string): No need to save and restore errno when
68045         iconv_alloc succeeded.
68046         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
68047         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
68048         test for " && dest " at the end - dest is always != NULL there. Call
68049         iconv with 4xNULL arguments initially, to reset the state. Call iconv
68050         with 2xNULL arguments, also to flush the state storage. Handle the
68051         IRIX iconv behaviour. Realloc the final result, to throw away unused
68052         memory.
68053
68054 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
68055
68056         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
68057         and fchmodat unconditionally, since glibc 2.4 has them.
68058         Problem reported by Arkadiusz Miskiewicz.
68059
68060 2006-12-10  Bruno Haible  <bruno@clisp.org>
68061
68062         * gnulib-tool (func_import): Show the include files only for those
68063         modules that are copied and specified.
68064         Reported by Karl Berry.
68065
68066 2006-12-08  Jim Meyering  <jim@meyering.net>
68067
68068         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
68069         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
68070
68071         * build-aux/announce-gen: Add two new options, both optional:
68072         --bootstrap-tools=TOOL_LIST
68073               a comma-separated list of tools, e.g.,
68074               autoconf,automake,bison,gnulib
68075         --gnulib-snapshot-date=DATE
68076               if gnulib is in the bootstrap tool list,
68077               then report this as the snapshot date.
68078               If not specified, use the current date/time.
68079               If you specify a date here, be sure it's UTC.
68080
68081 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68082
68083         * tests/test-argp-2.sh: Fix test to match actual output.
68084         (func_compare): Fix sed script to be portable.
68085
68086 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
68087
68088         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
68089         workaround for this case.  It is not autoconfigured now; offhand
68090         it's hard to see how to autoconfigure it.
68091
68092 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
68093
68094         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
68095         a directory that is about to be chowned.  Such a directory's
68096         initial file permissions should permit the owner only and this
68097         should not be changed until after the chown, since the group and
68098         other bits would be incorrect if they granted permission before
68099         the chown.
68100
68101         Fix porting problem for iswctype reported by Georg Schwarz in:
68102         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
68103         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
68104         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
68105         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
68106         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
68107
68108 2006-12-03  Jim Meyering  <jim@meyering.net>
68109
68110         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
68111         p->fts_statp may not yet be defined.
68112         (fts_read): Instead, set it in the caller, once p->fts_statp is
68113         sure to be defined, and corresponds to a top-level directory.
68114         This bug made du -x fail.  Here's the coreutils test case:
68115         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
68116         Reported by Mike Frysinger.
68117
68118 2006-12-01  Jim Meyering  <jim@meyering.net>
68119
68120         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
68121         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
68122         Reported by Simon Josefsson.
68123
68124 2006-11-30  Jim Meyering  <jim@meyering.net>
68125
68126         * m4/warning.m4: Use the all-permissive copyright notice
68127         recommended by RMS (rather than LGPL).
68128         * m4/vararrays.m4: Likewise.
68129         * m4/flexmember.m4: Likewise.
68130
68131 2006-11-29  Bruno Haible  <bruno@clisp.org>
68132
68133         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
68134         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
68135         using +=.
68136         Reported by Simon Josefsson <simon@josefsson.org>.
68137
68138 2006-11-28  James Youngman <jay@gnu.org>
68139
68140         * README: Advise users that they might find the bug-gnulib@gnu.org
68141         and autotools-announce@gnu.org mailing lists useful.
68142
68143 2006-11-28  Bruno Haible  <bruno@clisp.org>
68144
68145         * m4/ptrdiff_max.m4: Remove file.
68146
68147 2006-11-21  Bruno Haible  <bruno@clisp.org>
68148
68149         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
68150         _AC_COMPUTE_INT.
68151         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68152         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
68153         _AC_COMPUTE_INT.
68154         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68155         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
68156         _AC_COMPUTE_INT.
68157         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68158
68159 2006-11-28  Jim Meyering  <jim@meyering.net>
68160
68161         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
68162         warning from "gcc -Wshadow" about shadowing the builtin.
68163
68164 2006-11-27  Bruno Haible  <bruno@clisp.org>
68165
68166         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
68167         _AC_COMPUTE_INT.
68168         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68169
68170 2006-11-27  Bruno Haible  <bruno@clisp.org>
68171             Paul Eggert  <eggert@cs.ucla.edu>
68172
68173         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
68174
68175 2006-11-26  Bruno Haible  <bruno@clisp.org>
68176
68177         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
68178         noinst_LTLIBRARIES.
68179
68180 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
68181             Bruno Haible  <bruno@clisp.org>
68182
68183         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
68184         if compiling with "gcc -ansi".
68185
68186 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
68187
68188         Fix some incompatibilities with gcc -ansi -pedantic.
68189         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
68190         if compiling pedantically with GCC, unless it's C99 or later.
68191         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
68192         it mishandles gcc -ansi -pedantic as well.
68193         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
68194         if gcc -pedantic.
68195         * lib/regexec.c (check_node_accept_bytes): Don't use auto
68196         initializers for struct if -pedantic, unless it's C99 or later.
68197
68198 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
68199
68200         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
68201         Don't close an fd more than once. Identical atimes indicate
68202         success, not failure.
68203
68204 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
68205
68206         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
68207
68208 2006-11-23  Jim Meyering  <jim@meyering.net>
68209
68210         * build-aux/announce-gen: New file.  From coreutils.
68211
68212 2006-11-22  Jim Meyering  <jim@meyering.net>
68213
68214         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
68215         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
68216         (fts_read): Use a temporary to narrow the overused st_size member
68217         before using it in a switch statement.  Reported by Matthew Woehlke.
68218
68219         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
68220         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
68221
68222 2006-11-20  Bruno Haible  <bruno@clisp.org>
68223
68224         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
68225         changequote instead of pairs of brackets.
68226         Reported by Andreas Schwab <schwab@suse.de>.
68227
68228 2006-11-21  Jim Meyering  <jim@meyering.net>
68229
68230         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
68231         so as to remain compatible with older compilers.
68232         Patch from Michael Deutschmann.
68233
68234 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
68235
68236         * MODULES.html.sh (File system functions): Add openat.
68237
68238         * lib/openat.h (rpl_fstatat): New macro, if
68239         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
68240         (fstatat): Define to rpl_fstatat under the same conditions,
68241         unless COMPILING_FSTATAT.
68242         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
68243         seems to have the bug.
68244         * lib/fstatat.c: New file.
68245         * modules/openat (Files): Add it.
68246
68247 2006-11-20  Bruno Haible  <bruno@clisp.org>
68248
68249         * Makefile: New file.
68250
68251 2006-11-20  Jim Meyering  <jim@meyering.net>
68252
68253         The beginnings of syntax-related checks for gnulib.
68254         * lib/Makefile: New file.
68255         * lib/t-idcache: New script.  Ensure that the two halves of
68256         idcache.c stay in sync.
68257
68258         * lib/idcache.c: Adjust comments in user- and group- portions to
68259         be more accurate, and to be consistent with one another.
68260
68261 2006-11-20  Jim Meyering  <jim@meyering.net>
68262
68263         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
68264         continue using the flexible array member (thus, this module performs
68265         half as many malloc calls), with the addition that...
68266         (getgroup, getuser): Consistently record a non-match via an empty
68267         "name" string, and map an empty string match to a NULL return value.
68268         * modules/idcache (Depends-on): Re-add flexmember.
68269
68270         * lib/idcache.c (getuser): Remove all uses of the register keyword.
68271         (getuidbyname, getgroup, getgidbyname): Likewise.
68272
68273         Use cleaner syntax: NULL rather than 0.
68274         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
68275
68276 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
68277
68278         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
68279         It mishandled the case where the group was missing.
68280         Problem reported by Greg Schafer.
68281         * modules/idcache: Likewise.
68282
68283 2006-11-18  Jim Meyering  <jim@meyering.net>
68284
68285         * check-module (%exempt_header): Add exception for some
68286         conditionally-included headers.
68287
68288         * modules/i-ring (Depends-on): Add verify.
68289         (License): Change to LGPL.
68290
68291 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68292
68293         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
68294         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
68295         and inttostr.h.  Use snprintf rather than uinttostr, so that
68296         LGPLed code doesn't depend on GPLed.
68297
68298 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68299
68300         * modules/inline (License): Change from GPL to LGPL.
68301
68302 2006-11-17  Jim Meyering  <jim@meyering.net>
68303
68304         * modules/d-type (License): Switch to LGPL.
68305
68306 2006-11-15  Bruno Haible  <bruno@clisp.org>
68307
68308         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
68309
68310 2006-11-15  Eric Blake  <ebb9@byu.net>
68311
68312         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
68313         the module dependency.
68314
68315 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68316             Bruno Haible  <bruno@clisp.org>
68317
68318         * gnulib-tool (func_create_testdir): Add license consistency check.
68319
68320 2006-11-15  Eric Blake  <ebb9@byu.net>
68321
68322         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
68323         random "(cached)" in configure output.
68324
68325 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68326
68327         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
68328         test for conforming inttypes.h is both announced and cached.
68329
68330         * MODULES.html.sh (seen_modules, seen_files): New variables.
68331         (func_module): Rewrite to use a few less gnulib-tool and sed
68332         invocations.  Avoid a couple of quadratic algorithms for ...
68333         (missed_modules, missed_files): ... these, with ...
68334         (func_append, func_tmpdir): ... these new functions, from
68335         gnulib-tool.  Analogously, install traps for cleanup.
68336
68337         * tests/test-gc.c (main): Remove unused variables.
68338         * tests/test-read-file.c: Include stdlib.h, for 'free'.
68339
68340 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
68341
68342         * modules/inttostr (License): Change to LGPL.
68343
68344 2006-11-14  Eric Blake  <ebb9@byu.net>
68345
68346         * modules/tempname (License): Change to LGPL.
68347
68348 2006-11-14  Eric Blake  <ebb9@byu.net>
68349
68350         * doc/functions.texi (Function Portability): *printf functions on
68351         Cygwin now understand all POSIX size specifiers.
68352
68353 2006-11-14  Bruno Haible  <bruno@clisp.org>
68354
68355         * modules/c-ctype (License): Change to LGPL.
68356
68357 2006-11-12  Bruno Haible  <bruno@clisp.org>
68358
68359         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
68360         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
68361         for GNOME libraries, for which the include files are installed in
68362         subdirectories of $prefix/include.
68363
68364 2006-11-12  Bruno Haible  <bruno@clisp.org>
68365
68366         * m4/lib-link.m4: Require at least autoconf-2.54.
68367         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
68368         name to underscores for the --with option.
68369
68370 2006-11-13  Bruno Haible  <bruno@clisp.org>
68371
68372         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
68373         the tests directory.
68374         Reported by Ralf Wildenhues.
68375
68376 2006-11-13  Bruno Haible  <bruno@clisp.org>
68377
68378         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
68379         (func_emit_initmacro_end): Undo the override here.
68380         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
68381         Works around the famous automake error in coreutils.
68382
68383 2006-11-13  Eric Blake  <ebb9@byu.net>
68384
68385         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
68386         element, not its node.
68387
68388 2006-11-12  Bruno Haible  <bruno@clisp.org>
68389
68390         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
68391         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
68392
68393 2006-11-12  Bruno Haible  <bruno@clisp.org>
68394
68395         * gnulib-tool: New option --local-symlink.
68396         (func_usage): Document it.
68397         (lsymbolic): New variable.
68398         (func_import, func_create_testdir): If --symlink was not specified,
68399         test whether --local-symlink was specified and the file comes from
68400         the local_gnulib_dir.
68401
68402 2006-11-12  Bruno Haible  <bruno@clisp.org>
68403
68404         * gnulib-tool (func_ln): New function.
68405         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
68406
68407 2006-11-12  Bruno Haible  <bruno@clisp.org>
68408
68409         Finish support for source files in subdirectories.
68410         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
68411         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
68412         AUTOMAKE_OPTIONS.
68413         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
68414
68415 2006-11-12  Bruno Haible  <bruno@clisp.org>
68416
68417         * gnulib-tool (func_get_automake_snippet): Synthesize also an
68418         EXTRA_lib_SOURCES augmentation.
68419         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
68420
68421 2006-11-12  Jim Meyering  <jim@meyering.net>
68422
68423         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
68424         file descriptors.  This also averts a failure on systems with
68425         native openat support when a traversed directory lacks "x" access.
68426         * lib/fts_.h: Include "i-ring.h"
68427         (struct FTS) [fts_fd_ring]: New member.
68428         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
68429         (FCHDIR): Add parentheses.
68430         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
68431         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
68432         When descending, rather than simply closing the previous
68433         fts_cwd_fd value, push that file descriptor onto the ring.
68434         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
68435         (fts_open): Initialize the new fd_ring member.
68436         (fts_close): Clear the ring.
68437         (fts_safe_changedir): When possible, use our new fd_ring to skip
68438         the diropen and fstat and dev/ino comparison that would normally
68439         accompany a virtual `chdir ("..")'.
68440
68441         * modules/fts (Depends-on): Add i-ring.
68442         * modules/i-ring: New module.
68443         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
68444         * m4/i-ring.m4: New file.
68445
68446 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68447
68448         * gnulib-tool (func_create_testdir): Fix replacement of
68449         `build-aux' in configure.ac.  Run autotools in gltests
68450         subdirectory.
68451         (func_create_testdir, func_create_megatestdir, test): There is
68452         no need for '--force' in most autotool invocations in a new
68453         tree.  Actually fail the whole test if any of the tools, or the
68454         configure or make stages fail.
68455
68456         Sync from Automake.
68457         * build-aux/gnupload: Revert last change.  Add pointer to upload
68458         instructions of the GNU Maintenance Instructions.
68459         Suggestion by Karl Berry.
68460
68461 2006-11-10  Jim Meyering  <jim@meyering.net>
68462
68463         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
68464
68465 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68466
68467         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
68468         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
68469         (bind_textdomain_codeset) [! ENABLE_NLS]:
68470         Evaluate all the arguments.  That way, callers get compatible behavior
68471         if the arguments have side effects.  Also, it avoids some GCC
68472         diagnostics in some cases; Joel E. Denny reported problems when Bison
68473         was configured with --enable-gcc-warnigs.
68474
68475 2006-11-10  Jim Meyering  <jim@meyering.net>
68476
68477         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
68478         relevant options in CFLAGS (like -O, -fno-inline) are taken into
68479         account.
68480
68481 2006-11-10  Jim Meyering  <jim@meyering.net>
68482
68483         * modules/inline: New file/module.
68484         * modules/xalloc (Files): Remove m4/inline.m4.
68485         (Depends-on): Add inline, instead.
68486         * modules/oset: Likewise.
68487         * modules/list: Likewise.
68488
68489 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68490
68491         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
68492         Problem reported by Matthew Woehlke.
68493
68494 2006-11-09  Bruno Haible  <bruno@clisp.org>
68495
68496         * lib/tempname.c (gen_tempname): Remove variant that invokes
68497         __gen_tempname.
68498         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
68499         __gen_tempname.
68500
68501 2006-11-08  Bruno Haible  <bruno@clisp.org>
68502
68503         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
68504         to 'yes' instead of 'cross-compiling'.
68505
68506 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
68507
68508         * lib/quotearg.h (quotearg_free): New decl.
68509         * lib/quotearg.c (quotearg_free): New function.
68510         (slot0, nslots, slotvec0, slotvec):
68511         Now file-scope so that quotearg_free can get at them.
68512
68513 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68514
68515         Sync from Automake.
68516         * build-aux/gnupload: Add missing 'gnu' to example URL.
68517         Report by Karl Berry.
68518
68519 2006-11-08  Bruno Haible  <bruno@clisp.org>
68520
68521         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
68522         Suggested by Paul Eggert.
68523
68524 2006-11-08  Jim Meyering  <jim@meyering.net>
68525
68526         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
68527         It's already included if !_LIBC.
68528         (fts_safe_changedir): Add a comment.
68529
68530 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
68531
68532         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
68533         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
68534         Matthew Woehlke.
68535
68536         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
68537         definitions up, to avoid colliding with change below.
68538         (static_inline) [HAVE_INLINE]: New macro.
68539         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
68540         Provide extern decls when !HAVE_INLINE.  Do not define unless
68541         static_inline is defined, either by us or by xmalloc.c.  Use
68542         static_inline rather than static inline.
68543         (XCALLOC): Optimize sizeof(T) = 1 case.
68544         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
68545
68546 2006-11-07  Bruno Haible  <bruno@clisp.org>
68547
68548         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
68549         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
68550         AC_C_INLINE.
68551         * modules/xalloc (Files): Add m4/inline.m4.
68552
68553 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68554
68555         * README: Fix typo.
68556         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
68557         (Miscellanous Notes): ...from this.
68558
68559 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
68560
68561         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
68562         Mention that offsetof should be used instead of sizeof.
68563         From Bruno Haible.
68564
68565 2006-11-07  Bruno Haible  <bruno@clisp.org>
68566
68567         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
68568
68569 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
68570
68571         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
68572         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
68573         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
68574         (gl_tree_add_before, gl_tree_add_after):
68575         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
68576         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
68577         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
68578         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
68579         (gl_linked_add_after, gl_linked_add_at): Likewise.
68580         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
68581         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
68582         (gl_tree_add_before, gl_tree_add_after): Likewise.
68583         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
68584         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
68585         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
68586
68587 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68588
68589         * lib/gl_oset.h: Use C comment style, not C++ comment style.
68590
68591 2006-11-06  Bruno Haible  <bruno@clisp.org>
68592
68593         * m4/inline.m4: New file.
68594         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
68595         * modules/list (Files): Add m4/inline.m4.
68596         * modules/oset (Files): Likewise.
68597
68598 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
68599
68600         * lib/idcache.c: Include <stddef.h>, for offsetof.
68601         (struct userid.name): Change from char * to a flexible array member.
68602         All uses changed.
68603         * modules/idcache (Depends-on): Add flexmember.
68604
68605         * MODULES.html.sh (Core language properties): New module flexmember.
68606         * modules/flexmember, m4/flexmember.m4: New files.
68607
68608         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
68609         inline functions that are identical with the old xnmalloc_inline,
68610         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
68611         that we can avoid some unnecessary integer multiplications and
68612         divisions in the common case where the element size is known at
68613         compile time.
68614         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
68615         needed.
68616         (xnboundedmalloc): Remove.
68617         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
68618         arguments, for consistency with rest of this header.
68619         (xcharalloc): Rewrite using XNMALLOC.
68620         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
68621         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
68622         versions have been moved to lib/xalloc.h and renamed to be the
68623         non-*_inline versions.
68624         (xmalloc, xrealloc): Implement without reference to the xnmalloc
68625         and xnrealloc functions, since those functions are now inline and
68626         now call us.
68627         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
68628         renaming described above.
68629         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
68630         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
68631         captures the dependency in AC_C_INLINE.
68632
68633         New module canonicalize-lgpl, proposed by Charles Wilson in
68634         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
68635         with a few small changes afterwards.
68636         * MODULES.html.sh (File system functions): New module
68637         canonicalize-lgpl.
68638         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
68639         and canonicalize_file_name.
68640         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
68641         * modules/canonicalize-lgpl: New files.
68642
68643 2006-11-05  Bruno Haible  <bruno@clisp.org>
68644
68645         * gnulib-tool (func_import, func_create_testdir): Create directories
68646         also for files in subdirectories of lib/.
68647
68648 2006-11-05  Bruno Haible  <bruno@clisp.org>
68649
68650         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
68651         ANSI C compliant.
68652
68653 2006-11-03  Bruno Haible  <bruno@clisp.org>
68654
68655         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
68656         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
68657         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
68658         (xnboundedmalloc): New inline function.
68659         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
68660         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
68661         xmalloc.
68662         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
68663         xmalloc.
68664         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
68665         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
68666         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
68667         xmalloc.
68668         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
68669         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
68670         xmalloc.
68671         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
68672         gl_tree_add_after): Use XMALLOC instead of xmalloc.
68673         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
68674         xmalloc.
68675         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
68676         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
68677         gl_tree_add_after): Use XMALLOC instead of xmalloc.
68678         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
68679         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
68680         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
68681         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
68682
68683 2006-11-03  Bruno Haible  <bruno@clisp.org>
68684
68685         * lib/c-ctype.h [C++]: Define functions without name mangling.
68686         * lib/fwriteerror.h [C++]: Likewise.
68687         * lib/gcd.h [C++]: Likewise.
68688         * lib/linebreak.h [C++]: Likewise.
68689
68690 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
68691
68692         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
68693         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
68694         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
68695         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
68696         Check for functions and headers just once.
68697         Check for declaration of canonicalize_file_name.
68698         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
68699
68700 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
68701
68702         * gnulib-tool (func_import): Fix typo in actioncmd.
68703
68704 2006-11-02  Bruno Haible  <bruno@clisp.org>
68705
68706         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
68707         newline sequence in the Makefile.am snippet as a space, like "make"
68708         does.
68709         Reported by Roger Persson <perrog@gmail.com>.
68710
68711 2006-11-01  Bruno Haible  <bruno@clisp.org>
68712
68713         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
68714         already declared in <string.h>.
68715         * lib/strcase.h (strncasecmp): Don't declare it if yes.
68716
68717 2006-11-01  Bruno Haible  <bruno@clisp.org>
68718
68719         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
68720         * lib/strcase.h: Include <string.h>.
68721         (strcasecmp): Define to rpl_strcasecmp here.
68722
68723 2006-11-01  Bruno Haible  <bruno@clisp.org>
68724
68725         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
68726
68727 2006-11-01  Eric Blake  <ebb9@byu.net>
68728
68729         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
68730
68731         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
68732
68733 2006-10-29  Bruno Haible  <bruno@clisp.org>
68734
68735         Make it compile in C++ mode.
68736         * lib/full-write.c (full_rw): Add a cast.
68737
68738 2006-11-01  Bruno Haible  <bruno@clisp.org>
68739
68740         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
68741         be POSIX compliant.
68742         Reported by Roger Persson <perrog@gmail.com>.
68743
68744 2006-11-01  Eric Blake  <ebb9@byu.net>
68745
68746         * lib/getopt_.h: Fix comments.
68747
68748 2006-10-31  Eric Blake  <ebb9@byu.net>
68749
68750         * modules/tmpdir (Depends-on): Add sys_stat.
68751         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
68752         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
68753         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
68754         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
68755         tempname.
68756
68757 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
68758
68759         Avoid some C++ diagnostics reported by Bruno Haible.
68760         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
68761         xmalloc.
68762         (quotearg_alloc): Use xcharalloc rather than xmalloc.
68763         (struct slotvec): Move to top level.
68764         (quotearg_n_options): Rewrite to avoid xmalloc.
68765         * lib/xalloc.h (xcharalloc): New function.
68766         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
68767         [defined __cplusplus]: Add function template that provides result
68768         type propagation.  This part of the change is from Bruno Haible.
68769
68770 2006-10-29  Bruno Haible  <bruno@clisp.org>
68771
68772         Make it compile in C++ mode.
68773         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
68774         * lib/strnlen1.c (strnlen1): Cast memchr result.
68775         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
68776         * lib/clean-temp.c (string_equals, string_hash): Add casts.
68777         (create_temp_dir): Rename local variable 'template'.
68778         (compile_csharp_using_sscli): Add cast.
68779         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
68780         * lib/findprog.c (find_in_path): Likewise.
68781         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
68782         * lib/wait-process.c (register_slave_subprocess): Likewise.
68783
68784 2006-10-22  Bruno Haible  <bruno@clisp.org>
68785
68786         * modules/tsearch: New file.
68787         * lib/tsearch.h: New file.
68788         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
68789         * m4/tsearch.m4: New file.
68790         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
68791
68792 2006-10-29  Eric Blake  <ebb9@byu.net>
68793
68794         * lib/arcfour.c: Assume config.h.
68795         * lib/arctwo.c: Likewise.
68796         * lib/base64.c: Likewise.
68797         * lib/check-version.c: Likewise.
68798         * lib/crc.c: Likewise.
68799         * lib/des.c: Likewise.
68800         * lib/gc-gnulib.c: Likewise.
68801         * lib/gc-libgcrypt.c: Likewise.
68802         * lib/gc-pbkdf2-sha1.c: Likewise.
68803         * lib/getaddrinfo.c: Likewise.
68804         * lib/getdelim.c: Likewise.
68805         * lib/getline.c: Likewise.
68806         * lib/hmac-md5.c: Likewise.
68807         * lib/hmac-sha1.c: Likewise.
68808         * lib/iconvme.c: Likewise.
68809         * lib/md2.c: Likewise.
68810         * lib/md4.c: Likewise.
68811         * lib/memxor.c: Likewise.
68812         * lib/read-file.c: Likewise.
68813         * lib/readline.c: Likewise.
68814         * lib/rijndael-alg-fst.c: Likewise.
68815         * lib/rijndael-api-fst.c: Likewise.
68816         * lib/xgetdomainname.c: Likewise.
68817
68818 2006-10-28  Eric Blake  <ebb9@byu.net>
68819
68820         * lib/xstrndup.c: Assume config.h.
68821
68822 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
68823
68824         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
68825         stat-macros.h is now for our own macros, whereas stat_h is for
68826         macros in the <sys/stat.h> name space.
68827         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
68828         (STAT_MACROS_H): Remove.
68829         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
68830         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
68831         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
68832         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
68833         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
68834         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
68835         Move these macros to ...
68836         * lib/stat_.h: here.  Don't include stat-macros.h.
68837         * lib/canonicalize.c: Don't include stat-macros.h.
68838         * lib/chown.c: Likewise.
68839         * lib/euidaccess.c: Likewise.
68840         * lib/file-type.c: Likewise.
68841         * lib/filemode.c: Likewise.
68842         * lib/glob.c: Likewise.
68843         * lib/isapipe.c: Likewise.
68844         * lib/lchown.c: Likewise.
68845         * lib/lstat.c: Likewise.
68846         * lib/mkdir-p.c: Likewise.
68847         * lib/rmdir.c: Likewise.
68848         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
68849         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
68850         unless mkdir isn't declared, to speed up 'configure'.
68851         Always create sys/stat.h, since it's unlikely any real sys/stat.h
68852         would define all the S_* symbols.
68853         * modules/canonicalize (Depends-on):
68854         Depend on sys_stat, not stat-macros.
68855         * modules/chown: Likewise.
68856         * modules/euidaccess: Likewise.
68857         * modules/filemode: Likewise.
68858         * modules/file-type: Likewise.
68859         * modules/glob: Likewise.
68860         * modules/isapipe: Likewise.
68861         * modules/lchown: Likewise.
68862         * modules/lstat: Likewise.
68863         * modules/mkancesdirs: Likewise.
68864         * modules/rmdir: Likewise.
68865         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
68866         * modules/modechange: Likewise.
68867         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
68868         (configure.ac): Remove gl_STAT_MACROS.
68869         * modules/sys_stat (Depends-on): Remove stat-macros.
68870
68871 2006-10-27  Bruno Haible  <bruno@clisp.org>
68872
68873         * m4/signed.m4: Remove file.
68874         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
68875         invocation.
68876         * modules/vasnprintf (Files): Remove m4/signed.m4.
68877
68878 2006-10-27  Bruno Haible  <bruno@clisp.org>
68879
68880         Update to GNU gettext 0.16.
68881         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
68882         m4/inttypes-h.m4, m4/signed.m4.
68883         * m4/gettext.m4: Update to GNU gettext 0.16.
68884         * m4/intl.m4: New file, from GNU gettext.
68885         * m4/intldir.m4: New file, from GNU gettext.
68886         * config/srclist.txt: Update
68887
68888 2006-10-27  Eric Blake  <ebb9@byu.net>
68889
68890         * MODULES.html.sh: Document tempname.
68891         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
68892         dependencies.
68893         (Files): Move lib/tempname.c...
68894         * modules/tempname: ...to this new module.
68895         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
68896         (gl_PREREQ_TEMPNAME): Move...
68897         * m4/tempname.m4: ...to this new file.
68898         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
68899         * modules/sys_stat (Depends-on): Add stat-macros.
68900         * lib/stat_.h (includes): Pick up stat macros.
68901         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
68902         if stat macros are broken.
68903         * lib/tempname.c (includes): No need to include "stat-macros.h".
68904         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
68905         (direxists, __path_search) [!_LIBC]: Don't compile these in
68906         gnulib; the tmpdir module covers that.
68907         * lib/tempname.h: New file.
68908
68909 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
68910
68911         * COPYING: Explain how gnulib-tool converts licence headers.
68912         Almost all wording by Eric Blake.
68913
68914 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
68915
68916         * lib/mbchar.h (is_basic_table): Make read-only.
68917         * lib/mbchar.c (is_basic_table): Likewise.
68918         Reported by John Darrington.
68919
68920 2006-10-25  Bruno Haible  <bruno@clisp.org>
68921
68922         * lib/progname.h (set_program_name): Undefine before defining.
68923
68924 2006-10-25  Bruno Haible  <bruno@clisp.org>
68925
68926         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
68927         false for non-gcc C++ compilers.
68928         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
68929
68930 2006-10-24  Bruno Haible  <bruno@clisp.org>
68931
68932         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
68933         iconv implementations like Irix iconv.
68934
68935 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68936
68937         * modules/vararrays: New file.
68938         * m4/vararrays.m4: New file, taken from diffutils.
68939         * MODULES.html.sh: New module vararrays.
68940
68941 2006-10-24  Karl Berry  <karl@gnu.org>
68942
68943         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
68944         Don't call GNU Unix.
68945
68946 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68947
68948         * users.txt: Add Libtool.
68949
68950         Sync from Libtool:
68951
68952         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68953
68954         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
68955         to gnulib's policy of including config.h unconditionally.
68956
68957 2006-10-24  Bruno Haible  <bruno@clisp.org>
68958
68959         * modules/wcwidth (Files): Add m4/wint_t.m4.
68960         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
68961         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
68962
68963 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68964
68965         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
68966         to pacify GCC with some -W flags enabled.  Problem reported by
68967         Bruno Haible.
68968
68969 2006-10-24  Jim Meyering  <jim@meyering.net>
68970
68971         * MODULES.html.sh: Remove uinttostr.  It's not a module.
68972         Reported by Karl Berry.
68973
68974 2006-10-23  Bruno Haible  <bruno@clisp.org>
68975
68976         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
68977
68978 2006-10-24  Bruno Haible  <bruno@clisp.org>
68979
68980         * lib/gl_list.h: Use C comment style, not C++ comment style.
68981
68982 2006-10-23  Eric Blake  <ebb9@byu.net>
68983
68984         * lib/getaddrinfo.c (includes): Add missing include.
68985
68986 2006-10-23  Bruno Haible  <bruno@clisp.org>
68987             Paul Eggert  <eggert@cs.ucla.edu>
68988
68989         Ability to rename obstack_free.
68990         * lib/obstack.h (__obstack_free): New macro. Declare instead of
68991         obstack_free.
68992         (obstack_free): Invoke the __obstack_free macro.
68993         * lib/obstack.c (obstack_free): Use __obstack_free macro.
68994
68995 2006-10-23  Bruno Haible  <bruno@clisp.org>
68996             Paul Eggert  <eggert@cs.ucla.edu>
68997
68998         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
68999         __argc, __argv from the declaration. (They are defined as macros on
69000         mingw.)
69001
69002 2006-10-22  Bruno Haible  <bruno@clisp.org>
69003
69004         * doc/gnulib-intro.texi: New file.
69005         * doc/gnulib.texi: Include it.
69006
69007 2006-10-21  Bruno Haible  <bruno@clisp.org>
69008
69009         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
69010         "Introduction", "Miscellanous Notes", "Particular Modules".
69011
69012 2006-10-21  Bruno Haible  <bruno@clisp.org>
69013
69014         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69015         Change mostlyclean-local rule to avoid sh syntax error from bash
69016         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
69017
69018 2006-10-23  Jim Meyering  <jim@meyering.net>
69019
69020         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
69021         in place of snprintf.
69022
69023         * modules/inttostr (Files): Add lib/uinttostr.c.
69024         * lib/uinttostr.c (inttostr): New file/function.
69025         * lib/inttostr.h (uinttostr): Declare.
69026         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
69027         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
69028         Add uinttostr.
69029         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
69030
69031 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
69032
69033         * lib/canonicalize.c (ELOOP): Define if not already defined.
69034         Problem reported by Bruno Haible in
69035         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
69036
69037 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
69038
69039         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
69040         Problem reported by Perry Smith and Ville Laurikari.
69041
69042         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
69043         uses.
69044
69045 2006-10-19  Bruno Haible  <bruno@clisp.org>
69046
69047         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
69048         for mingw.
69049
69050 2006-10-19  Bruno Haible  <bruno@clisp.org>
69051
69052         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
69053         Needed for mingw.
69054
69055 2006-10-19  Bruno Haible  <bruno@clisp.org>
69056
69057         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
69058
69059 2006-10-19  Bruno Haible  <bruno@clisp.org>
69060
69061         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
69062         it.
69063
69064 2006-10-19  Bruno Haible  <bruno@clisp.org>
69065
69066         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
69067         invocation.
69068
69069 2006-10-19  Bruno Haible  <bruno@clisp.org>
69070
69071         * gnulib-tool (func_create_testdir): Don't include ftruncate and
69072         mountlist by default.
69073
69074 2006-10-16  Bruno Haible  <bruno@clisp.org>
69075
69076         * lib/c-strstr.c: Include c-strstr.h.
69077
69078 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69079
69080         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
69081         in a slash.
69082
69083 2006-10-18  Bruno Haible  <bruno@clisp.org>
69084
69085         * lib/lock.h [C++]: Wrap definitions in extern "C".
69086
69087 2006-10-18  Bruno Haible  <bruno@clisp.org>
69088
69089         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
69090         gl_LIBOBJS list.
69091
69092 2006-10-18  Bruno Haible  <bruno@clisp.org>
69093
69094         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
69095
69096 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
69097
69098         * lib/xstrtol.h: Include gettext.h.
69099         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
69100         Problem reported by Eric Blake.
69101         * modules/xstrtol (Depends-on): Add gettext-h.
69102
69103 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
69104
69105         * lib/strftime.c (advance): New macro.
69106         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
69107         incomplete type, so you can't add 0 to it.  Problem and patch
69108         reported by Eelco Dolstra for dietlibc.
69109
69110 2006-10-18  Jim Meyering  <jim@meyering.net>
69111
69112         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
69113         type for a local, and rename it: s/up/user_proc/.
69114
69115 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
69116
69117         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
69118         READ_UTMP_USER_PROCESS.
69119         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
69120
69121 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
69122
69123         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
69124         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
69125
69126 2006-10-17  Eric Blake  <ebb9@byu.net>
69127
69128         * lib/sigprocmask.c (sigprocmask): Fix typo.
69129
69130         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
69131
69132         * modules/clean-temp (Makefile.am): Don't add to make output...
69133         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
69134         config.h.
69135
69136 2006-10-17  Bruno Haible  <bruno@clisp.org>
69137
69138         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
69139         differently if DEFAULT_TEXT_DOMAIN is set.
69140
69141 2006-10-16  Bruno Haible  <bruno@clisp.org>
69142
69143         * lib/clean-temp.c: Include fwriteerror.h.
69144
69145 2006-10-16  Bruno Haible  <bruno@clisp.org>
69146
69147         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
69148
69149 2006-10-16  Bruno Haible  <bruno@clisp.org>
69150
69151         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
69152         * lib/sigprocmask.h: Include <sys/types.h>.
69153         (sigset_t): Use the system's definition if present.
69154
69155 2006-10-17  Eric Blake  <ebb9@byu.net>
69156
69157         * lib/xvasprintf.c (includes): Assume config.h.
69158         * lib/xasprintf.c (includes): Likewise.
69159
69160 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
69161
69162         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
69163         at least as wide as intmax_t.
69164
69165 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
69166
69167         (Imported from Automake.)
69168         * build-aux/gnupload: Update to version 1.1 of directive file.
69169
69170 2006-10-16  Eric Blake  <ebb9@byu.net>
69171
69172         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
69173         match Automake 1.10a.
69174
69175 2006-10-14  Bruno Haible  <bruno@clisp.org>
69176
69177         * modules/sigprocmask: New file.
69178         * lib/sigprocmask.h: New file.
69179         * lib/sigprocmask.c: New file.
69180         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
69181         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
69182         request sigprocmask.o.
69183         (gl_PREREQ_SIGPROCMASK): New macro.
69184         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
69185         (Depends-on): Add sigprocmask.
69186         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
69187         gt_SIGNALBLOCKING. Test for 'raise' only once.
69188         * lib/fatal-signal.c: Include sigprocmask.h.
69189         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
69190         unblock_fatal_signals): Define always.
69191         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69192         sigprocmask.
69193
69194 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
69195
69196         Sync from Automake.
69197         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
69198         which incorrectly sets the mode of an existing destination
69199         directory.  In some cases the unpatched install-sh could do the
69200         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
69201         system.  We hope this is rare in practice, but it's clearly worth
69202         fixing.  Problem reported by Alex Unleashed in
69203         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
69204         Also, don't bother to check for -m bugs unless we're using -m;
69205         suggested by Stepan Kasal.
69206
69207 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69208
69209         Sync from Automake.
69210         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
69211         `-c' flag, so they appear at the same position as in %FASTDEP%
69212         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
69213         which ignores unknown options only after the first non-option.
69214         Bug report against M4 by Nelson H. F. Beebe.
69215
69216 2006-10-13  Jim Meyering  <jim@meyering.net>
69217
69218         Fix a bug in yesterday's change.
69219         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
69220         p->fts_statp->st_dev would be used uninitialized.
69221         Ensures that we always call fts_stat on the very first entry.
69222         Miklos Szeredi reported that find -xdev stopped working.
69223
69224 2006-10-12  Bruno Haible  <bruno@clisp.org>
69225
69226         * gnulib-tool (func_get_automake_snippet): Append an automatically
69227         computed EXTRA_DIST augmentation.
69228         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
69229         * modules/alloca-opt (Makefile.am): Likewise.
69230         * modules/allocsa (Makefile.am): Likewise.
69231         * modules/arcfour (Makefile.am): Likewise.
69232         * modules/arctwo (Makefile.am): Likewise.
69233         * modules/argmatch (Makefile.am): Likewise.
69234         * modules/argz (Makefile.am): Likewise.
69235         * modules/atexit (Makefile.am): Likewise.
69236         * modules/backupfile (Makefile.am): Likewise.
69237         * modules/byteswap (Makefile.am): Likewise.
69238         * modules/c-strtod (Makefile.am): Likewise.
69239         * modules/c-strtold (Makefile.am): Likewise.
69240         * modules/calloc (Makefile.am): Likewise.
69241         * modules/canon-host (Makefile.am): Likewise.
69242         * modules/canonicalize (Makefile.am): Likewise.
69243         * modules/chdir-long (Makefile.am): Likewise.
69244         * modules/chdir-safer (Makefile.am): Likewise.
69245         * modules/check-version (Makefile.am): Likewise.
69246         * modules/chown (Makefile.am): Likewise.
69247         * modules/cloexec (Makefile.am): Likewise.
69248         * modules/close-stream (Makefile.am): Likewise.
69249         * modules/closeout (Makefile.am): Likewise.
69250         * modules/crc (Makefile.am): Likewise.
69251         * modules/csharpexec (Makefile.am): Likewise.
69252         * modules/cycle-check (Makefile.am): Likewise.
69253         * modules/des (Makefile.am): Likewise.
69254         * modules/dev-ino (Makefile.am): Likewise.
69255         * modules/dirfd (Makefile.am): Likewise.
69256         * modules/dirname (Makefile.am): Likewise.
69257         * modules/dup2 (Makefile.am): Likewise.
69258         * modules/eealloc (Makefile.am): Likewise.
69259         * modules/error (Makefile.am): Likewise.
69260         * modules/euidaccess (Makefile.am): Likewise.
69261         * modules/exclude (Makefile.am): Likewise.
69262         * modules/exitfail (Makefile.am): Likewise.
69263         * modules/fcntl-safer (Makefile.am): Likewise.
69264         * modules/fcntl (Makefile.am): Likewise.
69265         * modules/file-type (Makefile.am): Likewise.
69266         * modules/fileblocks (Makefile.am): Likewise.
69267         * modules/filemode (Makefile.am): Likewise.
69268         * modules/filenamecat (Makefile.am): Likewise.
69269         * modules/fnmatch (Makefile.am): Likewise.
69270         * modules/fopen-safer (Makefile.am): Likewise.
69271         * modules/fpending (Makefile.am): Likewise.
69272         * modules/fprintftime (Makefile.am): Likewise.
69273         * modules/free (Makefile.am): Likewise.
69274         * modules/fsusage (Makefile.am): Likewise.
69275         * modules/ftruncate (Makefile.am): Likewise.
69276         * modules/fts (Makefile.am): Likewise.
69277         * modules/gc-arcfour (Makefile.am): Likewise.
69278         * modules/gc-des (Makefile.am): Likewise.
69279         * modules/gc-hmac-md5 (Makefile.am): Likewise.
69280         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
69281         * modules/gc-md4 (Makefile.am): Likewise.
69282         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
69283         * modules/gc-sha1 (Makefile.am): Likewise.
69284         * modules/gc (Makefile.am): Likewise.
69285         * modules/getaddrinfo (Makefile.am): Likewise.
69286         * modules/getcwd (Makefile.am): Likewise.
69287         * modules/getdelim (Makefile.am): Likewise.
69288         * modules/getdomainname (Makefile.am): Likewise.
69289         * modules/getgroups (Makefile.am): Likewise.
69290         * modules/gethostname (Makefile.am): Likewise.
69291         * modules/gethrxtime (Makefile.am): Likewise.
69292         * modules/getline (Makefile.am): Likewise.
69293         * modules/getloadavg (Makefile.am): Likewise.
69294         * modules/getlogin_r (Makefile.am): Likewise.
69295         * modules/getndelim2 (Makefile.am): Likewise.
69296         * modules/getopt (Makefile.am): Likewise.
69297         * modules/getpagesize (Makefile.am): Likewise.
69298         * modules/getpass-gnu (Makefile.am): Likewise.
69299         * modules/getpass (Makefile.am): Likewise.
69300         * modules/getsubopt (Makefile.am): Likewise.
69301         * modules/gettime (Makefile.am): Likewise.
69302         * modules/gettimeofday (Makefile.am): Likewise.
69303         * modules/getugroups (Makefile.am): Likewise.
69304         * modules/getusershell (Makefile.am): Likewise.
69305         * modules/glob (Makefile.am): Likewise.
69306         * modules/group-member (Makefile.am): Likewise.
69307         * modules/hard-locale (Makefile.am): Likewise.
69308         * modules/hash (Makefile.am): Likewise.
69309         * modules/hmac-md5 (Makefile.am): Likewise.
69310         * modules/hmac-sha1 (Makefile.am): Likewise.
69311         * modules/human (Makefile.am): Likewise.
69312         * modules/idcache (Makefile.am): Likewise.
69313         * modules/imaxabs (Makefile.am): Likewise.
69314         * modules/imaxdiv (Makefile.am): Likewise.
69315         * modules/inet_ntop (Makefile.am): Likewise.
69316         * modules/inet_pton (Makefile.am): Likewise.
69317         * modules/intprops (Makefile.am): Likewise.
69318         * modules/inttostr (Makefile.am): Likewise.
69319         * modules/inttypes (Makefile.am): Likewise.
69320         * modules/isapipe (Makefile.am): Likewise.
69321         * modules/javaversion (Makefile.am): Likewise.
69322         * modules/lchmod (Makefile.am): Likewise.
69323         * modules/lchown (Makefile.am): Likewise.
69324         * modules/localcharset (Makefile.am): Likewise.
69325         * modules/long-options (Makefile.am): Likewise.
69326         * modules/lstat (Makefile.am): Likewise.
69327         * modules/malloc (Makefile.am): Likewise.
69328         * modules/mathl (Makefile.am): Likewise.
69329         * modules/mbchar (Makefile.am): Likewise.
69330         * modules/md2 (Makefile.am): Likewise.
69331         * modules/md4 (Makefile.am): Likewise.
69332         * modules/md5 (Makefile.am): Likewise.
69333         * modules/memcasecmp (Makefile.am): Likewise.
69334         * modules/memchr (Makefile.am): Likewise.
69335         * modules/memcmp (Makefile.am): Likewise.
69336         * modules/memcoll (Makefile.am): Likewise.
69337         * modules/memcpy (Makefile.am): Likewise.
69338         * modules/memmem (Makefile.am): Likewise.
69339         * modules/memmove (Makefile.am): Likewise.
69340         * modules/mempcpy (Makefile.am): Likewise.
69341         * modules/memrchr (Makefile.am): Likewise.
69342         * modules/memset (Makefile.am): Likewise.
69343         * modules/memxor (Makefile.am): Likewise.
69344         * modules/mkancesdirs (Makefile.am): Likewise.
69345         * modules/mkdir-p (Makefile.am): Likewise.
69346         * modules/mkdir (Makefile.am): Likewise.
69347         * modules/mkdtemp (Makefile.am): Likewise.
69348         * modules/mkstemp (Makefile.am): Likewise.
69349         * modules/mktime (Makefile.am): Likewise.
69350         * modules/modechange (Makefile.am): Likewise.
69351         * modules/mountlist (Makefile.am): Likewise.
69352         * modules/nanosleep (Makefile.am): Likewise.
69353         * modules/obstack (Makefile.am): Likewise.
69354         * modules/openat (Makefile.am): Likewise.
69355         * modules/pagealign_alloc (Makefile.am): Likewise.
69356         * modules/pathmax (Makefile.am): Likewise.
69357         * modules/physmem (Makefile.am): Likewise.
69358         * modules/poll (Makefile.am): Likewise.
69359         * modules/posixtm (Makefile.am): Likewise.
69360         * modules/posixver (Makefile.am): Likewise.
69361         * modules/putenv (Makefile.am): Likewise.
69362         * modules/quote (Makefile.am): Likewise.
69363         * modules/quotearg (Makefile.am): Likewise.
69364         * modules/raise (Makefile.am): Likewise.
69365         * modules/read-file (Makefile.am): Likewise.
69366         * modules/readline (Makefile.am): Likewise.
69367         * modules/readlink (Makefile.am): Likewise.
69368         * modules/readtokens (Makefile.am): Likewise.
69369         * modules/readutmp (Makefile.am): Likewise.
69370         * modules/realloc (Makefile.am): Likewise.
69371         * modules/regex (Makefile.am): Likewise.
69372         * modules/rename-dest-slash (Makefile.am): Likewise.
69373         * modules/rename (Makefile.am): Likewise.
69374         * modules/rijndael (Makefile.am): Likewise.
69375         * modules/rmdir (Makefile.am): Likewise.
69376         * modules/rpmatch (Makefile.am): Likewise.
69377         * modules/safe-read (Makefile.am): Likewise.
69378         * modules/safe-write (Makefile.am): Likewise.
69379         * modules/same-inode (Makefile.am): Likewise.
69380         * modules/same (Makefile.am): Likewise.
69381         * modules/save-cwd (Makefile.am): Likewise.
69382         * modules/savedir (Makefile.am): Likewise.
69383         * modules/setenv (Makefile.am): Likewise.
69384         * modules/settime (Makefile.am): Likewise.
69385         * modules/sha1 (Makefile.am): Likewise.
69386         * modules/sig2str (Makefile.am): Likewise.
69387         * modules/snprintf (Makefile.am): Likewise.
69388         * modules/stat-macros (Makefile.am): Likewise.
69389         * modules/stat-time (Makefile.am): Likewise.
69390         * modules/stdbool (Makefile.am): Likewise.
69391         * modules/stdint (Makefile.am): Likewise.
69392         * modules/stdlib-safer (Makefile.am): Likewise.
69393         * modules/stpcpy (Makefile.am): Likewise.
69394         * modules/stpncpy (Makefile.am): Likewise.
69395         * modules/strcase (Makefile.am): Likewise.
69396         * modules/strcasestr (Makefile.am): Likewise.
69397         * modules/strchrnul (Makefile.am): Likewise.
69398         * modules/strcspn (Makefile.am): Likewise.
69399         * modules/strdup (Makefile.am): Likewise.
69400         * modules/strerror (Makefile.am): Likewise.
69401         * modules/strftime (Makefile.am): Likewise.
69402         * modules/strndup (Makefile.am): Likewise.
69403         * modules/strnlen (Makefile.am): Likewise.
69404         * modules/strpbrk (Makefile.am): Likewise.
69405         * modules/strsep (Makefile.am): Likewise.
69406         * modules/strstr (Makefile.am): Likewise.
69407         * modules/strtod (Makefile.am): Likewise.
69408         * modules/strtoimax (Makefile.am): Likewise.
69409         * modules/strtok_r (Makefile.am): Likewise.
69410         * modules/strtol (Makefile.am): Likewise.
69411         * modules/strtoll (Makefile.am): Likewise.
69412         * modules/strtoul (Makefile.am): Likewise.
69413         * modules/strtoull (Makefile.am): Likewise.
69414         * modules/strtoumax (Makefile.am): Likewise.
69415         * modules/strverscmp (Makefile.am): Likewise.
69416         * modules/sys_socket (Makefile.am): Likewise.
69417         * modules/sys_stat (Makefile.am): Likewise.
69418         * modules/sysexits (Makefile.am): Likewise.
69419         * modules/time_r (Makefile.am): Likewise.
69420         * modules/timegm (Makefile.am): Likewise.
69421         * modules/timespec (Makefile.am): Likewise.
69422         * modules/tmpfile-safer (Makefile.am): Likewise.
69423         * modules/trim (Makefile.am): Likewise.
69424         * modules/unistd-safer (Makefile.am): Likewise.
69425         * modules/unlinkdir (Makefile.am): Likewise.
69426         * modules/unlocked-io (Makefile.am): Likewise.
69427         * modules/userspec (Makefile.am): Likewise.
69428         * modules/utime (Makefile.am): Likewise.
69429         * modules/utimecmp (Makefile.am): Likewise.
69430         * modules/utimens (Makefile.am): Likewise.
69431         * modules/vasnprintf (Makefile.am): Likewise.
69432         * modules/vasprintf (Makefile.am): Likewise.
69433         * modules/vsnprintf (Makefile.am): Likewise.
69434         * modules/xalloc (Makefile.am): Likewise.
69435         * modules/xgetcwd (Makefile.am): Likewise.
69436         * modules/xnanosleep (Makefile.am): Likewise.
69437         * modules/xreadlink (Makefile.am): Likewise.
69438         * modules/xstrtod (Makefile.am): Likewise.
69439         * modules/xstrtol (Makefile.am): Likewise.
69440         * modules/xstrtold (Makefile.am): Likewise.
69441         * modules/yesno (Makefile.am): Likewise.
69442         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
69443
69444 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
69445
69446         * modules/error (Makefile.am): Distribute files through
69447         EXTRA_DIST, not lib_SOURCES.
69448
69449 2006-10-12  Eric Blake  <ebb9@byu.net>
69450
69451         * modules/error (Makefile.am): Distribute files in /lib.
69452         * modules/obstack (Makefile.am): Likewise.
69453
69454 2006-10-12  Bruno Haible  <bruno@clisp.org>
69455
69456         * modules/acl (Makefile.am): Distribute all files in lib/ through
69457         EXTRA_DIST.
69458         * modules/arcfour (Makefile.am): Likewise.
69459         * modules/arctwo (Makefile.am): Likewise.
69460         * modules/argmatch (Makefile.am): Likewise.
69461         * modules/argz (Makefile.am): Likewise.
69462         * modules/atexit (Makefile.am): Likewise.
69463         * modules/backupfile (Makefile.am): Likewise.
69464         * modules/c-strtod (Makefile.am): Likewise.
69465         * modules/c-strtold (Makefile.am): Likewise.
69466         * modules/calloc (Makefile.am): Likewise.
69467         * modules/canon-host (Makefile.am): Likewise.
69468         * modules/canonicalize (Makefile.am): Likewise.
69469         * modules/chdir-long (Makefile.am): Likewise.
69470         * modules/chdir-safer (Makefile.am): Likewise.
69471         * modules/check-version (Makefile.am): Likewise.
69472         * modules/chown (Makefile.am): Likewise.
69473         * modules/cloexec (Makefile.am): Likewise.
69474         * modules/close-stream (Makefile.am): Likewise.
69475         * modules/closeout (Makefile.am): Likewise.
69476         * modules/crc (Makefile.am): Likewise.
69477         * modules/cycle-check (Makefile.am): Likewise.
69478         * modules/des (Makefile.am): Likewise.
69479         * modules/dirfd (Makefile.am): Likewise.
69480         * modules/dirname (Makefile.am): Likewise.
69481         * modules/dup2 (Makefile.am): Likewise.
69482         * modules/euidaccess (Makefile.am): Likewise.
69483         * modules/exclude (Makefile.am): Likewise.
69484         * modules/exitfail (Makefile.am): Likewise.
69485         * modules/fcntl-safer (Makefile.am): Likewise.
69486         * modules/file-type (Makefile.am): Likewise.
69487         * modules/fileblocks (Makefile.am): Likewise.
69488         * modules/filemode (Makefile.am): Likewise.
69489         * modules/filenamecat (Makefile.am): Likewise.
69490         * modules/fnmatch (Makefile.am): Likewise.
69491         * modules/fopen-safer (Makefile.am): Likewise.
69492         * modules/fpending (Makefile.am): Likewise.
69493         * modules/fprintftime (Makefile.am): Likewise.
69494         * modules/free (Makefile.am): Likewise.
69495         * modules/fsusage (Makefile.am): Likewise.
69496         * modules/ftruncate (Makefile.am): Likewise.
69497         * modules/fts (Makefile.am): Likewise.
69498         * modules/gc (Makefile.am): Likewise.
69499         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
69500         * modules/getaddrinfo (Makefile.am): Likewise.
69501         * modules/getcwd (Makefile.am): Likewise.
69502         * modules/getdelim (Makefile.am): Likewise.
69503         * modules/getdomainname (Makefile.am): Likewise.
69504         * modules/getgroups (Makefile.am): Likewise.
69505         * modules/gethostname (Makefile.am): Likewise.
69506         * modules/gethrxtime (Makefile.am): Likewise.
69507         * modules/getline (Makefile.am): Likewise.
69508         * modules/getloadavg (Makefile.am): Likewise.
69509         * modules/getlogin_r (Makefile.am): Likewise.
69510         * modules/getopt (Makefile.am): Likewise.
69511         * modules/getpass (Makefile.am): Likewise.
69512         * modules/getpass-gnu (Makefile.am): Likewise.
69513         * modules/getsubopt (Makefile.am): Likewise.
69514         * modules/gettime (Makefile.am): Likewise.
69515         * modules/gettimeofday (Makefile.am): Likewise.
69516         * modules/getugroups (Makefile.am): Likewise.
69517         * modules/getusershell (Makefile.am): Likewise.
69518         * modules/glob (Makefile.am): Likewise.
69519         * modules/group-member (Makefile.am): Likewise.
69520         * modules/hard-locale (Makefile.am): Likewise.
69521         * modules/hash (Makefile.am): Likewise.
69522         * modules/hmac-md5 (Makefile.am): Likewise.
69523         * modules/hmac-sha1 (Makefile.am): Likewise.
69524         * modules/human (Makefile.am): Likewise.
69525         * modules/idcache (Makefile.am): Likewise.
69526         * modules/imaxabs (Makefile.am): Likewise.
69527         * modules/imaxdiv (Makefile.am): Likewise.
69528         * modules/inet_ntop (Makefile.am): Likewise.
69529         * modules/inet_pton (Makefile.am): Likewise.
69530         * modules/inttostr (Makefile.am): Likewise.
69531         * modules/isapipe (Makefile.am): Likewise.
69532         * modules/lchown (Makefile.am): Likewise.
69533         * modules/long-options (Makefile.am): Likewise.
69534         * modules/lstat (Makefile.am): Likewise.
69535         * modules/malloc (Makefile.am): Likewise.
69536         * modules/mathl (Makefile.am): Likewise.
69537         * modules/mbchar (Makefile.am): Likewise.
69538         * modules/md2 (Makefile.am): Likewise.
69539         * modules/md4 (Makefile.am): Likewise.
69540         * modules/md5 (Makefile.am): Likewise.
69541         * modules/memcasecmp (Makefile.am): Likewise.
69542         * modules/memchr (Makefile.am): Likewise.
69543         * modules/memcmp (Makefile.am): Likewise.
69544         * modules/memcoll (Makefile.am): Likewise.
69545         * modules/memcpy (Makefile.am): Likewise.
69546         * modules/memmem (Makefile.am): Likewise.
69547         * modules/memmove (Makefile.am): Likewise.
69548         * modules/mempcpy (Makefile.am): Likewise.
69549         * modules/memrchr (Makefile.am): Likewise.
69550         * modules/memset (Makefile.am): Likewise.
69551         * modules/memxor (Makefile.am): Likewise.
69552         * modules/mkancesdirs (Makefile.am): Likewise.
69553         * modules/mkdir (Makefile.am): Likewise.
69554         * modules/mkdir-p (Makefile.am): Likewise.
69555         * modules/mkdtemp (Makefile.am): Likewise.
69556         * modules/mkstemp (Makefile.am): Likewise.
69557         * modules/mktime (Makefile.am): Likewise.
69558         * modules/modechange (Makefile.am): Likewise.
69559         * modules/mountlist (Makefile.am): Likewise.
69560         * modules/nanosleep (Makefile.am): Likewise.
69561         * modules/openat (Makefile.am): Likewise.
69562         * modules/pagealign_alloc (Makefile.am): Likewise.
69563         * modules/physmem (Makefile.am): Likewise.
69564         * modules/poll (Makefile.am): Likewise.
69565         * modules/posixtm (Makefile.am): Likewise.
69566         * modules/posixver (Makefile.am): Likewise.
69567         * modules/putenv (Makefile.am): Likewise.
69568         * modules/quote (Makefile.am): Likewise.
69569         * modules/quotearg (Makefile.am): Likewise.
69570         * modules/raise (Makefile.am): Likewise.
69571         * modules/read-file (Makefile.am): Likewise.
69572         * modules/readline (Makefile.am): Likewise.
69573         * modules/readlink (Makefile.am): Likewise.
69574         * modules/readtokens (Makefile.am): Likewise.
69575         * modules/readutmp (Makefile.am): Likewise.
69576         * modules/realloc (Makefile.am): Likewise.
69577         * modules/regex (Makefile.am): Likewise.
69578         * modules/rename (Makefile.am): Likewise.
69579         * modules/rename-dest-slash (Makefile.am): Likewise.
69580         * modules/rijndael (Makefile.am): Likewise.
69581         * modules/rmdir (Makefile.am): Likewise.
69582         * modules/rpmatch (Makefile.am): Likewise.
69583         * modules/safe-read (Makefile.am): Likewise.
69584         * modules/safe-write (Makefile.am): Likewise.
69585         * modules/same (Makefile.am): Likewise.
69586         * modules/save-cwd (Makefile.am): Likewise.
69587         * modules/savedir (Makefile.am): Likewise.
69588         * modules/setenv (Makefile.am): Likewise.
69589         * modules/settime (Makefile.am): Likewise.
69590         * modules/sha1 (Makefile.am): Likewise.
69591         * modules/sig2str (Makefile.am): Likewise.
69592         * modules/snprintf (Makefile.am): Likewise.
69593         * modules/stdlib-safer (Makefile.am): Likewise.
69594         * modules/stpcpy (Makefile.am): Likewise.
69595         * modules/stpncpy (Makefile.am): Likewise.
69596         * modules/strcase (Makefile.am): Likewise.
69597         * modules/strcasestr (Makefile.am): Likewise.
69598         * modules/strchrnul (Makefile.am): Likewise.
69599         * modules/strcspn (Makefile.am): Likewise.
69600         * modules/strdup (Makefile.am): Likewise.
69601         * modules/strerror (Makefile.am): Likewise.
69602         * modules/strftime (Makefile.am): Likewise.
69603         * modules/strndup (Makefile.am): Likewise.
69604         * modules/strnlen (Makefile.am): Likewise.
69605         * modules/strpbrk (Makefile.am): Likewise.
69606         * modules/strsep (Makefile.am): Likewise.
69607         * modules/strstr (Makefile.am): Likewise.
69608         * modules/strtod (Makefile.am): Likewise.
69609         * modules/strtoimax (Makefile.am): Likewise.
69610         * modules/strtok_r (Makefile.am): Likewise.
69611         * modules/strtol (Makefile.am): Likewise.
69612         * modules/strtoll (Makefile.am): Likewise.
69613         * modules/strtoul (Makefile.am): Likewise.
69614         * modules/strtoull (Makefile.am): Likewise.
69615         * modules/strtoumax (Makefile.am): Likewise.
69616         * modules/strverscmp (Makefile.am): Likewise.
69617         * modules/time_r (Makefile.am): Likewise.
69618         * modules/timegm (Makefile.am): Likewise.
69619         * modules/tmpfile-safer (Makefile.am): Likewise.
69620         * modules/unistd-safer (Makefile.am): Likewise.
69621         * modules/unlinkdir (Makefile.am): Likewise.
69622         * modules/userspec (Makefile.am): Likewise.
69623         * modules/utime (Makefile.am): Likewise.
69624         * modules/utimecmp (Makefile.am): Likewise.
69625         * modules/utimens (Makefile.am): Likewise.
69626         * modules/vasnprintf (Makefile.am): Likewise.
69627         * modules/vasprintf (Makefile.am): Likewise.
69628         * modules/vsnprintf (Makefile.am): Likewise.
69629         * modules/xalloc (Makefile.am): Likewise.
69630         * modules/xgetcwd (Makefile.am): Likewise.
69631         * modules/xnanosleep (Makefile.am): Likewise.
69632         * modules/xreadlink (Makefile.am): Likewise.
69633         * modules/xstrtod (Makefile.am): Likewise.
69634         * modules/xstrtol (Makefile.am): Likewise.
69635         * modules/xstrtold (Makefile.am): Likewise.
69636         * modules/yesno (Makefile.am): Likewise.
69637
69638 2006-10-12  Jim Meyering  <jim@meyering.net>
69639
69640         * m4/getloadavg.m4: Revert the change below.
69641
69642         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
69643         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
69644         fail with a symlink, which is what coreutils' ./bootstrap now
69645         creates by default.
69646
69647 2006-10-12  Bruno Haible  <bruno@clisp.org>
69648
69649         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
69650         mingw.
69651         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
69652         MSVC and mingw explicitly.
69653
69654 2006-10-11  Simon Josefsson  <jas@extundo.com>
69655             Bruno Haible  <bruno@clisp.org>
69656
69657         Add support for multiple gnulib-tool invocations in the scope of a
69658         single configure.ac file.
69659         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
69660         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
69661         with the same contents as the _LIBADD variable.
69662         (func_emit_initmacro_start, func_emit_initmacro_end,
69663         func_emit_initmacro_done): New functions.
69664         (func_import, func_create_testdir): Invoke them. Allow the identifiers
69665         gl_LIBOBJS and gl_LTLIBOBJS.
69666
69667 2006-10-11  Bruno Haible  <bruno@clisp.org>
69668
69669         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
69670         (func_create_testdir): Don't create po/Makefile.am, don't invoke
69671         autoreconf. Instead, invoke autopoint explicitly but move back the
69672         *.m4 files from gnulib.
69673
69674 2006-10-11  Bruno Haible  <bruno@clisp.org>
69675
69676         * gnulib-tool (func_usage): Make module names after --create-testdir
69677         optional.
69678         (func_create_testdir): If no module was specified, use nearly all
69679         modules.
69680
69681 2006-10-12  Jim Meyering  <jim@meyering.net>
69682
69683         Big performance improvement for fts-based tools that use FTS_NOSTAT.
69684         Avoid spurious inode-mismatch problems on non-POSIX file systems.
69685         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
69686         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
69687         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
69688         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
69689         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
69690         (fts_set_stat_required): New function.
69691         (fts_open): Defer the calls to fts_stat, if possible or requested.
69692         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
69693         into fts_stat itself.
69694         (fts_read): Perform any required (deferred) fts_stat call.
69695         (fts_build): Likewise, for the directory we're about to open and read.
69696         In the readdir loop, carefully decide whether each entry will require
69697         an eventual call to fts_stat, using dirent.d_type info if available.
69698         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
69699         a command line argument into this function.  Update all callers.
69700         Map a return value of FTS_DOT to FTS_D for a command line argument.
69701         * modules/fts (Depends-on): Add d-type.  Alphabetize.
69702         Thanks to Miklos Szeredi for his tenacity and for the initial
69703         bug report about "find" failing on a FUSE-based file system.
69704
69705         * lib/fts.c (fts_open): Use consistent indentation.
69706
69707 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
69708
69709         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
69710         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
69711         reported by Jim Meyering.  All uses of cache variables renamed
69712         to match Autoconf's.
69713         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
69714         the other one.
69715
69716         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
69717         Fix misspelling in diagnostic.
69718
69719 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
69720
69721         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
69722         defined.  Problem reported by Matthew Woehlke.
69723
69724         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
69725         Add support for Tandem NonStop R series.
69726         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
69727         Use new macro.
69728
69729         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
69730         (has_trailing_slash): Omit size arg; all callers changed.
69731         Omit 'inline', since it doesn't help performance and we'd
69732         need to configure it.
69733         Don't count //, ///, etc. as having a trailing slash.
69734         As a side effect, this removes a C99ism reported by Matthew Woehlke.
69735         (rpl_rename_dest_slash): On failure, use rename's errno rather
69736         than (in some cases) an incorrect or junk errno.
69737         Simplify code by removing need to compute length; this does
69738         cause it to make two passes instead of one over the file name,
69739         but it's worth it.
69740
69741         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
69742         change, since Autoconf's version may no longer be appropriate now
69743         that we are using CVS Autoconf's version.  Add support for Tandem.
69744
69745 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
69746             Bruno Haible  <bruno@clisp.org>
69747
69748         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
69749         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
69750         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
69751         gl_AC_TYPE_LONG_LONG.
69752
69753         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
69754         instead of HAVE_LONG_LONG.
69755         * lib/printf-args.c (printf_fetchargs): Likewise.
69756         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
69757         * lib/vasnprintf.c (VASNPRINTF): Likewise.
69758         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
69759         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
69760         gl_AC_TYPE_LONG_LONG.
69761
69762 2006-10-11  Bruno Haible  <bruno@clisp.org>
69763
69764         * m4/longlong.m4: Add comments.
69765         * m4/ulonglong.m4: Likewise.
69766
69767 2006-10-10  Bruno Haible  <bruno@clisp.org>
69768
69769         Make it possible to #define stpcpy, strdup to aliases.
69770         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
69771         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
69772
69773 2006-10-10  Bruno Haible  <bruno@clisp.org>
69774
69775         Make it possible to #define gcd to an alias.
69776         * lib/gcd.c: Include config.h.
69777
69778 2006-10-10  Bruno Haible  <bruno@clisp.org>
69779
69780         Make it possible to #define c_isascii to an alias.
69781         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
69782         defined. Undefine the macros before defining them, to avoid gcc
69783         warnings.
69784         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
69785         define NO_C_CTYPE_MACROS early.
69786
69787 2006-10-10  Bruno Haible  <bruno@clisp.org>
69788
69789         Make it possible to #define set_program_name to an alias.
69790         * lib/progname.c: Don't undefine set_program_name; instead, undefine
69791         ENABLE_RELOCATABLE early.
69792
69793 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
69794
69795         Port to Tandem NSK OSS, which has 64-bit signed int but at most
69796         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
69797         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
69798         More generally, don't assume that 64-bit signed int is available
69799         if unsigned int is, and vice versa.
69800         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
69801         unsigned symbols, not on their signed counterparts.
69802         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
69803         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
69804         (UINT64_C, UINTMAX_C):
69805         Likewise.
69806         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
69807         unsigned counterparts.
69808         (Have_long_long, Unsigned): New macros.
69809         (Int): Renamed from INT.
69810         (strtoimax): Use the new macros.
69811         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
69812         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
69813         * modules/inttypes (inttypes.h): Substitute
69814         HAVE_UNSIGNED_LONG_LONG_INT.
69815         * modules/stdint (stdint.h): Likewise.
69816         (Files): Add m4/ulonglong.m4.
69817
69818 2006-10-10  Bruno Haible  <bruno@clisp.org>
69819
69820         Fix a gcc -Wshadow warning.
69821         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
69822         to 'bucket'.
69823         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
69824         gl_linked_indexof_from_to): Likewise.
69825         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
69826         Likewise.
69827         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
69828         Likewise.
69829         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
69830         Reported by Eric Blake.
69831
69832 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
69833
69834         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
69835         for NetBSD.  Problem reported by Bruno Haible.
69836
69837 2006-10-09  Jim Meyering  <jim@meyering.net>
69838
69839         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
69840         Patch from Bruno Haible.
69841
69842 2006-10-09  Jim Meyering  <jim@meyering.net>
69843
69844         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
69845         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
69846         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
69847
69848 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
69849
69850         Don't include <config.h> twice; this doesn't work in some cases,
69851         e.g., when config.h has "#define intmax_t long long int" and
69852         we include <config.h>, <inttypes.h>, <config.h> in that order.
69853         Problem reported by Matthew Woehlke in:
69854         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
69855         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
69856         * lib/fts-cycle.c: Don't include config.h.
69857         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
69858         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
69859         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
69860         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
69861         inttypes.h.
69862         * lib/xstrtoumax.c: Likewise.
69863         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
69864         __strtol and the like, so that this module is more like its siblings.
69865         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
69866         Remove; no longer needed now that we assume gnulib inttypes.h.
69867
69868 2006-10-08  Bruno Haible  <bruno@clisp.org>
69869
69870         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
69871         option.
69872
69873 2006-10-07  Jim Meyering  <jim@meyering.net>
69874
69875         * modules/inttypes (inttypes.h): Revert what seems to have been
69876         an inadvertent part of today's change: use "|", not "/" in the
69877         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
69878
69879 2006-10-07  Bruno Haible  <bruno@clisp.org>
69880
69881         * modules/sublist: New file.
69882
69883 2006-10-07  Bruno Haible  <bruno@clisp.org>
69884
69885         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
69886         * modules/argz (argz.h): Likewise.
69887         * modules/arpa_inet (arpa/inet.h): Likewise.
69888         * modules/byteswap (byteswap.h): Likewise.
69889         * modules/configmake (configmake.h): Likewise.
69890         * modules/fcntl (fcntl.h): Likewise.
69891         * modules/fnmatch (fnmatch.h): Likewise.
69892         * modules/getopt (getopt.h): Likewise.
69893         * modules/glob (glob.h): Likewise.
69894         * modules/inttypes (inttypes.h): Likewise.
69895         * modules/netinet_in (netinet/in.h): Likewise.
69896         * modules/poll (poll.h): Likewise.
69897         * modules/stdbool (stdbool.h): Likewise.
69898         * modules/stdint (stdint.h): Likewise.
69899         * modules/sys_select (sys/select.h): Likewise.
69900         * modules/sys_socket (sys/socket.h): Likewise.
69901         * modules/sys_stat (sys/stat.h): Likewise.
69902         * modules/sysexits (sysexits.h): Likewise.
69903         * modules/unistd (unistd.h): Likewise.
69904         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69905         Add a "DO NOT EDIT" comment to the generated file.
69906         (func_import): Likewise for gnulib-comp.m4.
69907
69908 2006-10-07  Bruno Haible  <bruno@clisp.org>
69909
69910         * lib/gl_sublist.h: New file.
69911         * lib/gl_sublist.c: New file.
69912
69913 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
69914
69915         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
69916         name (relative to the original working directory) and the file
69917         name component (relative to the temporary working directory).  All
69918         callers changed.
69919         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
69920         * lib/mkdir-p.c (make_dir_parents): Likewise.
69921         * lib/mkdir-p.h (make_dir_parents): Likewise.
69922
69923 2006-10-06  Eric Blake  <ebb9@byu.net>
69924
69925         Define several macros for use by the clean-temp module.
69926         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
69927         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
69928         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
69929
69930         * lib/clean-temp.h (close_stream_temp): New declaration.
69931         * lib/clean-temp.c (includes): Pull in headers according to what
69932         other modules are in use.
69933         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
69934
69935 2006-10-06  Bruno Haible  <bruno@clisp.org>
69936
69937         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
69938         instead of fopen, fwriteerror.
69939
69940 2006-10-06  Bruno Haible  <bruno@clisp.org>
69941
69942         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
69943         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
69944         int.
69945         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
69946         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
69947         Return an error indicator.
69948         Suggested by Eric Blake.
69949
69950 2006-10-06  Bruno Haible  <bruno@clisp.org>
69951
69952         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
69953         Reported by Eric Blake.
69954
69955 2006-10-06  Bruno Haible  <bruno@clisp.org>
69956
69957         * modules/closeout (Description): Mention stderr too.
69958
69959 2006-10-06  Bruno Haible  <bruno@clisp.org>
69960         and Paul Eggert  <eggert@cs.ucla.edu>
69961
69962         * lib/closeout.c (close_stdout): Also close stderr.
69963         * lib/closeout.h: Update comment.
69964
69965 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
69966
69967         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
69968         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
69969         * lib/dirchownmod.c: Include lchown.h.
69970         * lib/lchown.c: Don't include files that lchown.h now includes.
69971         Don't declare chown, since lchown.h now does that.
69972         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
69973         (lchown): Define to rpl_chown if lchown is declared but
69974         does not exist.  Declare using a prototype if lchown is not
69975         declared.  Add a copyright notice.
69976         * lib/mkstemp.h: Include <unistd.h>.
69977         * lib/openat.c: Include lchown.h.
69978
69979         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
69980         we now test for that separately.
69981         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
69982         rather than O_NOFOLLOW, when testing whether it's possible to
69983         avoid a race condition reliably.
69984         * lib/savewd.c (savewd_chdir): Likewise.
69985
69986         Remove macros that are no longer needed now that stdint.h is
69987         reliable.
69988         * lib/fsusage.c (UINTMAX_MAX): Remove.
69989         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
69990         * lib/utimecmp.c (SIZE_MAX): Remove.
69991
69992         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
69993
69994         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
69995         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
69996         O_NOATIME works.
69997
69998 2006-10-05  Bruno Haible  <bruno@clisp.org>
69999
70000         * lib/gl_list.h (gl_sortedlist_search_from_to,
70001         gl_sortedlist_indexof_from_to): New declarations.
70002         (gl_list_implementation): New fields sortedlist_search_from_to,
70003         sortedlist_indexof_from_to.
70004         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
70005         inline functions.
70006         * lib/gl_list.c (gl_sortedlist_search_from_to,
70007         gl_sortedlist_indexof_from_to): New functions.
70008         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
70009         function.
70010         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
70011         (gl_array_sortedlist_search_from_to): New function.
70012         (gl_array_list_implementation): Update.
70013         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
70014         function.
70015         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
70016         (gl_carray_sortedlist_search_from_to): New function.
70017         (gl_carray_list_implementation): Update.
70018         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
70019         gl_linked_sortedlist_indexof_from_to): New functions.
70020         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
70021         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
70022         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
70023         gl_tree_sortedlist_indexof_from_to): New functions.
70024         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
70025         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
70026         Update.
70027         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
70028         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
70029         Update.
70030
70031 2006-10-05  Bruno Haible  <bruno@clisp.org>
70032
70033         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
70034         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
70035         (struct gl_list_implementation): Add fields search_from_to,
70036         indexof_from_to. Remove fields search, indexof.
70037         (gl_list_search): Use the search_from_to method.
70038         (gl_list_search_from, gl_list_search_from_to): New functions.
70039         (gl_list_indexof): Use the indexof_from_to method.
70040         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
70041         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
70042         (gl_list_search_from, gl_list_search_from_to): New functions.
70043         (gl_list_indexof): Use the indexof_from_to method.
70044         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
70045         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
70046         gl_array_indexof. Add start_index, end_index arguments.
70047         (gl_array_search_from_to): Renamed from gl_array_search. Add
70048         start_index, end_index arguments.
70049         (gl_array_remove, gl_array_list_implementation): Update.
70050         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
70051         gl_carray_indexof. Add start_index, end_index arguments.
70052         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
70053         start_index, end_index arguments.
70054         (gl_carray_remove, gl_carray_list_implementation): Update.
70055         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
70056         gl_linked_search. Add start_index, end_index arguments.
70057         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
70058         start_index, end_index arguments.
70059         (gl_linked_remove): Update.
70060         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
70061         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
70062         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
70063         field to 'size_t'.
70064         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
70065         gl_tree_search. Add start_index, end_index arguments.
70066         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
70067         start_index, end_index arguments.
70068         (gl_tree_remove): Update.
70069         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
70070         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
70071         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
70072         function.
70073         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
70074         gl_tree_search. Add start_index, end_index arguments.
70075         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
70076         start_index, end_index arguments.
70077         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
70078         Update.
70079         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
70080
70081 2006-10-05  Bruno Haible  <bruno@clisp.org>
70082
70083         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
70084
70085         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
70086         fwriteerror_temp): New declarations.
70087         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
70088         (descriptors): New variable.
70089         (cleanup): First, close the descriptors.
70090         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
70091         fclose_temp, fwriteerror_temp): New functions.
70092
70093 2006-10-04  Jim Meyering  <jim@meyering.net>
70094
70095         * lib/fts.c (fts_open): Tiny comment change.
70096
70097 2006-10-04  Bruno Haible  <bruno@clisp.org>
70098
70099         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
70100         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
70101         gl_LOCK_BODY.
70102         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
70103         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
70104         gl_LOCK_EARLY_BODY.
70105         (gl_LOCK): Require gl_LOCK_BODY.
70106
70107 2006-10-04  Bruno Haible  <bruno@clisp.org>
70108
70109         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
70110         (gl_oset_search_atleast): New declaration.
70111         (struct gl_oset_implementation): Add field 'search_atleast'.
70112         (gl_oset_search_atleast): New inline function.
70113         * lib/gl_oset.c (gl_oset_search_atleast): New function.
70114         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
70115         (gl_array_oset_implementation): Update.
70116         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
70117         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
70118         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
70119
70120 2006-10-04  Bruno Haible  <bruno@clisp.org>
70121
70122         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
70123
70124 2006-10-03  Bruno Haible  <bruno@clisp.org>
70125
70126         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
70127         from gl_avltreehash_list_implementation.
70128
70129 2006-10-03  Bruno Haible  <bruno@clisp.org>
70130
70131         * lib/gl_oset.c (gl_oset_add): Fix return type.
70132
70133 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
70134
70135         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
70136
70137 2006-10-02  Eric Blake  <ebb9@byu.net>
70138
70139         * modules/strnlen (Depends-on): Add extensions.
70140
70141 2006-10-02  Eric Blake  <ebb9@byu.net>
70142
70143         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
70144         definition in 2.60+.
70145
70146 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
70147
70148         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
70149         checks.
70150
70151 2006-10-02  Bruno Haible  <bruno@clisp.org>
70152
70153         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
70154         to the AUTOMAKE_OPTIONS.
70155         Reported by Jim Meyering.
70156
70157 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
70158
70159         Work around bug in Solaris 10 /proc file system:
70160         /proc/self/fd/NNN/.. isn't the parent directory of
70161         the directory whose file descriptor is NNN.  This needs to
70162         be worked around at run time, not compile time, since a
70163         program might be built on Solaris 8, where things work, and
70164         run on Solaris 10.
70165         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
70166         to use the following interface instead:
70167         (OPENAT_BUFFER_SIZE): New macro.
70168         (openat_proc_name): New function.
70169         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
70170         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
70171         Likewise.
70172         * lib/openat-proc.c: New file.
70173         * modules/openat (Files): Add lib/openat-proc.c.
70174         (Depends-on): Add same-inode, stdbool.
70175         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
70176
70177 2006-09-29  Bruno Haible  <bruno@clisp.org>
70178
70179         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
70180         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
70181         argument. Set stdout_closed before testing for ferror, not after.
70182         (fwriteerror, fwriteerror_no_ebadf): New functions.
70183
70184 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70185
70186         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
70187
70188 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
70189
70190         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
70191         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
70192
70193 2006-09-28  Jim Meyering  <jim@meyering.net>
70194
70195         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
70196         Include <unistd.h>.
70197
70198 2006-09-28  Bruno Haible  <bruno@clisp.org>
70199
70200         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
70201         * modules/linkedhash-list (Depends-on): Likewise.
70202         * modules/rbtreehash-list (Depends-on): Likewise.
70203
70204 2006-09-28  Bruno Haible  <bruno@clisp.org>
70205
70206         * lib/strndup.h: Simplify the redefinition of strndup.
70207         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
70208         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
70209
70210 2006-09-28  Bruno Haible  <bruno@clisp.org>
70211
70212         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
70213         * lib/gl_linkedhash_list.c: Likewise.
70214         * lib/gl_rbtreehash_list.c: Likewise.
70215
70216 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
70217
70218         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
70219         getaddrinfo.
70220
70221         * lib/__fpending.h: Don't include <stdio_ext.h> unless
70222         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
70223         it causes <stdio_ext.h> to cause a compile-time error.
70224         Problem reported by Nelson H. F. Beebe.
70225         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
70226         of HAVE_DECL___PENDING.
70227
70228         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
70229         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
70230         declaration.
70231
70232 2006-09-27  Jim Meyering  <jim@meyering.net>
70233
70234         This file could end up with a definition for a function
70235         named __strndup, rather than rpl_strndup on a system with
70236         incomplete weak_alias support.
70237         * lib/strndup.c (strndup): Rename from __strndup.
70238         Remove #defines that used to map __strndup to strndup.
70239         Don't use K&R prototypes.
70240         Remove LIBC-related code, since this file is not sync'd with glibc.
70241         * lib/strndup.h: Revamp, accordingly.
70242         * m4/strndup.m4: Modernize.
70243
70244 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
70245
70246         * modules/savewd (Depends-on): Add 'raise'.
70247         * lib/savewd.c: Include <signal.h>, for 'raise'.
70248
70249 2006-09-26  Jim Meyering  <jim@meyering.net>
70250
70251         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
70252         when we detect Darwin 8.7.0's acl_get_file bug.
70253         Rearrange to perform the new (below) run-test while $LIBS
70254         contains any acl-related library.  Set USE_ACL at the end.
70255         (gl_ACL_GET_FILE): New function.
70256
70257 2006-09-26  Eric Blake  <ebb9@byu.net>
70258
70259         * lib/verror.c: Include <config.h> unconditionally.
70260
70261 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
70262
70263         * modules/clock-time (Maintainer): Add self.
70264         * modules/getlogin_r (Depends-on): Add extensions.
70265
70266 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70267
70268         * modules/clock-time: New module.
70269         * modules/nanosleep (Depends-on): Add clock-time.
70270         * modules/gethrxtime (Depends-on): Likewise.
70271         * modules/gettime (Depends-on): Likewise.
70272         * modules/settime (Depends-on): Likewise.
70273
70274         * modules/fts-lgpl: Depend on openat.
70275         * modules/mkancesdirs: Depend on savewd.
70276         * modules/mkdir-p: Likewise.
70277
70278 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70279
70280         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
70281
70282         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
70283         `gl_have_arbitrary_file_name_length_limit' to
70284         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
70285         actually works between configure runs.
70286
70287 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70288             Bruno Haible  <bruno@clisp.org>
70289
70290         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
70291
70292 2006-09-25  Jim Meyering  <jim@meyering.net>
70293
70294         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
70295         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
70296
70297 2006-09-25  Eric Blake  <ebb9@byu.net>
70298
70299         * gnulib-tool (func_import, func_create_testdir): Fix typos in
70300         exec's in 2006-09-18 patch when shuffling fds.
70301
70302 2006-09-25  Bruno Haible  <bruno@clisp.org>
70303
70304         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
70305         Reported by Jim Meyering.
70306
70307 2006-09-24  Jim Meyering  <jim@meyering.net>
70308
70309         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
70310         compare a pointer against a literal "0".  That caused failures with
70311         at least HP-UX's hpcc.
70312
70313 2006-09-22  Simon Josefsson  <jas@extundo.com>
70314
70315         * modules/gc-sha1:
70316         * modules/gc-md4:
70317         * modules/gc-hmac-sha1:
70318         * modules/gc-hmac-md5:
70319         * modules/gc-des:
70320         * modules/gc-arcfour: Distribute more files.
70321
70322 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70323
70324         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
70325         (gl_linked_iterator_from_to): Initialize struct completely.
70326         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
70327         (gl_tree_iterator_from_to): Likewise
70328         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
70329         * lib/gl_array_list.c [lint] (gl_array_iterator)
70330         (gl_array_iterator_from_to): Likewise.
70331         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
70332         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
70333         (gl_carray_iterator_from_to): Likewise.
70334
70335         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
70336         * lib/md4.c (md4_process_block): Remove unused variable.
70337         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
70338         parentheses for clarity.
70339
70340 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70341
70342         * modules/bison-i18n (Depends-on): Add gettext.
70343
70344 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70345
70346         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
70347         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
70348         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
70349         also add missing comma that caused broken test.
70350         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
70351         stdlib.h, for `abort'.
70352         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
70353         variables.
70354         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
70355         include unistd.h if present, for `rmdir'.
70356         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
70357         variables.
70358         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
70359         in the process include standard headers for prototypes.
70360         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
70361         gets declared on GNU/Linux.
70362         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
70363         unistd.h, for `rmdir'.
70364         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
70365
70366         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
70367         always true.
70368         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
70369
70370         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
70371
70372 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70373
70374         * gnulib-tool (func_version): Create output all at once.  This
70375         may help avoid triggering unnecessary SIGPIPEs, and at any
70376         rate it doesn't hurt.
70377
70378 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70379             Bruno Haible  <bruno@clisp.org>
70380
70381         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
70382         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
70383         * m4/signed.m4 (bh_C_SIGNED): Likewise.
70384
70385         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
70386         (gl_FUNC_VASPRINTF): Invoke it.
70387
70388 2006-09-22  Bruno Haible  <bruno@clisp.org>
70389
70390         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
70391         getloadavg.c as first argument.
70392
70393 2006-09-22  Bruno Haible  <bruno@clisp.org>
70394
70395         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
70396         at the beginning of the gl_INIT macro.
70397         * modules/getloadavg (configure.ac): Pass $gl_source_base to
70398         gl_GETLOADAVG.
70399
70400 2006-09-22  Bruno Haible  <bruno@clisp.org>
70401
70402         * gnulib-tool (func_create_megatestdir): Don't include the config-h
70403         module.
70404         Suggested by Ralf Wildenhues.
70405
70406 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
70407
70408         Import this patch from libc:
70409
70410         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
70411
70412         * lib/regex_internal.c (re_string_reconstruct): Handle
70413         offset < pstr->valid_raw_len && pstr->offsets_needed case.
70414         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
70415         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
70416         re_string_context_at.
70417
70418         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
70419         now requires it.
70420         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
70421         gl_REGEX now does it for us.
70422         (gl_REGEX): Add test taken from
70423         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
70424
70425         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
70426         Check that large offsets work.  Modernize Autoconf usages.
70427         Prefer "yes" to mean a good thing rather than a bad.
70428         Don't put "#define mkstemp" in config.h, as this might interfere
70429         with standard system headers that "#define mkstemp mkstemp64".
70430
70431         * modules/mkstemp (Depends-on): Add extensions, so that
70432         mkstemp is visible on some platforms.
70433         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
70434         (Include): Change to "mkstemp.h" from <stdlib.h>.
70435         (Files): Add mkstemp.h.
70436
70437         * lib/mkstemp.h: New file, since some standard headers
70438         #define mkstemp.
70439         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
70440         Include "mkstemp.h".
70441         Make the _LIBC code resemble glibc original more,
70442         e.g., use K&R style.
70443         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
70444         (mkstemp): Remove, since mkstemp.h does this for us.
70445         * lib/stdlib--.h: Include mkstemp.h.
70446
70447         Import this patch from libc:
70448
70449         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
70450
70451         * lib/tempname.c (__gen_tempname): Change attempts_min
70452         into a macro.  Use preprocessor to decide how to initialize
70453         attempts [Coverity CID 67].
70454
70455 2006-09-20  Bruno Haible  <bruno@clisp.org>
70456
70457         * lib/mkdtemp.c: Import from libc.
70458         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
70459                 * sysdeps/posix/tempname.c (__gen_tempname): Change
70460                 attempts_min into a macro.  Use preprocessor to decide how to
70461                 initialize attempts [Coverity CID 67].
70462         2001-11-27  Paul Eggert  <eggert@twinsun.com>
70463                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
70464                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
70465
70466 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70467
70468         * gnulib-tool (func_exit): New function, to allow to pass the
70469         exit status portably through the trap.  Use everywhere.
70470         (--help, --version): Signal a write error.
70471         (trap): catch SIGPIPE, for write errors.
70472         Exit at the end of the trap, with the correct exit status.
70473
70474 2006-09-19  Karl Berry  <karl@gnu.org>
70475
70476         * doc/gnulib.texi: note about the license texinfo files.
70477
70478 2006-09-19  Eric Blake  <ebb9@byu.net>
70479
70480         * gnulib-tool: Avoid space-tab.
70481
70482 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
70483
70484         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
70485         that prevented coreutils 6.1 from building.  Problem reported
70486         by Petter Reinholdtsen.
70487
70488 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
70489
70490         * gnulib-tool (avoidlist): Fix typo that broke options like
70491         --avoid=lock that are used by coreutils bootstrap.
70492
70493 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
70494
70495         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
70496         more systematically.
70497
70498 2006-09-18  Jim Meyering  <jim@meyering.net>
70499
70500         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
70501
70502 2006-09-18  Bruno Haible  <bruno@clisp.org>
70503
70504         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
70505
70506 2006-09-18  Bruno Haible  <bruno@clisp.org>
70507
70508         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
70509         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
70510         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
70511         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
70512         * m4/gettext.m4: Require autoconf >= 2.52.
70513         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
70514         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
70515         of gl_cv_header_inttypes_h.
70516
70517 2006-09-18  Bruno Haible  <bruno@clisp.org>
70518
70519         * lib/javaversion.c: Include configmake.h.
70520
70521 2006-09-18  Bruno Haible  <bruno@clisp.org>
70522
70523         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
70524         avoid that the while loops be executed in a subshell.
70525
70526 2006-09-18  Bruno Haible  <bruno@clisp.org>
70527
70528         * MODULES.html.sh (func_module): Break long lines.
70529         Suggested by Bruce Korb <bkorb@gnu.org>.
70530
70531 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70532
70533         Speed up by a factor of 1.12.
70534         * gnulib-tool (nl): New variable.
70535         (func_import): Rewrite include directive extraction to only read each
70536         directive once.
70537
70538 2006-09-17  Bruno Haible  <bruno@clisp.org>
70539
70540         * modules/javaversion (Makefile.am): Remove DEFS setting.
70541         (Depends-on): Add configmake, for PKGDATADIR definition.
70542
70543 2006-09-17  Bruno Haible  <bruno@clisp.org>
70544
70545         * gnulib-tool (func_create_testdir): Rewrite all files at once.
70546
70547 2006-09-17  Bruno Haible  <bruno@clisp.org>
70548
70549         * gnulib-tool (func_append): New function, stolen from libtool.m4.
70550         (func_modules_transitive_closure, func_modules_add_dummy,
70551         func_modules_to_filelist, func_import, func_create_testdir,
70552         func_create_megatestdir, ...): Use it wherever possible.
70553         Suggested by Ralf Wildenhues.
70554
70555 2006-09-16  Karl Berry  <karl@gnu.org>
70556
70557         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
70558         to avoid sectioning errors.
70559         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
70560         [ifinfo]: blank line after @center-ed titles.
70561         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
70562         Spell FSF address consistently with others.
70563         (These changes approved by rms.)
70564
70565 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70566
70567         Speed up by a factor of 1.61.
70568         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
70569         already checked module names again.
70570
70571 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70572
70573         Speed up by a factor of 1.13.
70574         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
70575         for new_files, and the input to func_add_or_update.
70576
70577 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70578
70579         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
70580         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
70581
70582 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70583
70584         * modules/mkancesdirs (Depends-on): Add fcntl.
70585         * modules/savewd: New file.
70586         * MODULES.html.sh (File system functions): Add savewd.
70587
70588         * modules/configmake (Makefile.am): Add support for the
70589         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
70590
70591 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70592
70593         * m4/savewd.m4: New file.
70594
70595 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70596
70597         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
70598         (dirchownmod): New arg FD.  All callers changed.
70599         Use FD rather than opening the directory ourself, as opening is
70600         now the caller's responsibility.
70601         * lib/dirchownmod.h: Likewise.
70602         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
70603         hosts that require <sys/types.h> before <sys/stat.h>.  Include
70604         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
70605         (test_dir): Remove.
70606         (mkancesdirs): Return length of prefix of FILE that has already
70607         been made, or -2 if there is a child doing the work.  Redo
70608         algorithm so that it is O(N) rather than O(N**2).  Optimize away
70609         ".", and treat ".." specially since it might stray back into
70610         already-created areas.  Use a subprocess if necessary.  New arg
70611         WD; all users changed.  MAKE_DIR function should now return 1
70612         if it creates a directory that is not readable.  Return -2 if
70613         a child process is spun off.
70614         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
70615         Adjust signature to match code.
70616         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
70617         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
70618         all users changed.
70619         * lib/savewd.c, lib/savewd.h: New files.
70620
70621 2006-09-15  Jim Meyering  <jim@meyering.net>
70622
70623         * modules/rename-dest-slash: New module.
70624         * MODULES.html.sh (posix_compat): Add it here.
70625
70626         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
70627
70628 2006-09-15  Jim Meyering  <jim@meyering.net>
70629
70630         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
70631         file.
70632
70633         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
70634
70635 2006-09-15  Jim Meyering  <jim@meyering.net>
70636
70637         * lib/rename-dest-slash.c (has_trailing_slash): Use
70638         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
70639         (rpl_rename_dest_slash): Perform the cheaper trailing slash
70640         test before testing whether SRC is a directory.
70641         Suggestions from Bruno Haible.
70642
70643         Avoid a warning about an unused variable.
70644         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
70645         into the #ifdef block where it's used.
70646
70647         * lib/rename-dest-slash.c: New file.
70648
70649 2006-09-14  Bruno Haible  <bruno@clisp.org>
70650
70651         * lib/allocsa.c: Include <config.h> unconditionally.
70652         * lib/asnprintf.c: Likewise.
70653         * lib/asprintf.c: Likewise.
70654         * lib/c-strcasecmp.c: Likewise.
70655         * lib/c-strcasestr.c: Likewise.
70656         * lib/c-strncasecmp.c: Likewise.
70657         * lib/c-strstr.c: Likewise.
70658         * lib/classpath.c: Likewise.
70659         * lib/clean-temp.c: Likewise.
70660         * lib/concatpath.c: Likewise.
70661         * lib/copy-file.c: Likewise.
70662         * lib/csharpcomp.c: Likewise.
70663         * lib/csharpexec.c: Likewise.
70664         * lib/execute.c: Likewise.
70665         * lib/fatal-signal.c: Likewise.
70666         * lib/findprog.c: Likewise.
70667         * lib/fwriteerror.c: Likewise.
70668         * lib/gl_array_list.c: Likewise.
70669         * lib/gl_array_oset.c: Likewise.
70670         * lib/gl_avltree_list.c: Likewise.
70671         * lib/gl_avltree_oset.c: Likewise.
70672         * lib/gl_avltreehash_list.c: Likewise.
70673         * lib/gl_carray_list.c: Likewise.
70674         * lib/gl_linked_list.c: Likewise.
70675         * lib/gl_linkedhash_list.c: Likewise.
70676         * lib/gl_list.c: Likewise.
70677         * lib/gl_oset.c: Likewise.
70678         * lib/gl_rbtree_list.c: Likewise.
70679         * lib/gl_rbtree_oset.c: Likewise.
70680         * lib/gl_rbtreehash_list.c: Likewise.
70681         * lib/imaxabs.c: Likewise.
70682         * lib/imaxdiv.c: Likewise.
70683         * lib/javacomp.c: Likewise.
70684         * lib/javaexec.c: Likewise.
70685         * lib/javaversion.c: Likewise.
70686         * lib/linebreak.c: Likewise.
70687         * lib/localcharset.c: Likewise.
70688         * lib/lock.c: Likewise.
70689         * lib/mbchar.c: Likewise.
70690         * lib/mbswidth.c: Likewise.
70691         * lib/mkdtemp.c: Likewise.
70692         * lib/pipe.c: Likewise.
70693         * lib/printf-args.c: Likewise.
70694         * lib/printf-parse.c: Likewise.
70695         * lib/progname.c: Likewise.
70696         * lib/progreloc.c: Likewise.
70697         * lib/readlink.c: Likewise.
70698         * lib/sh-quote.c: Likewise.
70699         * lib/stpcpy.c: Likewise.
70700         * lib/stpncpy.c: Likewise.
70701         * lib/strcasecmp.c: Likewise.
70702         * lib/strcasestr.c: Likewise.
70703         * lib/strcspn.c: Likewise.
70704         * lib/striconv.c: Likewise.
70705         * lib/strncasecmp.c: Likewise.
70706         * lib/strnlen1.c: Likewise.
70707         * lib/strstr.c: Likewise.
70708         * lib/strtok_r.c: Likewise.
70709         * lib/tls.c: Likewise.
70710         * lib/tmpdir.c: Likewise.
70711         * lib/unicodeio.c: Likewise.
70712         * lib/unsetenv.c: Likewise.
70713         * lib/vasnprintf.c: Likewise.
70714         * lib/vasprintf.c: Likewise.
70715         * lib/wait-process.c: Likewise.
70716         * lib/xallocsa.c: Likewise.
70717         * lib/xsetenv.c: Likewise.
70718         * lib/xstriconv.c: Likewise.
70719
70720 2006-09-13  Simon Josefsson  <jas@extundo.com>
70721
70722         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
70723         that internally, suggested by Ralf Wildenhues
70724         <Ralf.Wildenhues@gmx.de>.
70725
70726 2006-09-13  Simon Josefsson  <jas@extundo.com>
70727
70728         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
70729         @LIBOBJS@.
70730         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70731
70732 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
70733
70734         * lib/_fpending.c: Include <config.h> unconditionally, since we no
70735         longer worry about uses that don't define HAVE_CONFIG_H.
70736         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
70737         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
70738         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
70739         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
70740         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
70741         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
70742         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
70743         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
70744         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
70745         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
70746         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
70747         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
70748         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
70749         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
70750         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
70751         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
70752         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
70753         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
70754         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
70755         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
70756         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
70757         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
70758         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
70759         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
70760         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
70761         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
70762         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
70763         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
70764         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
70765         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
70766         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
70767         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
70768         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
70769         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
70770         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
70771         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
70772         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
70773         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
70774         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
70775         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
70776         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
70777         Likewise.
70778
70779 2006-09-13  Eric Blake  <ebb9@byu.net>
70780
70781         * lib/getopt.c: Fix typo in last commit.
70782
70783 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
70784
70785         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
70786         dgettext.
70787
70788 2006-09-12  Jim Meyering  <jim@meyering.net>
70789
70790         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
70791         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
70792         Reported by Nelson H. F. Beebe.
70793
70794 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
70795
70796         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
70797         program_invocation_name and program_invocation_short_name are
70798         initialized.
70799         * lib/argp-namefrob.h: Move declarations of program_invocation_name
70800         and program_invocation_short_name to argp.h, so they are visible
70801         to user programs.
70802         * lib/argp.h: Likewise
70803
70804 2006-09-10  Bruno Haible  <bruno@clisp.org>
70805
70806         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
70807         m4/inttypes_h.m4, m4/uintmax_t.m4.
70808
70809 2006-09-10  Bruno Haible  <bruno@clisp.org>
70810
70811         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
70812         gl_AC_TYPE_UINTMAX_T.
70813
70814 2006-09-10  Bruno Haible  <bruno@clisp.org>
70815
70816         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
70817
70818 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
70819
70820         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
70821         convention.  Text proposed by Bruno Haible.
70822         (struct argp_option): Document the use of N_() wrappers.
70823
70824         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
70825         '\v', and translate the two parts separately, instead of feeding
70826         the whole string to gettext.  This allows to exclude
70827         '\v' from the strings visible to the translator by writing doc
70828         strings as N_("..") "\v" N_("..").
70829
70830 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
70831
70832         * config/srclist.txt: Undo latest change; the bug was fixed.
70833
70834 2006-09-09  Bruno Haible  <bruno@clisp.org>
70835
70836         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
70837         assignments if building a library without libtool.
70838         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
70839         in func_emit_lib_Makefile_am.
70840         (func_import): When building a static library libfoo.a, arrange to
70841         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
70842         (func_create_testdir): Likewise.
70843         * modules/gc (configure.ac, Makefile.am): If building statically,
70844         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
70845         * modules/iconvme (configure.ac, Makefile.am): Likewise.
70846         * modules/striconv (configure.ac, Makefile.am): Likewise.
70847         Based on a suggestion by Ralf Wildenhues.
70848
70849 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70850
70851         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
70852         Check for unistd.h too, since Autoconf doesn't assume POSIX.
70853         Also:
70854
70855         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70856         Add year_2050_test to catch glibc bug 2821
70857         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
70858
70859         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
70860         Prefer #ifdef to #if.
70861
70862         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
70863         Return from 'main' instead of calling 'exit'.
70864
70865 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70866
70867         * lib/mktime.c (guess_time_tm): Fix bug where mktime
70868         returned the maximum time_t value rather than (time_t) -1.
70869         Problem originally reported by William Bardwell
70870         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
70871
70872         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
70873         Moved to here ...
70874         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
70875         ... from here.
70876
70877 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70878
70879         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
70880         2821 is fixed.
70881
70882 2006-09-08  Jim Meyering  <jim@meyering.net>
70883
70884         Don't make generated files read-only.  That would bother too many
70885         people.  However, do retain the ability to work when targets are
70886         read-only: remove the destination and temporary files before writing
70887         them (when generated via sed or echo), or by using the -f option for
70888         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
70889         * modules/alloca-opt, modules/argz, modules/arpa_inet:
70890         * modules/byteswap, modules/configmake, modules/fcntl:
70891         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
70892         * modules/localcharset, modules/netinet_in, modules/poll:
70893         * modules/stdbool, modules/stdint, modules/sys_select:
70894         * modules/sys_socket, modules/sys_stat, modules/sysexits:
70895
70896 2006-09-08  Jim Meyering  <jim@meyering.net>
70897
70898         Avoid new build failure on FreeBSD 6.0.
70899         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
70900         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
70901         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
70902
70903 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70904
70905         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
70906
70907 2006-09-07  Jim Meyering  <jim@meyering.net>
70908
70909         Fix global typo in last change: use chmod u-w, not chmod u-x.
70910         Spotted by Paul Eggert and Bruce Korb.
70911         * modules/alloca-opt, modules/argz, modules/arpa_inet:
70912         * modules/byteswap, modules/configmake, modules/fcntl:
70913         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
70914         * modules/localcharset, modules/netinet_in, modules/poll:
70915         * modules/stdbool, modules/stdint, modules/sys_select:
70916         * modules/sys_socket, modules/sys_stat, modules/sysexits:
70917
70918 2006-09-06  Jim Meyering  <jim@meyering.net>
70919
70920         Make generated files be read-only.
70921         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
70922         Ensure that each generated file is now read-only.
70923         * modules/argz: Likewise.
70924         * modules/arpa_inet: Likewise.
70925         * modules/byteswap: Likewise.
70926         * modules/configmake: Likewise.
70927         * modules/fcntl: Likewise.
70928         * modules/fnmatch: Likewise.
70929         * modules/getopt: Likewise.
70930         * modules/glob: Likewise.
70931         * modules/inttypes: Likewise.
70932         * modules/netinet_in: Likewise.
70933         * modules/poll: Likewise.
70934         * modules/stdbool: Likewise.
70935         * modules/stdint: Likewise.
70936         * modules/sys_select: Likewise.
70937         * modules/sys_socket: Likewise.
70938         * modules/sys_stat: Likewise.
70939         * modules/sysexits: Likewise.
70940         * modules/localcharset: Same as above, but continue using temporary
70941         file named "t-$@" (why different?) rather than the "$@-t" used
70942         everywhere else.
70943
70944         * modules/sysexits (Makefile.am): Replace literal occurrences
70945         of "sysexit.h" more readable, and more consistent, "$@".
70946
70947 2006-09-06  Bruno Haible  <bruno@clisp.org>
70948
70949         * modules/striconv: New file.
70950         * modules/xstriconv: New file.
70951         * MODULES.html.sh (Internationalization functions): Add striconv,
70952         xstriconv.
70953
70954 2006-09-06  Bruno Haible  <bruno@clisp.org>
70955
70956         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
70957         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
70958         not using libtool correctly.
70959
70960 2006-09-06  Bruno Haible  <bruno@clisp.org>
70961
70962         * lib/striconv.h: New file.
70963         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
70964         iconvstring.c.
70965         * lib/xstriconv.h: New file.
70966         * lib/xstriconv.c: New file.
70967
70968 2006-09-06  Bruno Haible  <bruno@clisp.org>
70969
70970         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70971         lib_..._LDFLAGS.
70972
70973 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70974
70975         * lib/argz_.h: Sync from Libtool.
70976
70977         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
70978                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
70979
70980         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
70981
70982 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
70983
70984         * modules/trim: New file.
70985
70986 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
70987
70988         * lib/trim.h: New file.
70989         * lib/trim.c: New file.
70990
70991 2006-09-05  Bruno Haible  <bruno@clisp.org>
70992
70993         * MODULES.html.sh (String handling): Add trim.
70994
70995 2006-09-04  Karl Berry  <karl@gnu.org>
70996
70997         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
70998         until next release.
70999
71000 2006-09-03  Bruno Haible  <bruno@clisp.org>
71001
71002         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
71003         correctly.
71004
71005 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71006
71007         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
71008         not gl_GETLOADAVG.  Omit unneeded semicolons.
71009         Problems reported by Ralf Wildenhues in
71010         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
71011         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
71012         at the end, which is the usual gnulib style.
71013
71014         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
71015         of doing all the work ourselves.
71016         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
71017         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
71018
71019 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71020
71021         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
71022         Problem reported by Ralf Wildenhues in
71023         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
71024
71025         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
71026         HAVE_STRUCT_STATFS_F_FSTYPENAME.
71027
71028 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71029
71030         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
71031         yesterday's patch by changing test -n to test -z.
71032
71033 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71034
71035         * modules/getloadavg (Files): Add m4/getloadavg.m4.
71036         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
71037         the former is now obsolescent.
71038
71039         * modules/chdir-long (Depends-on): Add fcntl.
71040
71041 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71042
71043         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
71044         obsolescent, and programs should use gnulib instead.
71045         * m4/getloadavg.m4: New file, with contents taken from Autoconf
71046         but with prefixes changed.
71047
71048 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71049
71050         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
71051         or stdbool.h, because they might not exist while configuring.
71052
71053         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
71054         Don't include unistd.h or limits.h; not needed, since chdir-long.h
71055         does that for us.
71056         (O_DIRECTORY): Remove.
71057
71058 2006-08-31  Eric Blake  <ebb9@byu.net>
71059
71060         * gnulib-tool: Don't let emacs change spaces to TAB.
71061
71062 2006-08-31  Bruno Haible  <bruno@clisp.org>
71063
71064         * gnulib-tool: When calling func_import more than once, do it in a
71065         subshell.
71066         Reported by Eric Blake <ebb9@byu.net>.
71067
71068 2006-08-31  Bruno Haible  <bruno@clisp.org>
71069
71070         * gnulib-tool (nl): Remove variable.
71071         (sed_transform_lib_file): Use more robust test for config-h module.
71072         (func_import): Fix typo in 2006-08-25 patch.
71073
71074 2006-08-31  Bruno Haible  <bruno@clisp.org>
71075
71076         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
71077         specified, augment Makefile.am variables instead of assigning them.
71078
71079 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71080
71081         Work around a bug in both the Linux and SunOS 64-bit kernels:
71082         nanosleep mishandles sleeps for longer than 2**31 seconds.
71083         Problem reported by Frank v Waveren in
71084         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
71085         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
71086         Check for nanosleep bug.
71087         (LIB_NANOSLEEP): Append clock_gettime library if needed.
71088
71089 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71090
71091         Work around a bug in both the Linux and SunOS 64-bit kernels:
71092         nanosleep mishandles sleeps for longer than 2**31 seconds.
71093         Problem reported by Frank v Waveren in
71094         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
71095         * lib/nanosleep.c (BILLION): New constant.
71096         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
71097         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
71098         implementation.
71099
71100 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71101
71102         * modules/nanosleep (Depends-on): Add gettime.
71103
71104 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71105         and Simon Josefsson  <jas@extundo.com>
71106         and Oskar Liljeblad  <oskar@osk.mine.nu>
71107
71108         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
71109         * gnulib-tool (func_import): New license type 'unmodifiable license
71110         text'.
71111         * modules/fdl: Use it.  Longer description.
71112         * module/gpl, module/lgpl: New files.
71113
71114 2006-08-30  Jim Meyering  <jim@meyering.net>
71115
71116         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
71117         shadowing the parameter.
71118
71119 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71120
71121         Sync from Libtool:
71122
71123         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71124
71125         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
71126         sharing with gnulib.  Report by Eric Blake.
71127
71128 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71129
71130         * modules/isapipe: New file.
71131         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
71132
71133 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71134
71135         * modules/configmake (Makefile.am): Add a comment, and omit
71136         the CONFIGMAKE_ prefix from generated macro names.  Suggested
71137         by Bruno Haible.
71138
71139 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71140
71141         * m4/isapipe.m4: New file.
71142
71143 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71144
71145         * lib/isapipe.c, lib/isapipe.h: New files.
71146
71147 2006-08-29  Jim Meyering  <jim@meyering.net>
71148
71149         * modules/configmake (Makefile.am): Make configmake.h depend on
71150         Makefile.  Otherwise, a stale configmake.h could hang around.
71151
71152 2006-08-29  Eric Blake  <ebb9@byu.net>
71153
71154         * lib/error.c (error_at_line, print_errno_message): Match libc, after
71155         resolution of upstream bug 3044.
71156
71157 2006-08-29  Bruno Haible  <bruno@clisp.org>
71158
71159         * modules/localcharset (Depends-on): Add configmake.
71160         (Makefile.am): Remove setting of LIBDIR through DEFS.
71161
71162 2006-08-29  Bruno Haible  <bruno@clisp.org>
71163
71164         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
71165         defined.
71166
71167 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71168
71169         * modules/fcntl: New file.
71170         * modules/chdir-safer (Depends-on): Add fcntl.
71171         * modules/fts: Likewise.
71172         * modules/mkdir-p: Likewise.
71173
71174         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
71175         This undoes the most recent change, since we're now addressing the
71176         problem in a different way.
71177
71178         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
71179         into output, since the output might be called Makefile.am even
71180         if $makefile_name is something different.
71181         (func_import): Use $makefile_am rather than
71182         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
71183         empty.
71184
71185         * modules/inttypes (Files): Add m4/inttypes-h.m4.
71186
71187 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71188
71189         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
71190         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
71191         recent change to stdint.m4, since we're now addressing the problem in a
71192         different way.
71193
71194 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71195
71196         * m4/fcntl_h.m4: New file.
71197
71198 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71199
71200         * lib/fcntl_.h: New file.
71201         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
71202         the fcntl module.
71203         * lib/dirchownmod.c: Likewise.
71204         * lib/fts.c: Likewise.
71205
71206         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
71207         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
71208         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
71209         just before including <inttypes.h>, to avoid circular inclusion.
71210
71211 2006-08-28  Jim Meyering  <jim@meyering.net>
71212
71213         * doc/visibility.texi: Actually read and correct the grammar of the
71214         sentence affected by yesterday's change.
71215
71216 2006-08-28  Eric Blake  <ebb9@byu.net>
71217
71218         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
71219         needs wrapper.
71220
71221 2006-08-28  Eric Blake  <ebb9@byu.net>
71222
71223         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
71224
71225 2006-08-28  Eric Blake  <ebb9@byu.net>
71226
71227         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
71228
71229 2006-08-28  Bruno Haible  <bruno@clisp.org>
71230
71231         * modules/c-strstr: New file, from GNU gettext.
71232         * MODULES.html.sh (String handling): Add c-strstr.
71233
71234 2006-08-28  Bruno Haible  <bruno@clisp.org>
71235
71236         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
71237         macros.
71238         Reported by Eric Blake.
71239
71240 2006-08-28  Bruno Haible  <bruno@clisp.org>
71241
71242         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
71243         (VASNPRINTF): Return a string of length > INT_MAX without failing.
71244         * lib/vasprintf.c: Include errno.h, limits.h.
71245         (EOVERFLOW): New fallback definition.
71246         (vasprintf): Test here whether the string length is > INT_MAX.
71247         * lib/vsnprintf.c: Include errno.h, limits.h.
71248         (EOVERFLOW): New fallback definition.
71249         (vsnprintf): Fix bug when generated string was too long for the buffer.
71250         Test here whether the string length is > INT_MAX.
71251
71252 2006-08-28  Bruno Haible  <bruno@clisp.org>
71253
71254         * lib/inttypes_.h (SCNX*): Remove definitions.
71255         Reported by Eric Blake.
71256
71257 2006-08-28  Bruno Haible  <bruno@clisp.org>
71258
71259         * lib/c-strstr.h: New file, from GNU gettext.
71260         * lib/c-strstr.c: New file, from GNU gettext.
71261
71262 2006-08-28  Bruno Haible  <bruno@clisp.org>
71263
71264         * gnulib-tool: Reorder some statements.
71265
71266 2006-08-28  Bruno Haible  <bruno@clisp.org>
71267
71268         * gnulib-tool: New option --makefile-name.
71269         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
71270         $makefile_name.
71271         (func_import): Write $makefile_name to the cache file, and read it from
71272         there unless explicitly specified. Use $makefile_name as file name
71273         instead of Makefile.am. Adjust the recommendations accordingly.
71274
71275 2006-08-28  Bruno Haible  <bruno@clisp.org>
71276
71277         * gnulib-tool (func_verify_module): Check against misapplying patch.
71278
71279 2006-08-28  Bruno Haible  <bruno@clisp.org>
71280
71281         * gnulib-tool (func_relativize, func_relconcat): New functions.
71282         Give an error if --local-dir is given with --update.
71283         Remove trailing slashes from $local_gnulib_dir.
71284         (func_import): Store the relativized $local_gnulib_dir in
71285         gnulib-cache.m4, and read it from there if not specified explicitly.
71286
71287 2006-08-28  Bruno Haible  <bruno@clisp.org>
71288
71289         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
71290         is the current directory. Respect also $local_gnulib_dir.
71291
71292 2006-08-28  Bruno Haible  <bruno@clisp.org>
71293             Simon Josefsson  <jas@extundo.com>
71294
71295         BeOS portability.
71296         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
71297
71298 2006-08-27  Jim Meyering  <jim@meyering.net>
71299
71300         * doc/visibility.texi: Remove duplicate word: "pointer".
71301
71302 2006-08-26  Bruno Haible  <bruno@clisp.org>
71303
71304         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
71305         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
71306         (Makefile.am): Create inttypes.h from inttypes_.h.
71307         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
71308
71309         * modules/imaxabs: New file.
71310
71311         * modules/imaxdiv: New file.
71312
71313 2006-08-26  Bruno Haible  <bruno@clisp.org>
71314
71315         * m4/inttypes.m4: New file.
71316         * m4/_inttypes_h.m4: Remove file.
71317         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
71318         PRI_MACROS_BROKEN.
71319         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
71320
71321         * m4/imaxabs.m4: New file.
71322
71323         * m4/imaxdiv.m4: New file.
71324
71325 2006-08-26  Bruno Haible  <bruno@clisp.org>
71326
71327         * lib/inttypes_.h: New file.
71328         * lib/inttypes.h: Remove file.
71329         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
71330
71331         * lib/imaxabs.c: New file.
71332
71333         * lib/imaxdiv.c: New file.
71334
71335 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71336
71337         New config-h module, so that "make" output needn't be cluttered
71338         by -DHAVE_CONFIG_H.
71339         * MODULES.html.sh (Support for building libraries and executables):
71340         Add config-h.
71341         * modules/config-h: New file.
71342         * gnulib-tool (nl, sed_transform_lib_file): New vars.
71343         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
71344         the config-h module is used.
71345
71346         New configmake module, so that "make" output needn't be cluttered
71347         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
71348         * MODULES.html.sh (Support for building libraries and executables):
71349         Add configmake.
71350         * modules/configmake: New file.
71351
71352 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71353
71354         * m4/config-h.m4: New file.
71355
71356 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71357
71358         * config/srclist.txt: Add elisp-comp.
71359
71360 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71361
71362         * MODULES.html.sh (Support for building libraries and executables):
71363         Add elisp-comp.
71364         * build-aux/elisp-comp: New file.
71365         * modules/elisp-comp: New file.
71366
71367 2006-08-24  Bruno Haible  <bruno@clisp.org>
71368
71369         * gnulib-tool (func_create_testdir): Use non-default values of
71370         sourcebase and m4base.
71371
71372 2006-08-24  Bruno Haible  <bruno@clisp.org>
71373
71374         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
71375         HTML structure.
71376
71377 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
71378
71379         * modules/openat (Depends-on): Add lchown.
71380
71381 2006-08-23  Bruno Haible  <bruno@clisp.org>
71382
71383         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
71384         of gl_LOCK_EARLY instead of gl_LOCK.
71385
71386 2006-08-23  Bruno Haible  <bruno@clisp.org>
71387
71388         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
71389         on OSF/1 to no.
71390         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
71391
71392 2006-08-23  Bruno Haible  <bruno@clisp.org>
71393
71394         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
71395         as unusable.
71396
71397         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
71398         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
71399         (gl_LOCK): New macro.
71400
71401 2006-08-22  Simon Josefsson  <jas@extundo.com>
71402
71403         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
71404         to md5 module.
71405
71406 2006-08-22  Simon Josefsson  <jas@extundo.com>
71407
71408         * MODULES.html.sh: Add "Support for maintaining and release
71409         projects".
71410
71411         * build-aux/gnupload: New file, from coreutils.
71412
71413 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71414
71415         Avoid the need for AC_LIBSOURCES in m4 macros.
71416         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
71417         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
71418         * modules/check-version (EXTRA_DIST): Add check-version.h.
71419         * modules/crc (EXTRA_DIST): Add crc.h.
71420         * modules/des (EXTRA_DIST): Add des.h.
71421         * modules/gc (EXTRA_DIST): Add gc.h.
71422         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
71423         * modules/getline (EXTRA_DIST): Add getline.h.
71424         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
71425         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
71426         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
71427         * modules/md2 (EXTRA_DIST): Add md2.h.
71428         * modules/md4 (EXTRA_DIST): Add md4.h.
71429         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
71430         * modules/read-file (EXTRA_DIST): Add read-file.h.
71431         * modules/readline (EXTRA_DIST): Add readline.h.
71432         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
71433         rijndael-api-fst.h.
71434
71435 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71436
71437         * m4/rijndael.m4 (gl_ARCFOUR):
71438         * m4/arctwo.m4 (gl_ARCTWO):
71439         * m4/check-version.m4 (gl_CHECK_VERSION):
71440         * m4/crc.m4 (gl_CRC):
71441         * m4/des.m4 (gl_DES):
71442         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
71443         * m4/gc.m4 (gl_GC):
71444         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
71445         * m4/getline.m4 (gl_FUNC_GETLINE):
71446         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
71447         * m4/hmac-md5.m4 (gl_HMAC_MD5):
71448         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
71449         * m4/md2.m4 (gl_MD2):
71450         * m4/md4.m4 (gl_MD4):
71451         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
71452         * m4/read-file.m4 (gl_FUNC_READ_FILE):
71453         * m4/readline.m4 (gl_FUNC_READLINE):
71454         * m4/rijndael.m4 (gl_RIJNDAEL):
71455         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
71456         to get the necessary .h files and whatnot.
71457
71458 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71459
71460         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
71461         gnulib rather than the other way around.
71462         * config/srclistvars.sh (COREUTILS): Remove.
71463
71464 2006-08-22  Jim Meyering  <jim@meyering.net>
71465
71466         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
71467
71468         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
71469
71470 2006-08-22  Eric Blake  <ebb9@byu.net>
71471
71472         * modules/regexprops-generic: New file.
71473         * MODULES.html.sh (Support for building documentation): List it.
71474
71475 2006-08-22  Eric Blake  <ebb9@byu.net>
71476
71477         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
71478         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
71479         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
71480         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
71481
71482 2006-08-22  Bruno Haible  <bruno@clisp.org>
71483
71484         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
71485         and lib_LTLIBRARIES like the other lib_* variables.
71486
71487 2006-08-22  Bruno Haible  <bruno@clisp.org>
71488
71489         * build-aux/x-to-1.in: New file, from GNU gettext.
71490
71491 2006-08-22  Bruno Haible  <bruno@clisp.org>
71492
71493         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
71494         <utmpx.h> exists.
71495
71496 2006-08-22  Bruno Haible  <bruno@clisp.org>
71497
71498         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
71499         <utmpx.h> exists.
71500
71501 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71502
71503         BeOS portability.
71504         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
71505         exist.
71506         Problem reported by Bruno Haible.
71507
71508 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71509
71510         Avoid the need for AC_LIBSOURCES in m4 macros.
71511         * modules/acl (EXTRA_DIST): Add acl.h.
71512         * modules/argmatch (Files): Add m4/argmatch.m4.
71513         (configure.ac): Add gl_ARGMATCH.
71514         (EXTRA_DIST): Renamed from lib_SOURCES, for
71515         consistency with the other modules.  Remove argmatch.c.
71516         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
71517         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
71518         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
71519         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
71520         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
71521         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
71522         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
71523         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
71524         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
71525         * modules/closeout (EXTRA_DIST): Add closeout.h.
71526         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
71527         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
71528         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
71529         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
71530         dirname.h; remove basename.c and stripslash.c.
71531         * modules/exclude (EXTRA_DIST): Add exclude.h.
71532         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
71533         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
71534         * modules/file-type (EXTRA_DIST): Add file-type.h.
71535         * modules/filemode (EXTRA_DIST): Add filemode.h.
71536         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
71537         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
71538         * modules/fpending (EXTRA_DIST): Add __fpending.h.
71539         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
71540         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
71541         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
71542         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
71543         * modules/getdate (EXTRA_DIST): Add getdate.c.
71544         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
71545         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
71546         * modules/getpass (EXTRA_DIST): Add getpass.h.
71547         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
71548         * modules/group-member (EXTRA_DIST): Add group-member.h.
71549         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
71550         * modules/hash (EXTRA_DIST): Add hash.h.
71551         * modules/human (EXTRA_DIST): Add human.h.
71552         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
71553         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
71554         * modules/lchown (EXTRA_DIST): Add lchown.h.
71555         * modules/long-options (EXTRA_DIST): Add long-options.h.
71556         * modules/lstat (EXTRA_DIST): Add lstat.h.
71557         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
71558         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
71559         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
71560         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
71561         * modules/memxor (EXTRA_DIST): Add memxor.h.
71562         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
71563         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
71564         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
71565         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
71566         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
71567         * modules/physmem (EXTRA_DIST): Add physmem.h.
71568         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
71569         * modules/posixver (EXTRA_DIST): Add posixver.h.
71570         * modules/quote (EXTRA_DIST): Add quote.h.
71571         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
71572         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
71573         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
71574         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
71575         regex_internal.h regexec.c.
71576         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
71577         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
71578         * modules/same (EXTRA_DIST): Add same.h.
71579         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
71580         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
71581         * modules/savedir (EXTRA_DIST): Add savedir.h.
71582         * modules/sha1 (EXTRA_DIST): Add sha1.h.
71583         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
71584         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
71585         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
71586         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
71587         * modules/strdup (EXTRA_DIST): Add strdup.h.
71588         * modules/strftime (EXTRA_DIST): Add strftime.h.
71589         * modules/strndup (EXTRA_DIST): Add strndup.h.
71590         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
71591         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
71592         * modules/time_r (EXTRA_DIST): Add time_r.h.
71593         * modules/timespec (EXTRA_DIST): Add timespec.h.
71594         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
71595         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
71596         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
71597         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
71598         * modules/userspec (EXTRA_DIST): Add userspec.h.
71599         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
71600         * modules/utimens (EXTRA_DIST): Add utimens.h.
71601         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
71602         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
71603         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
71604         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
71605         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
71606         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
71607         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
71608         * modules/yesno (EXTRA_DIST): Add yesno.h.
71609
71610 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71611
71612         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
71613
71614         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
71615         * m4/dev-ino.m4, same-inode.m4: Remove.
71616
71617         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
71618         * m4/acl.m4 (AC_FUNC_ACL):
71619         * m4/backupfile.m4 (gl_BACKUPFILE):
71620         * m4/c-strtod.m4 (gl_C99_STRTOLD):
71621         * m4/canon-host.m4 (gl_CANON_HOST):
71622         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
71623         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
71624         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
71625         * m4/cloexec.m4 (gl_CLOEXEC):
71626         * m4/close-stream.m4 (gl_CLOSE_STREAM):
71627         * m4/closeout.m4 (gl_CLOSEOUT):
71628         * m4/dirfd.m4 (gl_FUNC_DIRFD):
71629         * m4/dirname.m4 (gl_DIRNAME):
71630         * m4/exclude.m4 (gl_EXCLUDE):
71631         * m4/exitfail.m4 (gl_EXITFAIL):
71632         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
71633         * m4/file-type.m4 (gl_FILE_TYPE):
71634         * m4/filemode.m4 (gl_FILEMODE):
71635         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
71636         * m4/fpending.m4 (gl_FUNC_FPENDING):
71637         * m4/fprintftime.m4 (gl_FPRINTFTIME):
71638         * m4/fts.m4 (gl_FUNC_FTS):
71639         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
71640         * m4/getdate.m4 (gl_GETDATE):
71641         * m4/gethrxtime.m4 (gl_GETHRXTIME):
71642         * m4/getpagesize.m4 (gl_GETPAGESIZE):
71643         * m4/getpass.m4 (gl_FUNC_GETPASS):
71644         * m4/gettime.m4 (gl_GETTIME):
71645         * m4/getugroups.m4 (gl_GETUGROUPS):
71646         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
71647         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
71648         * m4/hard-locale.m4 (gl_HARD_LOCALE):
71649         * m4/hash.m4 (gl_HASH):
71650         * m4/idcache.m4 (gl_IDCACHE):
71651         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
71652         * m4/lchown.m4 (gl_FUNC_LCHOWN):
71653         * m4/long-options.m4 (gl_LONG_OPTIONS):
71654         * m4/lstat.m4 (gl_FUNC_LSTAT):
71655         * m4/md5.m4 (gl_MD5):
71656         * m4/memcasecmp.m4 (gl_MEMCASECMP):
71657         * m4/memcoll.m4 (gl_MEMCOLL):
71658         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
71659         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
71660         * m4/memxor.m4 (gl_MEMXOR):
71661         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
71662         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
71663         * m4/modechange.m4 (gl_MODECHANGE):
71664         * m4/mountlist.m4 (gl_MOUNTLIST):
71665         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
71666         * m4/openat.m4 (gl_FUNC_OPENAT):
71667         * m4/pathmax.m4 (gl_PATHMAX):
71668         * m4/physmem.m4 (gl_PHYSMEM):
71669         * m4/posixtm.m4 (gl_POSIXTM):
71670         * m4/posixver.m4 (gl_POSIXVER):
71671         * m4/quote.m4 (gl_QUOTE):
71672         * m4/quotearg.m4 (gl_QUOTEARG):
71673         * m4/readtokens.m4 (gl_READTOKENS):
71674         * m4/readutmp.m4 (gl_READUTMP):
71675         * m4/regex.m4 (gl_REGEX):
71676         * m4/safe-read.m4 (gl_SAFE_READ):
71677         * m4/safe-write.m4 (gl_SAFE_WRITE):
71678         * m4/same.m4 (gl_SAME):
71679         * m4/save-cwd.m4 (gl_SAVE_CWD):
71680         * m4/savedir.m4 (gl_SAVEDIR):
71681         * m4/settime.m4 (gl_SETTIME):
71682         * m4/sha1.m4 (gl_SHA1):
71683         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
71684         * m4/stat-macros.m4 (gl_STAT_MACROS):
71685         * m4/stat-time.m4 (gl_STAT_TIME):
71686         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
71687         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
71688         * m4/strdup.m4 (gl_FUNC_STRDUP):
71689         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
71690         * m4/strndup.m4 (gl_FUNC_STRNDUP):
71691         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
71692         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
71693         * m4/time_r.m4 (gl_TIME_R):
71694         * m4/timespec.m4 (gl_TIMESPEC):
71695         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
71696         * m4/unlinkdir.m4 (gl_UNLINKDIR):
71697         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
71698         * m4/userspec.m4 (gl_USERSPEC):
71699         * m4/utimecmp.m4 (gl_UTIMECMP):
71700         * m4/utimens.m4 (gl_UTIMENS):
71701         * m4/xalloc.m4 (gl_XALLOC):
71702         * m4/xgetcwd.m4 (gl_XGETCWD):
71703         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
71704         * m4/xreadlink.m4 (gl_XREADLINK):
71705         * m4/xstrtod.m4 (gl_XSTRTOD):
71706         * m4/yesno.m4 (gl_YESNO):
71707         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
71708         to get the necessary .h files and whatnot.
71709
71710 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
71711             Bruno Haible  <bruno@clisp.org>
71712
71713         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
71714         /bin/sh understanding of '!' conditional negation.
71715
71716 2006-08-21  Jim Meyering  <jim@meyering.net>
71717
71718         * modules/openat (Depends-on): Really alphabetize.
71719
71720         * modules/acl (Depends-on): Add error and quote.
71721
71722         * check-module (find_included_lib_files): Add at-func.c to the
71723         ok-to-include-more-than-once white list.
71724
71725         * modules/openat (Depends-on): Add lstat.  Alphabetize.
71726
71727 2006-08-21  Bruno Haible  <bruno@clisp.org>
71728
71729         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71730         Emit a pkgdata_DATA variable only if some snippets add contents to it.
71731         Reported by Martin Lambers <marlam@marlam.de>.
71732
71733 2006-08-21  Bruno Haible  <bruno@clisp.org>
71734
71735         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
71736         specify an installation location, don't emit a noinst_LIBRARIES or
71737         noinst_LTLIBRARIES assignment.
71738
71739 2006-08-21  Bruno Haible  <bruno@clisp.org>
71740
71741         BeOS portability.
71742         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
71743         BeOS has mbrtowc() but no <wctype.h>.
71744
71745 2006-08-21  Bruno Haible  <bruno@clisp.org>
71746
71747         BeOS portability.
71748         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
71749         exist.
71750
71751 2006-08-21  Bruno Haible  <bruno@clisp.org>
71752
71753         BeOS portability.
71754         * lib/mbchar.h: Include <wctype.h> only if it exists.
71755
71756 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71757
71758         Remove files that are no longer needed by their respective modules.
71759         * m4/obstack.m4: Remove.
71760         * m4/strerror_r.m4: Remove.
71761         * m4/uint32_t.m4: Remove.
71762         * m4/uintptr_t.m4: Remove.
71763         * m4/ullong_max.m4: Remove.
71764         * m4/xstrtoimax.m4: Remove.
71765         * m4/xstrtoumax.m4: Remove.
71766
71767         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
71768         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
71769         dependencies now capture this.
71770
71771         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
71772         Do not use AC_LIBSOURCES, since gnulib modules now do this.
71773         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
71774         * m4/human.m4 (gl_HUMAN): Likewise.
71775         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
71776         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
71777
71778         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
71779
71780         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
71781         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
71782         stdint.
71783         * m4/human.m4 (gl_HUMAN): Likewise.
71784         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
71785         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
71786         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
71787         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
71788         * m4/xstrtol (gl_XSTRTOL): Likewise.
71789
71790         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
71791         AC_TYPE_LONG_LONG_INT.
71792         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
71793         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
71794         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
71795         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
71796
71797         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
71798         on stdbool.
71799
71800         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
71801         (gl_PREREQ_XSTRTOUL): Remove.
71802
71803         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
71804
71805         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
71806         mode.
71807
71808 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71809
71810         Add and change modules to make it easier for coreutils to use
71811         gnulib-tool.
71812         * modules/backupfile (Files): Remove m4/d-ino.m4.
71813         (Depends-on): Add d-ino.
71814         * modules/cycle-check (Depends-on): Add stdint.
71815         (lib_SOURCES): Add cycle-check.h.
71816         * modules/d-ino: New module.
71817         * modules/d-type: New module.
71818         * modules/error (Files): Remove m4/strerror_r.m4.
71819         * modules/filemode (Files): Add m4/st_dm_mode.m4.
71820         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
71821         m4/inttypes_h.m4, m4/uintmax_t.m4.
71822         (Depends-on): Add stdint.
71823         (lib_SOURCES): Add fsusage.h.
71824         * modules/getcwd (Files): Remove d-ino.m4.
71825         (Depends-on): Add d-ino.
71826         * modules/getndelim2 (Depends-on): Add stdint.
71827         * modules/glob (Files): Remove m4/d-type.m4.
71828         (Depends-on): Add d-type.
71829         * modules/host-os: New module.
71830         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
71831         m4/inttypes_h.m4, m4/uintmax_t.m4.
71832         * Depends-on: Add stdint.
71833         (lib_SOURCES): Add human.h.
71834         * modules/inttostr (Files): Remove m4/intmax_t.m4,
71835         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
71836         m4/uintmax_t.m4, m4/ulonglong.m4.
71837         (Depends-on): Add stdint.
71838         (EXTRA_DIST): Add inttostr.h.
71839         * modules/lchmod: New module.
71840         * modules/link-follow: New module.
71841         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
71842         (Depends-on): Add lchmod.
71843         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
71844         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
71845         (Depends-on): Add stdint.
71846         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
71847         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
71848         (Depends-on): Add stdint.
71849         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
71850         * modules/perl: New module.
71851         * modules/regex (Depends-on): Add stdint.
71852         * modules/rmdir-errno: New module.
71853         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
71854         m4/intmax_t.m4.
71855         (Depends-on): Add stdint.
71856         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
71857         m4/uintmax_t.m4.
71858         (Depends-on): Add stdint.
71859         * modules/unlink-busy: New module.
71860         * modules/utimecmp (Depends-on): Add stdint.
71861         * modules/uptime: New module.
71862         * modules/winsz-ioctl: New module.
71863         * modules/winsz-termios: New module.
71864         * modules/xnanosleep (Depends-on): Add nanosleep.
71865         * modules/ullong_max: Remove.
71866         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
71867         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
71868         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
71869         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
71870         (Depends-on): Add inttypes.
71871         (lib_SOURCES): Add xstrtol.h.
71872         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
71873         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
71874         * MODULES.html.sh: Move 'assert' into the assert section.
71875         Move 'dummy' into the linking section.
71876         Remove ullong_max.
71877         Add section for compatibility checks for POSIX:2001 functions,
71878         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
71879         winsz-ioctl, and winsz-termios into it.
71880         Add lchmod.
71881         Add top-level Misc section and put host-os, perl, and uptime
71882         into it.
71883
71884 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71885
71886         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
71887         now assume the stdint module.  Do not include inttypes.h.
71888         * lib/fsusage.h: Likewise.
71889         * lib/getndelim2.c: Likewise.
71890         * lib/human.h: Likewise.
71891         * lib/inttostr.h: Likewise.
71892         * lib/obstack.c: Likewise.
71893         * lib/regex_internal.h: Likewise.
71894         * lib/tempname.c: Likewise.
71895         * lib/utimecmp.c: Likewise.
71896         * lib/xstrtol.h: Likewise.
71897
71898         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
71899
71900         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
71901         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
71902         * lib/xtime.h: Likewise.
71903
71904 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71905
71906         * modules/openat (Files): Add lib/fchmodat.c.
71907         Fixes problem reported by Jay Youngman.
71908
71909 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71910
71911         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
71912         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
71913
71914 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
71915             Bruno Haible  <bruno@clisp.org>
71916
71917         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
71918         and is a script that invokes bison. Tighten the code. Add comments.
71919
71920 2006-08-18  Jim Meyering  <jim@meyering.net>
71921
71922         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
71923         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
71924         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
71925         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
71926
71927 2006-08-18  Bruno Haible  <bruno@clisp.org>
71928
71929         * modules/bison-i18n: New file.
71930         * MODULES.html.sh (Internationalization functions): Add it.
71931
71932 2006-08-18  Bruno Haible  <bruno@clisp.org>
71933
71934         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
71935         sys/statvfs.h. When getmntinfo was found, check its declaration and
71936         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
71937
71938 2006-08-18  Bruno Haible  <bruno@clisp.org>
71939
71940         * m4/bison-i18n.m4: New file, from bison.
71941
71942 2006-08-18  Bruno Haible  <bruno@clisp.org>
71943
71944         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
71945         (ME_DUMMY): Treat "kernfs" as a dummy.
71946         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
71947
71948 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
71949
71950         Update from coreutils.
71951
71952         2006-08-15  Jim Meyering  <jim@meyering.net>
71953
71954         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
71955
71956         2006-01-17  Jim Meyering  <jim@meyering.net>
71957
71958         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
71959
71960         2006-01-11  Jim Meyering  <jim@meyering.net>
71961
71962         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
71963         Check for the lchmod function.
71964
71965 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
71966
71967         Update from coreutils.
71968
71969         * lib/__fpending.h: Add copyright notice.
71970         * lib/fprintftime.h: Likewise.
71971         * lib/savedir.c: Use (C) in copyright notice.
71972         * lib/savedir.h: Likewise.
71973
71974         2006-08-15  Jim Meyering  <jim@meyering.net>
71975
71976         * lib/at-func.c: New file, with the logic of all emulated at-functions.
71977         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
71978         in support of the EXPECTED_ERRNO macro.
71979         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
71980         definitions.  Instead, define the appropriate symbols and include
71981         "at-func.c".
71982         * lib/mkdirat.c (mkdirat): Likewise.
71983         * lib/fchmodat.c (fchmodat): Likewise.
71984         (ENOSYS): Remove definition.
71985         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
71986         it.  Don't include "unistd--.h" -- it wasn't ever used.
71987
71988         2006-01-17  Jim Meyering  <jim@meyering.net>
71989
71990         Rewrite fts.c not to change the current working directory,
71991         by using openat, fstatat, fdopendir, etc..
71992
71993         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
71994         (HAVE_OPENAT_SUPPORT): Define.
71995         [_LIBC] (fchdir): Don't undef or define; no longer used.
71996         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
71997         Now, this `function' always succeeds, and consumes its file descriptor
71998         parameter -- so callers must not close such FDs.  Update callers.
71999         (diropen_fd, opendirat, cwd_advance_fd): New functions.
72000         (diropen): Add parameter, SP.  Adjust all callers.
72001         Implement using diropen_fd, rather than open.
72002         (fts_open): Initialize new member, fts_cwd_fd.
72003         Remove fts_rft-setting code.
72004         (fts_close): Close fts_cwd_fd, if necessary.
72005         (__opendir2): Define in terms of opendir or opendirat,
72006         depending on whether the FST_NOCHDIR flag is set.
72007         (fts_build): Since fts_safe_changedir consumes its FD, and since
72008         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
72009         and close the dup'd file descriptor upon failure.
72010         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
72011         (fts_safe_changedir): Tweak semantics to reflect that this function
72012         now calls cwd_advance_fd and hence consumes its FD argument.
72013         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
72014         [struct FTS] (fts_rft): Remove now-unused member.
72015         [struct FTS] (fts_cycle.state): Improve comment.
72016
72017         * lib/openat.c (openat_needs_fchdir): New function.
72018         * lib/openat.h (openat_needs_fchdir): Declare it.
72019
72020 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
72021
72022         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
72023         Problem and fix reported by Pádraig Brady in
72024         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
72025
72026 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72027
72028         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
72029
72030 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72031
72032         * lib/memcoll.c (memcoll): Optimize for the common case where the
72033         arguments are bytewise equal.
72034
72035 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72036
72037         * doc/regexprops-generic.texi: Add a copyright notice.
72038
72039 2006-08-15  Bruno Haible  <bruno@clisp.org>
72040
72041         * modules/tmpdir (License): Change to LGPL.
72042
72043 2006-08-15  Bruno Haible  <bruno@clisp.org>
72044
72045         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
72046         module.
72047
72048 2006-08-14  Simon Josefsson  <jas@extundo.com>
72049
72050         * config/srclist.txt: Add gnupload.
72051
72052 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72053
72054         Change copyright notice from LGPL 2 to GPL 2, since that's the
72055         standard form used in the gnulib repository.
72056         * tests/test-lock.c: Likewise.
72057         * tests/test-stdint.c: Likewise.
72058         * tests/test-tls.c: Likewise.
72059
72060         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
72061         prelude-manager.  User shorter URLs for GNU projects, without '?'.
72062         Add copyright notice.
72063
72064         * check-module: Add copyright notice.  Output a copyright
72065         notice if "--version" is specified.
72066         * modules/COPYING: New file.
72067         * tests/test-getaddrinfo.c: Add copyright notice.
72068         * tests/test-verify.c: Likewise.
72069
72070 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72071
72072         Change copyright notice from LGPL 2 to GPL 2, since that's the
72073         standard form used in the gnulib repository.
72074         * lib/lock.c: LGPL -> GPL.
72075         * lib/lock.h: Likewise.
72076         * lib/strnlen1.c: Likewise.
72077         * lib/strnlen1.h: Likewise.
72078         * lib/tls.c: Likewise.
72079         * lib/tls.h: Likewise.
72080         * lib/tmpdir.c: Likewise.
72081
72082         * lib/TODO: Remove; this belongs only in coreutils.
72083
72084 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72085
72086         Add copyright notices to long-enough files that lack them, since
72087         otherwise the files aren't clearly free.  Use the same notice that
72088         getdate.texi already uses.
72089         * doc/alloca-opt.texi: Add copyright notice.
72090         * doc/alloca.texi: Likewise.
72091         * doc/ctime.texi: Likewise.
72092         * doc/functions.texi: Likewise.
72093         * doc/gcd.texi: Likewise.
72094         * doc/gnulib-tool.texi: Likewise.
72095         * doc/inet_ntoa.texi: Likewise.
72096         * doc/visibility.texi: Likewise.
72097
72098         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
72099         * doc/quote.texi: Add copyright notice.
72100
72101         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
72102         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
72103         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
72104         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
72105         is now obsolete, and give a pointer to the Sun list.
72106         Add copyright notice.
72107
72108 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72109
72110         * config/srclistvars.sh: Add copyright notice.
72111
72112 2006-08-14  Eric Blake  <ebb9@byu.net>
72113
72114         Import the following change from libc:
72115
72116         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
72117
72118         Upstream bug 2997.
72119         * lib/misc/error.c: Add space between program name and message if file
72120         name is missing.
72121
72122 2006-08-12  Karl Berry  <karl@gnu.org>
72123
72124         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
72125         remove, these originate in gnulib now.
72126
72127 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72128
72129         * doc/Makefile (standards.info standards.html standards.dvi):
72130         Also depend on make-stds.texi.
72131
72132 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
72133
72134         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
72135         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
72136
72137         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
72138         in wchar_t.  Problem reported by Eric Blake.
72139
72140         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
72141         LEN is smaller than SIZE.  Suggested by Bruno Haible.
72142         Also, help the compiler to keep LEN in a register.
72143
72144 2006-08-11  Eric Blake  <ebb9@byu.net>
72145
72146         * users.txt: Sort.  Add tar.
72147
72148 2006-08-11  Bruno Haible  <bruno@clisp.org>
72149
72150         * users.txt: New file.
72151
72152 2006-08-11  Bruno Haible  <bruno@clisp.org>
72153
72154         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
72155         before <wchar.h>. Needed for OSF/1 and BSD/OS.
72156
72157 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
72158
72159         * modules/snprintf (Depends-on): Remove minmax.
72160         (Maintainer): Add self and Bruno.
72161
72162 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
72163
72164         * lib/.cppi-disable: Add snprintf.h, socket_.h.
72165         * lib/snprintf.c: Include <errno.h> and <limits.h>.
72166         (EOVERFLOW): Define if the system does not.
72167         Do not include "minmax.h"; it wasn't used.
72168         (snprintf): Don't assume size_t promotes to an unsigned type.
72169         Fix bug when generated string was too long for the buffer: the
72170         buffer's contents are supposed to be the initial prefix of the
72171         output.  Don't assume vasnprintf returns EOVERFLOW if the size
72172         exceeds INT_MAX; do the check ourselves.
72173
72174         Import the following changes from libc:
72175
72176         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
72177
72178         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
72179         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
72180         set wc to the byte which couldn't be converted.
72181         (re_string_reconstruct): Don't clear valid_raw_len before calling
72182         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
72183         tip_context using re_string_context_at.
72184
72185         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
72186
72187         * lib/posix/regex.h: g++ still cannot handled [restrict].
72188
72189         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
72190
72191         * lib/posix/regex.h: Remove special handling for VMS.
72192
72193 2006-08-10  Jim Meyering  <jim@meyering.net>
72194
72195         * modules/same-inode: New module.
72196         * modules/dev-ino: New module.
72197         * modules/cycle-check: Depend on these modules, rather than simply
72198         including their .h files.
72199         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
72200         required via m4/cycle-check.m4.
72201         * modules/same: Depend on new same-inode module, rather than
72202         including same-inode.h.
72203         * modules/chdir-safer: New file.
72204
72205         * modules/chown (Depends-on): Add stat-macros.
72206
72207 2006-08-10  Jim Meyering  <jim@meyering.net>
72208
72209         * m4/cycle-check.m4: New file.
72210         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
72211         * m4/dev-ino.m4, m4/same-inode.m4: New files.
72212
72213 2006-08-10  Eric Blake  <ebb9@byu.net>
72214
72215         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
72216         in from original proposal.
72217
72218 2006-08-10  Eric Blake  <ebb9@byu.net>
72219         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
72220
72221         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
72222         namespace.
72223
72224 2006-08-10  Bruno Haible  <bruno@clisp.org>
72225
72226         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
72227         as well.
72228
72229 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72230
72231         Sync from coreutils.
72232
72233         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
72234
72235         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
72236         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
72237
72238 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72239
72240         * modules/restrict: Remove; no longer needed now that we assume
72241         Autoconf 2.59 or later.
72242         * MODULES.html.sh: Remove 'restrict'.
72243         * modules/argp (Depends-on): Remove 'restrict'.
72244         * modules/base64 (Depends-on): Likewise.
72245         * modules/gc (Depends-on): Likewise.
72246         * modules/getaddrinfo (Depends-on): Likewise.
72247         * modules/glob (Depends-on): Likewise.
72248         * modules/inet_ntop (Depends-on): Likewise.
72249         * modules/inet_pton (Depends-on): Likewise.
72250         * modules/memxor (Depends-on): Likewise.
72251         * modules/regex (Depends-on): Likewise.
72252         * modules/strtok_r (Depends-on): Likewise.
72253         * modules/time_r (Depends-on): Likewise.
72254
72255 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72256
72257         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
72258         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
72259         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
72260         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
72261         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
72262         * m4/memxor.m4 (gl_MEMXOR): Likewise.
72263         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
72264         gl_C_RESTRICT replaced by AC_C_RESTRICT.
72265
72266         Merge from coreutils.
72267         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
72268         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
72269         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
72270         * m4/time_r.m4 (gl_TIME_R): Likewise.
72271
72272 2006-08-09  Karl Berry  <karl@gnu.org>
72273
72274         * config/srclist.txt: no more gettext-tools, per Bruno.
72275
72276 2006-08-08  Eric Blake  <ebb9@byu.net>
72277
72278         * modules/verror: New module.
72279         * MODULES.html.sh: Document it.
72280
72281 2006-08-08  Eric Blake  <ebb9@byu.net>
72282
72283         * lib/verror.h, lib/verror.c: New files.
72284
72285 2006-08-08  Eric Blake  <ebb9@byu.net>
72286
72287         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
72288         verror_at_line output complies with GNU Coding Standards even when
72289         file is NULL.
72290
72291 2006-08-07  Bruno Haible  <bruno@clisp.org>
72292
72293         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
72294         versions of AIX.
72295         Reported by Ralf Wildenhues.
72296
72297 2006-08-07  Bruno Haible  <bruno@clisp.org>
72298
72299         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
72300         in an AC_DEFUN. Needed so that the autoconf snippets can use
72301         AC_REQUIRE.
72302
72303 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72304
72305         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72306         Initialize pkgdata_DATA.
72307         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
72308         overriding it.
72309
72310 2006-08-06  Eric Blake  <ebb9@byu.net>
72311
72312         * lib/error.h: Fold in some upstream changes from glibc.
72313         * lib/error.c: Likewise.
72314
72315 2006-08-04  Bruno Haible  <bruno@clisp.org>
72316
72317         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72318         Make the mostlyclean-local rule depend on mostlyclean-generic.
72319         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
72320
72321 2006-07-31  Bruno Haible  <bruno@clisp.org>
72322
72323         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
72324         <stdlib.h>, <string.h>.
72325
72326 2006-07-30  Bruno Haible  <bruno@clisp.org>
72327
72328         * modules/readlink (License): Change to LGPL.
72329
72330 2006-07-30  Bruno Haible  <bruno@clisp.org>
72331
72332         * modules/javaversion (Makefile.am): Distribute javaversion.java and
72333         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
72334         set PKGDATADIR to point to it.
72335
72336 2006-07-30  Bruno Haible  <bruno@clisp.org>
72337
72338         * modules/csharpexec (configure.ac): Comment out macro invocation.
72339         * modules/javaexec (configure.ac): Likewise.
72340         * modules/javacomp-script (configure.ac): Likewise.
72341
72342         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
72343
72344 2006-07-30  Bruno Haible  <bruno@clisp.org>
72345
72346         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
72347         linked-list.
72348
72349 2006-07-30  Bruno Haible  <bruno@clisp.org>
72350
72351         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
72352
72353 2006-07-30  Bruno Haible  <bruno@clisp.org>
72354
72355         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72356         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
72357         get removed.
72358
72359 2006-07-29  Bruno Haible  <bruno@clisp.org>
72360
72361         Make it possible for gnulib-tool to work with locally modified or
72362         augmented gnulib repositories.
72363         * gnulib-tool (func_usage): Document --local-dir option.
72364         (local_gnulib_dir): New variable.
72365         Handle --local-dir option.
72366         (func_lookup_file): New function.
72367         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
72368         (func_get_description, func_get_filelist, func_get_description,
72369         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
72370         func_get_automake_snippet, func_get_include_directive,
72371         func_get_license, func_get_maintainer): Use func_lookup_file.
72372         (func_import, func_create_testdir): Use func_lookup_file.
72373
72374 2006-07-29  Bruno Haible  <bruno@clisp.org>
72375
72376         * modules/setenv (Depends-on): Add unistd.
72377
72378 2006-07-29  Bruno Haible  <bruno@clisp.org>
72379
72380         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
72381
72382 2006-07-29  Bruno Haible  <bruno@clisp.org>
72383
72384         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
72385
72386 2006-07-29  Bruno Haible  <bruno@clisp.org>
72387
72388         * gnulib-tool (import, update): If there is no Makefile.am, look at
72389         aclocal.m4, instead of bailing out.
72390
72391 2006-07-29  Bruno Haible  <bruno@clisp.org>
72392
72393         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
72394         Categorize the options by when they are useful.
72395
72396 2006-07-29  Bruno Haible  <bruno@clisp.org>
72397
72398         * gnulib-tool (func_usage): Document option --no-libtool.
72399         Handle option --no-libtool.
72400         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
72401         for changed semantics of $libtool variable.
72402         (func_import): Likewise. If libtool is not used, show this through
72403         an option --no-libtool.
72404         (func_create_testdir): Update.
72405
72406 2006-07-29  Bruno Haible  <bruno@clisp.org>
72407
72408         * gnulib-tool (func_import): Extend error message about missing
72409         --doc-base.
72410
72411 2006-07-29  Bruno Haible  <bruno@clisp.org>
72412
72413         * gnulib-tool (func_import): Don't create the $docbase directory if
72414         there is no file to store there.
72415
72416 2006-07-29  Bruno Haible  <bruno@clisp.org>
72417
72418         * gnulib-tool (autoconf_minversion): If a --dir option is given and
72419         relevant, look for configure.ac there, not in the current directory.
72420         Also use a simple search for AC_PREREQ, not "autoconf --trace".
72421
72422 2006-07-29  Bruno Haible  <bruno@clisp.org>
72423
72424         * gnulib-tool (SORT): New variable.
72425         (func_usage): Undocument --assume-autoconf option.
72426         Remove --assume-autoconf option handling.
72427         (autoconf_minversion): Determine from the contents of configure.ac.
72428         (func_import): Remove autoconf_minversion handling.
72429         Suggested by Eric Blake.
72430
72431 2006-07-29  Bruno Haible  <bruno@clisp.org>
72432
72433         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
72434
72435 2006-07-29  Bruno Haible  <bruno@clisp.org>
72436
72437         * config/srclist.txt (*setenv.[ch]): Remove rules.
72438
72439 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72440
72441         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
72442
72443 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72444
72445         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
72446         arpa/inet.h.
72447
72448 2006-07-28  Simon Josefsson  <jas@extundo.com>
72449
72450         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
72451         * modules/inet_pton (Depends-on): Likewise.
72452
72453 2006-07-28  Simon Josefsson  <jas@extundo.com>
72454
72455         * m4/netinet_in_h.m4: New file.
72456
72457 2006-07-28  Simon Josefsson  <jas@extundo.com>
72458
72459         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
72460         #include's.
72461
72462 2006-07-28  Simon Josefsson  <jas@extundo.com>
72463
72464         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
72465         #include's.
72466
72467 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
72468
72469         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
72470         setgid on directories only if they set these bits.
72471         * lib/modechange.h: Remove obsolete comment about masks.
72472
72473 2006-07-28  Eric Blake  <ebb9@byu.net>
72474
72475         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
72476         macro expansion.
72477
72478 2006-07-28  Bruno Haible  <bruno@clisp.org>
72479
72480         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
72481
72482 2006-07-28  Bruno Haible  <bruno@clisp.org>
72483
72484         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
72485
72486 2006-07-28  Bruno Haible  <bruno@clisp.org>
72487
72488         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
72489         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
72490         Define fallbacks.
72491         Avoids link error on FreeBSD 4.x.
72492         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
72493
72494         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
72495         encoding.
72496         * lib/mbswidth.c (iswcntrl): Likewise.
72497
72498 2006-07-27  Bruno Haible  <bruno@clisp.org>
72499
72500         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
72501         test.
72502
72503 2006-07-27  Bruno Haible  <bruno@clisp.org>
72504
72505         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
72506         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
72507         defined.
72508
72509 2006-07-26  Eric Blake  <ebb9@byu.net>
72510
72511         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
72512
72513 2006-07-26  Eric Blake  <ebb9@byu.net>
72514
72515         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
72516         like mingw that lack mkstemp.
72517         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
72518         avoid compilation warning on mingw.
72519
72520 2006-07-26  Bruno Haible  <bruno@clisp.org>
72521
72522         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
72523         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
72524         INT_FAST*_MIN, INTPTR_MIN.
72525
72526 2006-07-25  Bruno Haible  <bruno@clisp.org>
72527
72528         * modules/version-etc (Depends-on): Add stdarg.
72529
72530 2006-07-25  Bruno Haible  <bruno@clisp.org>
72531
72532         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
72533         complex commands.
72534
72535 2006-07-25  Bruno Haible  <bruno@clisp.org>
72536
72537         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
72538         defined in <stdarg.h> or config.h.
72539
72540 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
72541
72542         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
72543         (gl_STDIO_SAFER): Remove.
72544
72545 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
72546
72547         * MODULES.html.sh (File stream based Input/Output):
72548         Add fopen-safer, tmpfile-safer; remove stdio-safer.
72549         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
72550         * modules/fopen-safer, modules/tmpfile-safer: New files.
72551         * modules/stdio-safer: Remove.
72552
72553 2006-07-24  Bruno Haible  <bruno@clisp.org>
72554
72555         * modules/tmpdir: New file.
72556         * MODULES.html.sh (File system functions): Add it.
72557
72558 2006-07-24  Bruno Haible  <bruno@clisp.org>
72559
72560         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
72561         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
72562
72563 2006-07-24  Bruno Haible  <bruno@clisp.org>
72564
72565         * modules/clean-temp: New file.
72566
72567 2006-07-24  Bruno Haible  <bruno@clisp.org>
72568
72569         * m4/tmpdir.m4: New file, from GNU gettext.
72570
72571 2006-07-24  Bruno Haible  <bruno@clisp.org>
72572
72573         * lib/tmpdir.h: New file, from GNU gettext.
72574         * lib/tmpdir.c: New file, from GNU gettext.
72575
72576 2006-07-24  Bruno Haible  <bruno@clisp.org>
72577
72578         * lib/clean-temp.h: New file, from GNU gettext.
72579         * lib/clean-temp.c: New file, from GNU gettext.
72580
72581 2006-07-23  Eric Blake  <ebb9@byu.net>
72582
72583         * modules/stdio-safer (Files): Add tmpfile-safer.c.
72584         (Depends-on): Add binary-io.
72585
72586 2006-07-23  Eric Blake  <ebb9@byu.net>
72587
72588         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
72589
72590 2006-07-23  Eric Blake  <ebb9@byu.net>
72591
72592         * lib/tmpfile-safer.c: New file.
72593         * lib/stdio-safer.h (fopen_safer): Add prototype.
72594         * lib/stdio--.h (tmpfile): Make safer.
72595
72596 2006-07-23  Bruno Haible  <bruno@clisp.org>
72597
72598         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
72599         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
72600         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
72601         gl_linked_remove_at): Use it.
72602
72603 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72604         and Simon Josefsson <jas@extundo.com>
72605
72606         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
72607
72608         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
72609
72610 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
72611
72612         * modules/close-stream: New file.
72613         * modules/closeout (Description): Make it clear that it exits
72614         with a diagnostic on error.
72615         (Depends-on): Add close-stream.  Remove fpending, stdbool.
72616         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
72617
72618 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
72619
72620         * m4/close-stream.m4: New file.
72621
72622 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
72623
72624         * lib/close-stream.c, lib/close-stream.h: New files.
72625
72626 2006-07-22  Bruno Haible  <bruno@clisp.org>
72627
72628         Merge from GNU gettext 0.15.
72629
72630         2006-05-01  Bruno Haible  <bruno@clisp.org>
72631
72632                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
72633
72634         2006-07-22  Bruno Haible  <bruno@clisp.org>
72635
72636                 * modules/javaversion: New file.
72637                 * MODULES.html.sh (Java): Add javaversion.
72638
72639         2006-03-12  Bruno Haible  <bruno@clisp.org>
72640
72641                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
72642
72643         2005-12-04  Bruno Haible  <bruno@clisp.org>
72644
72645                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
72646                 (untested).
72647
72648         2006-06-21  Bruno Haible  <bruno@clisp.org>
72649
72650                 Avoid warnings from recent versions of mcs.
72651                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
72652                 -o, -L, -r any more. Use options documented since mcs-1.0
72653                 instead. Similarly for -g.
72654
72655         2005-12-04  Bruno Haible  <bruno@clisp.org>
72656
72657                 * build-aux/csharpcomp.sh.in: Suffix for resources is
72658                 .resources, not .resource.
72659
72660         2005-07-09  Bruno Haible  <bruno@clisp.org>
72661
72662                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
72663                 add a .dll suffix.
72664                 Reported by Mark Junker <mjscod@gmx.de>.
72665
72666         2006-07-22  Bruno Haible  <bruno@clisp.org>
72667
72668                 * modules/gettext: Upgrade to gettext-0.15.
72669                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
72670                 m4/visibility.m4.
72671                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
72672
72673 2006-07-22  Bruno Haible  <bruno@clisp.org>
72674
72675         Merge from GNU gettext 0.15.
72676
72677         2006-03-25  Bruno Haible  <bruno@clisp.org>
72678
72679                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
72680
72681         2006-07-21  Bruno Haible  <bruno@clisp.org>
72682
72683                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
72684                 "1.1".
72685
72686         2006-05-09  Bruno Haible  <bruno@clisp.org>
72687
72688                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
72689                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
72690                 for the conftestver execution.
72691
72692         2006-05-01  Bruno Haible  <bruno@clisp.org>
72693
72694                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
72695                 optional target-version argument. Verify that the compiler
72696                 groks source of the specified source-version, or add -source
72697                 option as necessary. Verify that the compiler produces
72698                 bytecode in the specified target-version, or add -target and
72699                 -source options as necessary. Make the result of the test
72700                 available as variable CONF_JAVAC. Also log error output in
72701                 config.log.
72702
72703         2006-03-11  Bruno Haible  <bruno@clisp.org>
72704
72705                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
72706
72707         2006-05-09  Bruno Haible  <bruno@clisp.org>
72708
72709                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
72710                 CLASSPATH_SEPARATOR to a semicolon.
72711
72712         2006-03-12  Bruno Haible  <bruno@clisp.org>
72713
72714                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
72715                 available as variable CONF_JAVA, for subsequent autoconf
72716                 tests. Also log error output in config.log.
72717
72718         2006-07-19  Bruno Haible  <bruno@clisp.org>
72719
72720                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
72721                 that getline works on glibc2 systems. Needed to avoid trouble
72722                 in relocatable.c.
72723                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
72724
72725         2005-12-04  Bruno Haible  <bruno@clisp.org>
72726
72727                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
72728                 launcher (untested).
72729
72730         2005-12-04  Bruno Haible  <bruno@clisp.org>
72731
72732                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
72733
72734         2006-07-22  Bruno Haible  <bruno@clisp.org>
72735
72736                 * gettext.m4: Update from GNU gettext-0.15.
72737                 * nls.m4: Likewise.
72738                 * po.m4: Likewise.
72739                 * inttypes-pri.m4: Likewise.
72740                 * inttypes-h.m4: Renamed from inttypes.m4.
72741                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
72742
72743 2006-07-22  Bruno Haible  <bruno@clisp.org>
72744
72745         Merge from GNU gettext 0.15.
72746
72747         2005-07-05  Bruno Haible  <bruno@clisp.org>
72748
72749                 * printf-args.c (printf_fetchargs): Work around broken
72750                 definition of wint_t on mingw.
72751
72752         2005-02-12  Bruno Haible  <bruno@clisp.org>
72753
72754                 * xallocsa.h: Add extern "C" for C++.
72755
72756         2006-05-17  Bruno Haible  <bruno@clisp.org>
72757
72758                 Cygwin portability.
72759                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
72760
72761         2006-04-30  Bruno Haible  <bruno@clisp.org>
72762
72763                 * progreloc.c: Include <mach-o/dyld.h> if available.
72764                 (find_executable): Use _NSGetExecutablePath when possible.
72765
72766         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72767
72768                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
72769                 function.
72770
72771         2005-12-29  Bruno Haible  <bruno@clisp.org>
72772
72773                 * progreloc.c (set_program_name_and_installdir): Fix
72774                 compilation error.
72775
72776         2005-12-04  Bruno Haible  <bruno@clisp.org>
72777
72778                 Cygwin portability.
72779                 * progreloc.c: Include <windows.h> also on Cygwin.
72780                 (find_executable): Add support for Cygwin.
72781                 (set_program_name_and_installdir): Handle also platforms with
72782                 nonempty EXEEXT.
72783
72784         2006-07-11  Bruno Haible  <bruno@clisp.org>
72785
72786                 * javacomp.c: Fix a comment.
72787                 Reported by Jim Meyering.
72788
72789         2006-04-30  Bruno Haible  <bruno@clisp.org>
72790
72791                 * javacomp.h (compile_java_class): Add source_version,
72792                 target_version arguments.
72793                 * javacomp.c: Rewritten to choose only a compiler that
72794                 respects the specified source_version and target_version.
72795
72796         2006-06-27  Bruno Haible  <bruno@clisp.org>
72797
72798                 Assume correct S_ISDIR macro.
72799                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
72800
72801         2006-07-22  Bruno Haible  <bruno@clisp.org>
72802
72803                 * javaversion.h: New file, from GNU gettext.
72804                 * javaversion.c: New file, from GNU gettext.
72805                 * javaversion.java: New file, from GNU gettext.
72806                 * javaversion.class: New file, from GNU gettext.
72807
72808         2006-05-17  Bruno Haible  <bruno@clisp.org>
72809
72810                 Cygwin portability.
72811                 * javaexec.c (execute_java_class): Test for jview program
72812                 also on Cygwin.
72813
72814         2006-04-09  Bruno Haible  <bruno@clisp.org>
72815
72816                 * fatal-signal.c: Don't include string.h.
72817                 (at_fatal_signal): Use a copying loop instead of memcpy.
72818
72819         2005-12-04  Bruno Haible  <bruno@clisp.org>
72820
72821                 * csharpexec.c: Add support for 'clix' launcher (untested).
72822                 (execute_csharp_using_sscli): New function.
72823                 (execute_csharp_program): Call it.
72824
72825         2006-06-21  Bruno Haible  <bruno@clisp.org>
72826
72827                 Avoid warnings from recent versions of mcs.
72828                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
72829                 -o, -L, -r any more. Use options documented since mcs-1.0
72830                 instead. Similarly for -g.
72831
72832         2005-07-09  Bruno Haible  <bruno@clisp.org>
72833
72834                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
72835                 add a .dll suffix.
72836                 Reported by Mark Junker <mjscod@gmx.de>.
72837
72838         2006-06-17  Bruno Haible  <bruno@clisp.org>
72839
72840                 * config.charset: Update for NetBSD 3.0.
72841
72842         2006-05-17  Bruno Haible  <bruno@clisp.org>
72843
72844                 Cygwin portability.
72845                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
72846
72847         2006-05-16  Bruno Haible  <bruno@clisp.org>
72848
72849                 * localcharset.c [CYGWIN]: Include <windows.h>.
72850                 (get_charset_aliases): For Cygwin, return the same CPxxx
72851                 aliases list as under WIN32.
72852                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
72853                 the environment variables. Fall back to GetACP().
72854
72855         2006-04-05  Bruno Haible  <bruno@clisp.org>
72856
72857                 * config.charset: Update Juan Manuel Guerrero's address.
72858
72859         2005-02-12  Bruno Haible  <bruno@clisp.org>
72860
72861                 * allocsa.h: Add extern "C" for C++.
72862
72863         2005-02-10  Bruno Haible  <bruno@clisp.org>
72864
72865                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
72866                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
72867
72868         2006-07-22  Bruno Haible  <bruno@clisp.org>
72869
72870                 * gettext.h: Update to GNU gettext-0.15.
72871
72872 2006-07-22  Bruno Haible  <bruno@clisp.org>
72873
72874         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
72875         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
72876         lib-prefix.m4, longdouble.m4, ssize_t.m4.
72877
72878 2006-07-21  Eric Blake  <ebb9@byu.net>
72879
72880         * modules/stdlib-safer: New file.
72881         * MODULES.html.sh (File stream based Input/Output): Add
72882         stdlib-safer.
72883
72884 2006-07-21  Eric Blake  <ebb9@byu.net>
72885
72886         * lib/stdlib-safer.h: New file from coreutils, required by
72887         stdlib--.h.
72888
72889 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
72890
72891         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
72892
72893 2006-07-20  Bruno Haible  <bruno@clisp.org>
72894
72895         * gnulib-tool: Recognize new option --assume-autoconf.
72896         (autoconf_minversion): New variable.
72897         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
72898
72899 2006-07-20  Bruno Haible  <bruno@clisp.org>
72900
72901         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
72902
72903 2006-07-19  Derek R. Price  <derek@ximbiot.com>
72904
72905         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
72906         Reindent and repaginate.
72907
72908 2006-07-19  Derek Price  <derek@ximbiot.com>
72909
72910         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
72911         Correct grammar.
72912
72913 2006-07-17  Bruno Haible  <bruno@clisp.org>
72914
72915         * modules/list: New file.
72916         * modules/array-list: New file.
72917         * modules/carray-list, modules/carray-list-tests: New files.
72918         * modules/linked-list, modules/linked-list-tests: New files.
72919         * modules/avltree-list, modules/avltree-list-tests: New files.
72920         * modules/rbtree-list, modules/rbtree-list-tests: New files.
72921         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
72922         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
72923         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
72924         * modules/oset: New file.
72925         * modules/array-oset: New file.
72926         * modules/avltree-oset, modules/avltree-oset-tests: New files.
72927         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
72928         * tests/test-carray_list.c: New file.
72929         * tests/test-linked_list.c: New file.
72930         * tests/test-avltree_list.c: New file.
72931         * tests/test-rbtree_list.c: New file.
72932         * tests/test-linkedhash_list.c: New file.
72933         * tests/test-avltreehash_list.c: New file.
72934         * tests/test-rbtreehash_list.c: New file.
72935         * tests/test-avltree_oset.c: New file.
72936         * tests/test-rbtree_oset.c: New file.
72937         * MODULES.html.sh (Container data structures): New section.
72938
72939 2006-07-17  Bruno Haible  <bruno@clisp.org>
72940
72941         * m4/gl_list.m4: New file.
72942
72943 2006-07-17  Bruno Haible  <bruno@clisp.org>
72944
72945         * lib/gl_list.h: New file.
72946         * lib/gl_list.c: New file.
72947         * lib/gl_array_list.h: New file.
72948         * lib/gl_array_list.c: New file.
72949         * lib/gl_carray_list.h: New file.
72950         * lib/gl_carray_list.c: New file.
72951         * lib/gl_linked_list.h: New file.
72952         * lib/gl_linked_list.c: New file.
72953         * lib/gl_anylinked_list1.h: New file.
72954         * lib/gl_anylinked_list2.h: New file.
72955         * lib/gl_avltree_list.h: New file.
72956         * lib/gl_avltree_list.c: New file.
72957         * lib/gl_anyavltree_list1.h: New file.
72958         * lib/gl_anyavltree_list2.h: New file.
72959         * lib/gl_rbtree_list.h: New file.
72960         * lib/gl_rbtree_list.c: New file.
72961         * lib/gl_anyrbtree_list1.h: New file.
72962         * lib/gl_anyrbtree_list2.h: New file.
72963         * lib/gl_anytree_list1.h: New file.
72964         * lib/gl_anytree_list2.h: New file.
72965         * lib/gl_linkedhash_list.h: New file.
72966         * lib/gl_linkedhash_list.c: New file.
72967         * lib/gl_anyhash_list1.h: New file.
72968         * lib/gl_anyhash_list2.h: New file.
72969         * lib/gl_avltreehash_list.h: New file.
72970         * lib/gl_avltreehash_list.c: New file.
72971         * lib/gl_rbtreehash_list.h: New file.
72972         * lib/gl_rbtreehash_list.c: New file.
72973         * lib/gl_anytreehash_list1.h: New file.
72974         * lib/gl_anytreehash_list2.h: New file.
72975
72976         * lib/gl_oset.h: New file.
72977         * lib/gl_oset.c: New file.
72978         * lib/gl_array_oset.h: New file.
72979         * lib/gl_array_oset.c: New file.
72980         * lib/gl_avltree_oset.h: New file.
72981         * lib/gl_avltree_oset.c: New file.
72982         * lib/gl_rbtree_oset.h: New file.
72983         * lib/gl_rbtree_oset.c: New file.
72984         * lib/gl_anytree_oset.h: New file.
72985
72986 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
72987
72988         * m4/mkancesdirs.m4: New file.
72989         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
72990         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
72991         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
72992         it.
72993
72994 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
72995
72996         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
72997         * lib/mkancesdirs.h: New files.
72998         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
72999         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
73000         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
73001         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
73002         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
73003         callers changed.  Revamp internals significantly, by not
73004         attempting to create directories that are temporarily more
73005         permissive than the final results.  Do not attempt to use
73006         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
73007         This removes some race conditions, fixes some bugs, and simplifies
73008         things.  Use new dirchownmod function to do owner and mode changes.
73009         * lib/mkdir-p.h: Likewise.
73010         * lib/modechange.c (octal_to_mode): New function.
73011         (struct mode_change): New member mentioned.
73012         (make_node_op_equals): New arg mentioned.  All callers changed.
73013         (mode_compile): Keep track of which mode bits the user has explicitly
73014         mentioned.
73015         (mode_adjust): New arg DIR, so that we implement the X op correctly.
73016         New arg PMODE_BITS, to keep track of which mode bits the user
73017         mentioned; it treats S_ISUID and S_ISGID speciall.
73018         All callers changed.
73019         * lib/modechange.h: Likewise.
73020
73021 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
73022
73023         * MODULES.html.sh: Add mkancestors.
73024         * modules/mkancesdirs: New module.
73025         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
73026         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
73027         The chdir-safer and afs files are now orphans; I'll remove them
73028         unless someone speaks up.
73029         Add lib/dirchownmod.c, lib/dirchownmod.h.
73030         (Depends-on): Remove alloca, chown, save-cwd, dirname.
73031         Add lchown, mkancesdirs.
73032         (Maintainer): Add self.
73033
73034 2006-07-15  Karl Berry  <karl@gnu.org>
73035
73036         * gnulib-tool: help message wording/arrangement.
73037
73038 2006-07-14  Simon Josefsson  <jas@extundo.com>
73039
73040         * doc/gnulib.texi (Libtool and Windows): New section.
73041
73042 2006-07-12  Simon Josefsson  <jas@extundo.com>
73043
73044         * modules/gendocs (License): Fix license, approved by Karl.
73045
73046 2006-07-12  Eric Blake  <ebb9@byu.net>
73047
73048         * MODULES.html.sh: Add gendocs.
73049
73050 2006-07-11  Eric Blake  <ebb9@byu.net>
73051
73052         * modules/fdl: New module, to install doc/fdl.texi.
73053         * MODULES.html.sh: Add new section for documentation modules.
73054         * gnulib-tool: Avoid space-tab.
73055         (--doc-base): New option, to manage files from doc.
73056
73057 2006-07-11  Eric Blake  <ebb9@byu.net>
73058
73059         * m4/absolute-header.m4: Fix comments to match recent change.
73060
73061 2006-07-11  Eric Blake  <ebb9@byu.net>
73062
73063         * gnulib-tool: List --doc-base before --tests-base.
73064
73065 2006-07-11  Derek R. Price  <derek@ximbiot.com>
73066
73067         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
73068
73069 2006-07-11  Bruno Haible  <bruno@clisp.org>
73070
73071         * README: Mention where to put documentation.
73072
73073 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73074
73075         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
73076
73077 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
73078
73079         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
73080         to stdint.m4.
73081
73082 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
73083
73084         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
73085         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
73086         "no/such/file/stdint.h" when there is no such file, so that
73087         the resulting C code can be parsed by dodgy compilers.
73088         Problems reported by Bob Proulx.
73089
73090 2006-07-10  Derek R. Price  <derek@ximbiot.com>
73091
73092         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
73093         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
73094         macros into the GNU _D_EXACT_NAMLEN.
73095         * lib/savedir.c:  Likewise.
73096         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
73097
73098 2006-07-10  Derek R. Price  <derek@ximbiot.com>
73099         and Paul Eggert  <eggert@cs.ucla.edu>
73100
73101         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
73102         * m4/savedir.m4:
73103         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
73104         macros into the GNU _D_EXACT_NAMLEN.
73105
73106 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73107
73108         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
73109         around the absolute name, to work around a problem with the HP-UX
73110         11.23 native C compiler, reported by Bob Proulx.
73111
73112 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73113
73114         * doc/maintain.texi, make-stds.texi: Sync from
73115         <http://savannah.gnu.org/projects/gnustandards>.
73116
73117 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73118
73119         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
73120
73121 2006-07-09  Jim Meyering  <jim@meyering.net>
73122
73123         * m4/glob.m4: Remove a doubled word in a comment.
73124
73125 2006-07-09  Jim Meyering  <jim@meyering.net>
73126
73127         * lib/argp-pv.c: Remove a doubled word in a comment.
73128         * lib/check-version.c (check_version): Likewise.
73129         * lib/javacomp.c (compile_java_class): Likewise.
73130
73131 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
73132
73133         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
73134         for the benefit of people using Autoconf 2.60.  If you want to
73135         support older Autoconf versions you can copy m4/onceonly_2_57.m4
73136         (or m4/onceonly.m4, if pre-2.57) manually.
73137
73138 2006-07-08  Jim Meyering  <jim@meyering.net>
73139
73140         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
73141         comment.
73142         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
73143         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
73144         comment.
73145
73146 2006-07-08  Jim Meyering  <jim@meyering.net>
73147
73148         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
73149
73150 2006-07-07  Simon Josefsson  <jas@extundo.com>
73151
73152         * tests/test-crc.c: Change expected crc value, the test vector
73153         were probably computed using the old broken crc.c?
73154
73155 2006-07-06  Simon Josefsson  <jas@extundo.com>
73156
73157         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
73158         now the canonical place for the M4 file).
73159
73160         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
73161         from the sys_socket dependency now.
73162
73163         * modules/inet_pton (Files): Ditto.
73164
73165         * modules/inet_ntop (Files): Ditto.
73166
73167 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
73168
73169         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
73170         not gl_PREREQ_GETUSERSHELL.
73171
73172 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73173
73174         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
73175         with only one argument, for Autoconf 2.60.
73176         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
73177         expand to nothing, so add a shell command to avoid syntax error.
73178         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
73179
73180 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73181
73182         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
73183
73184 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73185
73186         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
73187         no longer needed.  Check for isblank decl.
73188         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
73189         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
73190         of existence.
73191
73192 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73193
73194         * lib/getloadavg.c: Use __VMS, not VMS.
73195         * lib/getopt.c: Likewise.
73196         * lib/getpagesize.h: Likewise.
73197         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
73198         and probably does not work.
73199
73200 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73201
73202         * lib/.cppi-disable: Add wcwidth.
73203         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
73204         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
73205         (ISGRAPH): Remove.  All uses changed to isgraph.
73206         (FOLD) [!defined _LIBC]: Remove special case.
73207         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
73208         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
73209         HAVE_ISBLANK.
73210         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
73211         case.
73212
73213 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
73214
73215         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
73216         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
73217         brackets.  Other minor changes to suppress some compiler
73218         warnings.
73219
73220 2006-07-06  Derek R. Price  <derek@ximbiot.com>
73221         and Paul Eggert  <eggert@cs.ucla.edu>
73222
73223         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
73224         of invoking obsolescent AC_HEADER_DIRENT macro.
73225         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
73226         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
73227         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
73228         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
73229         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
73230         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
73231         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
73232         * m4/readdir.m4: Remove; no longer needed.
73233
73234 2006-07-06  Derek R. Price  <derek@ximbiot.com>
73235         and Paul Eggert  <eggert@cs.ucla.edu>
73236
73237         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
73238         Don't worry about this obsolete case any more.
73239         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
73240         directories.
73241         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
73242         worry about this obsolete case any more.
73243         * lib/fts.c: Likewise.
73244         * lib/getcwd.c: Likewise.
73245         * lib/glob.h: Likewise.
73246         * lib/savedir.c: Likewise.
73247
73248 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
73249
73250         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
73251         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
73252         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
73253         needed.
73254         All uses removed.
73255         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73256         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
73257         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
73258         needed.
73259         * m4/getdate.m4 (gl_GETDATE): Likewise.
73260         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
73261         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
73262         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
73263         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73264         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
73265         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73266         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
73267         needed.
73268
73269 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
73270
73271         * lib/memcasecmp.c: Include <limits.h>.
73272         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
73273         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
73274         Don't assume isdigit succeeds only on '0' through '9'.
73275
73276 2006-07-05  Eric Blake  <ebb9@byu.net>
73277
73278         * modules/getaddrinfo (Depends-on): Add snprintf.
73279
73280 2006-07-05  Eric Blake  <ebb9@byu.net>
73281
73282         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
73283         to avoid 'header present but could not be compiled' on cygwin.
73284
73285 2006-07-05  Eric Blake  <ebb9@byu.net>
73286
73287         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
73288         missing from netdb.h.
73289         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
73290
73291 2006-07-05  Derek R. Price  <derek@ximbiot.com>
73292
73293         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
73294         no longer needed.
73295         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
73296         * m4/getdate.m4 (gl_GETDATE): Likewise.
73297         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
73298         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
73299         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
73300         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73301         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73302
73303 2006-07-05  Derek R. Price  <derek@ximbiot.com>
73304
73305         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
73306         All uses of is_space replaced by isspace.
73307         * lib/exit.h: Don't talk about STDC_HEADERS.
73308         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
73309         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
73310         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
73311         replaced by isprint etc.
73312         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
73313         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
73314         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
73315         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
73316         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
73317         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
73318
73319 2006-07-05  Bruno Haible  <bruno@clisp.org>
73320
73321         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
73322         the function exists, before testing against AIX.
73323         Reported by Martin Lambers <marlam@marlam.de>.
73324
73325 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
73326
73327         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
73328         From Mark D. Baushke.
73329
73330 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
73331
73332         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
73333         to the absolute name, not just one, to bypass Sun C 5.8's
73334         "warning: #include of /usr/include/... may be non-portable".
73335
73336 2006-07-04  Eric Blake  <ebb9@byu.net>
73337
73338         * modules/dirname-tests: New test module.
73339         * tests/test-dirname.c: New file, replacing dirname.c
73340         TEST_DIRNAME section that was recently deleted.
73341
73342 2006-07-04  Bruno Haible  <bruno@clisp.org>
73343
73344         Assume ANSI C header files and <ctype.h> functions.
73345         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
73346         (mbsnwidth): Use isprint, iscntrl instead.
73347
73348 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73349
73350         Merge from coreutils.
73351         * MODULES.html.sh: Add xstrtold.
73352         * modules/xstrtold: New file.
73353         * modules/cycle-check (Files): Add lib/same-inode.h.
73354         * modules/dirname (Files): Add m4/double-slash-root.m4.
73355         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
73356         * modules/mkdir-p (Files): Add lib/same-inode.h.
73357         * modules/same (Files): Add lib/same-inode.h.
73358
73359 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73360
73361         * m4/absolute-header.m4: Renamed from full-header-path.m4.
73362         This is to keep the terminology clean; POSIX talks about
73363         "absolute pathnames", not "full pathnames", but the GNU
73364         Coding Standards say to use "path" for something else;
73365         so use "absolute" to keep both sides happy.
73366         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
73367         Set gl_absolute_header, not gl_full_header_path.
73368         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
73369         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
73370         All uses changed.
73371
73372         Merge from coreutils.
73373
73374         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
73375
73376         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
73377         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
73378         want to require the building of c-strtod.o.
73379         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
73380         needs -lm directly.
73381         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
73382
73383         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
73384
73385         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
73386         --as-needed option if available.  Problem reported by Albert Chin in
73387         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
73388         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
73389         cc merely issues a bunch of annoying warnings for --as-needed
73390         (this problem was reported by Bob Proulx).  Also, try linking with
73391         -lm to detect a bug in binutils 2.16 (this problem was reported
73392         by Ralf Wildenhues).
73393
73394         2006-06-18  Jim Meyering  <jim@meyering.net>
73395
73396         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
73397         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
73398         macro.
73399         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
73400         also check for glibc-2.4's abort-inducing bug.
73401
73402         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
73403         Low-probability clean-up should be to use rmdir to get rid of
73404         the just-created directory, not unlink.
73405
73406         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
73407         configure fail, and request a bug report to inform us about it.
73408         Add a comment that, barring reports to the contrary, in 2007 we'll
73409         assume ftruncate is universally available.
73410
73411         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
73412
73413         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
73414
73415         2006-03-12  Jim Meyering  <jim@meyering.net>
73416
73417         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
73418         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
73419         * m4/same.m4 (gl_SAME): Likewise.
73420         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
73421
73422         2006-03-11  Eric Blake  <ebb9@byu.net>
73423
73424         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
73425         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
73426         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
73427         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
73428
73429 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73430
73431         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
73432         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
73433         reported by Mark D. Baushke, one in
73434         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
73435
73436         Merge from coreutils.
73437
73438         * lib/.cppi-disable: Add stdint_.h.
73439         * lib/.cvsignore: Add stdint.h.
73440
73441         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
73442
73443         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
73444         both double and long double versions.
73445         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
73446         * lib/xstrtold.c: New file.
73447         * lib/xstrtod.h (xstrtold): New decl.
73448
73449         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
73450
73451         * lib/filemode.c (setst): Remove.
73452         (strmode): Rewrite to avoid setst.  This makes the code shorter,
73453         (arguably) clearer, and the generated code is a bit smaller on my
73454         Debian GNU/Linux stable x86 host.
73455
73456         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
73457
73458         * lib/filemode.c: Include "filemode.h" first, to test the interface.
73459         Assume that filemode.h includes sys/types.h and sys/stat.h.
73460         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
73461         (ftypelet): Reorder to put common cases first, for efficiency.
73462         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
73463         to do 'M'.
73464         (strmode): Renamed from mode_string, and now stores 12 bytes instead
73465         of 10, for compatibility with FreeBSD.  All callers changed.
73466         (filemodestring): Now stores 12 bytes instead of 10, and sets file
73467         types that can't be deduced solely from st_mode.  First arg is now a
73468         const pointer.
73469         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
73470         (strmode): Renamed from mode_string.
73471         (filemodestring): New decl.
73472         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
73473         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
73474         needed.
73475         (S_ISPORT, S_ISWHT): New macros, if not already defined.
73476
73477         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
73478
73479         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
73480         fsusage.h now does that.  Include fsusage.h first, to test interface.
73481         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
73482         at most one method (the old code could have generated decls that
73483         didn't conform to C89, not that this was ever exercised).
73484         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
73485
73486         2006-03-19  Jim Meyering  <jim@meyering.net>
73487
73488         Work even in a chroot where d_ino values for entries in "/"
73489         don't match the stat.st_ino values for the same names.
73490         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
73491         number, iterate through all entries again, using lstat instead.
73492         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
73493         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
73494
73495         * lib/getcwd.c (__getcwd): Clarify a comment.
73496         Use memcpy in place of a call to strcpy.
73497
73498         2006-03-12  Jim Meyering  <jim@meyering.net>
73499
73500         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
73501         matches that of the current directory (which we're about to chdir ".."
73502         out of), then save the dev-ino of the parent, instead.
73503
73504         * lib/same-inode.h (SAME_INODE): New file/macro.
73505         * lib/chdir-safer.c (SAME_INODE): Remove definition.
73506         Include "same-inode.h", instead.
73507         * lib/same.c: Likewise.
73508         * lib/cycle-check.h: Include "same-inode.h".
73509         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
73510         * lib/cycle-check.c (SAME_INODE): Remove definition.
73511         * lib/root-dev-ino.h: Include "same-inode.h".
73512
73513         2006-03-11  Eric Blake  <ebb9@byu.net>
73514
73515         * lib/same.c (same_name): s/base_name/last_component/
73516         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
73517         * lib/filenamecat.c (file_name_concat): Likewise.
73518
73519         2006-03-11  Eric Blake  <ebb9@byu.net>,
73520                     Paul Eggert  <eggert@cs.ucla.edu>
73521
73522         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
73523         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
73524         drive prefix.
73525         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
73526         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
73527         (last_component): New method.
73528         * lib/dirname.c (dir_len): Determine when drive letters need a
73529         subsequent slash.  Preserve // when it is special.
73530         (dir_name): Don't append dot when drive letter is absolute.
73531         [TEST_DIRNAME]: Move into a full-blown gnulib test.
73532         * lib/basename.c (base_name): New semantics - malloc the result.
73533         Preserve // when it is special.  Preserve relative files that look
73534         like drive letters.
73535         (base_len): Preserve // when it is special.
73536         (last_component): New method, similar to old base_name semantics.
73537         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
73538         base_name.  Strip redundant slashes from ///.
73539
73540 2006-07-03  Jim Meyering  <jim@meyering.net>
73541
73542         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
73543         macro is used before the first cycle_check call.
73544
73545 2006-07-03  Eric Blake  <ebb9@byu.net>
73546
73547         * modules/dirname (Depends-on): Add xstrndup.
73548
73549 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
73550
73551         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
73552         test cases, so that config.log is a bit easier to follow.
73553
73554 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
73555
73556         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
73557         both are 64 bits, since this seems to be the tradition, and this
73558         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
73559         we ever run into a host that prefers long long to long in this
73560         case, we'll need another configure-time test.  Problem reported by
73561         Jim Meyering.
73562
73563 2006-07-02  Eric Blake  <ebb9@byu.net>
73564
73565         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
73566
73567 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73568
73569         * modules/inttypes (Depends-on): No longer depends on stdint.
73570         * modules/stdint (Description): Say more about assumptions.
73571         Say that the fast types might differ.  Say macros are used.
73572         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
73573         (Makefile.am): Revise list of substituted symbols to match
73574         new stdint.m4.
73575         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
73576         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
73577         * tests/test-stdint.c (verify_same_types)
73578         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
73579         the code conforms to C99/C89.
73580         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
73581         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
73582
73583 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73584
73585         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
73586         but fix a bug, by requiring at least 64 bits.
73587         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
73588         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
73589         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
73590         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
73591
73592         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
73593         changes.  Make 2.59 a prerequisite.  Check and substitute for
73594         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
73595         inttypes.h.  Do not use special include files; just use the
73596         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
73597         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
73598         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
73599         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
73600         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
73601         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
73602         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
73603         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
73604         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
73605         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
73606         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
73607         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
73608         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
73609         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
73610         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
73611         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
73612         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
73613         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
73614         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
73615         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
73616         WINT_MAX.  Check for C99 conformance more strictly, by detecting
73617         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
73618         not check for things that C99 does not require, e.g., int8_t.  If
73619         a test isn't needed unless <stdint.h> isn't working, and is
73620         unlikely to be needed for any other reason, then don't do it
73621         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
73622         size_t, since we assume C89 freestanding at least.  Do not check
73623         for sig_atomic_t, wchar_t, or wint_t, since the code now does
73624         the right thing even if the types are not defined.  Instead use:
73625         (gl_STDINT_TYPE_PROPERTIES): New macro.
73626         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
73627         testing whether <sys/types.h> clashes, as Autoconf does this for
73628         us now.  All uses removed.
73629         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
73630         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
73631         (gl_CHECK_TYPE_SAME):
73632         Remove; no longer needed.
73633         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
73634         exists, since we'll return 0 anyway in that case.
73635         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
73636
73637 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73638
73639         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
73640         possible collision with system files.
73641         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
73642         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
73643         WCHAR_MIN and WCHAR_MAX in this case.
73644         (<stddef.h>): Do not include; no longer needed.
73645         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
73646         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
73647         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
73648         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
73649         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
73650         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
73651         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
73652         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
73653         !defined(__c99))]: Include in this case too, since it's harmless
73654         now.
73655         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
73656         dangerous to do so.
73657         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
73658         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
73659         (_STDINT_MIN, _STDINT_MAX): New macros.
73660         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
73661         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
73662         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
73663         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
73664         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
73665         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
73666         macros, not typedefs; this simplifies things quite a bit.
73667         Use long int for all types narrower than int64_t.
73668         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
73669         Define in terms of long long int or int64_t or long int,
73670         not int64_t or int32_t.  This saves some compile-time testing.
73671         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
73672         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
73673         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
73674         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
73675         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
73676         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
73677         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
73678         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
73679         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
73680         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
73681         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
73682         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
73683         undef any previous version and define our own version, for
73684         simplicity and consistency with the new macros for types.
73685         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
73686         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
73687         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
73688         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
73689         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
73690         @WINT_T_SUFFIX@ to keep things simple here.
73691         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
73692         Simplify by assuming typical 8/16/32/64 host, since we're
73693         already doing that elsewhere anyway.
73694         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
73695         and assume long long int is 64 bits if available.  This
73696         speeds up 'configure'.
73697
73698 2006-07-01  Eric Blake  <ebb9@byu.net>
73699
73700         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
73701         Reported by Andreas Buening.
73702
73703 2006-07-01  Eric Blake  <ebb9@byu.net>
73704
73705         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
73706
73707 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
73708
73709         * lib/getaddrinfo.c: fixed typo
73710
73711 2006-06-29  Jim Meyering  <jim@meyering.net>
73712
73713         * modules/strftime (Maintainer): Add my name, since with the
73714         FPRINTFTIME changes strftime.c has forked from glibc.
73715
73716 2006-06-29  Eric Blake  <ebb9@byu.net>
73717
73718         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
73719
73720 2006-06-29  Eric Blake  <ebb9@byu.net>
73721
73722         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
73723
73724 2006-06-29  Eric Blake  <ebb9@byu.net>
73725
73726         * lib/stat_.h: New file.
73727
73728 2006-06-29  Eric Blake  <ebb9@byu.net>
73729
73730         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
73731         unused static function.
73732
73733 2006-06-29  Eric Blake  <ebb9@byu.net>
73734
73735         * doc/functions.texi (Function Portability): Document missing lstat
73736         on mingw.
73737
73738 2006-06-29  Eric Blake  <ebb9@byu.net>
73739
73740         * MODULES.html.sh: Add sys_stat.
73741         * modules/sys_stat: New module.
73742         * modules/mkstemp (Depends-on): Add sys_stat.
73743
73744 2006-06-29  Derek R. Price  <derek@ximbiot.com>
73745
73746         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
73747
73748 2006-06-29  Derek R. Price  <derek@ximbiot.com>
73749
73750         * m4/c-bs-a.m4: Removed.
73751
73752 2006-06-29  Derek R. Price  <derek@ximbiot.com>
73753
73754         * lib/strftime.c: Assume strftime() exists.
73755
73756 2006-06-29  Derek Price  <derek@ximbiot.com>
73757
73758         * modules/c-bs-a: Removed - \a is C89.
73759         * MODULES.html.sh: Remove c-bs-a.
73760
73761 2006-06-29  Bruno Haible  <bruno@clisp.org>
73762
73763         * modules/wcwidth (License): Change to LGPL.
73764
73765 2006-06-28  Simon Josefsson  <jas@extundo.com>
73766
73767         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
73768         on _WIN32.
73769
73770         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
73771         getnameinfo.
73772
73773 2006-06-28  Simon Josefsson  <jas@extundo.com>
73774
73775         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
73776
73777 2006-06-28  Simon Josefsson  <jas@extundo.com>
73778
73779         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
73780         functions there.  It will succeed on Windows XP, but on Windows
73781         2000 and (presumably) earlier, it will fail, and use the internal
73782         re-implementation.
73783         (use_win32_p): New function.
73784         (getaddrinfo): Use strtoul on servname, to support numeric ports.
73785         Support AI_NUMERICSERV to disable getservbyname.
73786         (getnameinfo): New function, only supports
73787         NI_NUMERICHOST|NI_NUMERICSERV for now.
73788
73789         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
73790         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
73791         getnameinfo.
73792
73793 2006-06-28  Eric Blake  <ebb9@byu.net>
73794
73795         * modules/wcwidth: New file.
73796         * modules/mbchar (Depends-on): Add wcwidth.
73797         * modules/mbswidth (Depends-on): Add wcwidth.
73798         * MODULES.html.sh: Add wcwidth.
73799
73800 2006-06-28  Eric Blake  <ebb9@byu.net>
73801
73802         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
73803         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
73804
73805 2006-06-28  Eric Blake  <ebb9@byu.net>
73806
73807         * lib/xvasprintf.h: Fix comments.
73808
73809 2006-06-28  Eric Blake  <ebb9@byu.net>
73810
73811         * lib/mbchar.h (wcwidth): Include wcwidth.h.
73812         * lib/mbswidth.c (wcwidth): Move from here...
73813         * lib/wcwidth.h: ...to this new file.
73814
73815 2006-06-28  Derek R. Price  <derek@ximbiot.com>
73816
73817         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
73818
73819         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
73820         it's obsolete.
73821         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
73822
73823 2006-06-28  Derek R. Price  <derek@ximbiot.com>
73824
73825         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
73826         Autoconf 2.60 says this stuff was obsolete.
73827
73828 2006-06-28  Bruno Haible  <bruno@clisp.org>
73829
73830         * modules/wcwidth (Files): Add m4/wchar_t.m4.
73831
73832 2006-06-28  Bruno Haible  <bruno@clisp.org>
73833
73834         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
73835         gt_TYPE_WCHAR_T.
73836
73837 2006-06-28  Bruno Haible  <bruno@clisp.org>
73838
73839         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
73840         declaration for wcwidth.
73841         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
73842
73843 2006-06-28  Bruno Haible  <bruno@clisp.org>
73844
73845         * lib/mkdtemp.c [MINGW]: Include <io.h>.
73846         (mkdir): Define using _mkdir.
73847
73848 2006-06-28  Bruno Haible  <bruno@clisp.org>
73849
73850         * lib/getaddrinfo.h: Fix POSIX URL.
73851         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
73852         _WIN32.
73853         (use_win32_p): Make static.
73854         (getaddrinfo): Reject service name if it is empty or does not consist
73855         solely of decimal digits, or if its value is > 65535.
73856         (getnameinfo): Remove useless casts.
73857
73858 2006-06-27  Simon Josefsson  <jas@extundo.com>
73859
73860         * modules/sys_select: New file, suggested by Bruno Haible, Paul
73861         Eggert and Martin Lambers.
73862
73863 2006-06-27  Simon Josefsson  <jas@extundo.com>
73864
73865         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
73866         Eggert and Martin Lambers.
73867
73868 2006-06-27  Bruno Haible  <bruno@clisp.org>
73869
73870         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
73871         result to 0, not to empty.
73872         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
73873
73874 2006-06-27  Bruno Haible  <bruno@clisp.org>
73875
73876         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
73877
73878 2006-06-26  Simon Josefsson  <jas@extundo.com>
73879
73880         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
73881         present.
73882
73883 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
73884
73885         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
73886         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
73887         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
73888
73889 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
73890
73891         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
73892
73893 2006-06-26  Bruno Haible  <bruno@clisp.org>
73894
73895         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
73896
73897 2006-06-26  Bruno Haible  <bruno@clisp.org>
73898
73899         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
73900
73901 2006-06-26  Bruno Haible  <bruno@clisp.org>
73902
73903         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
73904         SGI C compiler in pre-C99 mode.
73905         Suggested by Mark D. Baushke and Larry Jones.
73906
73907 2006-06-26  Bruno Haible  <bruno@clisp.org>
73908
73909         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
73910         WCHAR_MAX.
73911         Reported by Mark D. Baushke and Larry Jones.
73912
73913 2006-06-26  Bruno Haible  <bruno@clisp.org>
73914
73915         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
73916         in pre-C99 mode.
73917         Suggested by Mark D. Baushke and Larry Jones.
73918
73919 2006-06-23  Simon Josefsson  <jas@extundo.com>
73920             Bruno Haible  <bruno@clisp.org>
73921
73922         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
73923         Emit mostlyclean-local rule.
73924         (func_emit_tests_Makefile_am): Likewise.
73925         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
73926
73927 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
73928
73929         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
73930
73931 2006-06-23  Bruno Haible  <bruno@clisp.org>
73932
73933         * tests/test-stdint.c: Update to match ISO C 99 Technical
73934         Corrigendum 1.
73935
73936 2006-06-23  Bruno Haible  <bruno@clisp.org>
73937
73938         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
73939
73940 2006-06-23  Bruno Haible  <bruno@clisp.org>
73941
73942         * lib/stdint_.h: Treat IRIX like OpenBSD.
73943
73944 2006-06-23  Bruno Haible  <bruno@clisp.org>
73945
73946         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
73947         ISO C 99 Technical Corrigendum 1.
73948
73949 2006-06-22  Simon Josefsson  <jas@extundo.com>
73950
73951         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
73952         MinGW.
73953
73954 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73955
73956         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
73957         needed.  Some compiler complained about some of them.  Problem reported
73958         by Larry Jones in
73959         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
73960
73961 2006-06-21  Simon Josefsson  <jas@extundo.com>
73962
73963         * tests/test-getaddrinfo.c: New file.
73964
73965         * modules/getaddrinfo-tests: New file.
73966
73967         * MODULES.html.sh: Add inet_pton.
73968
73969         * modules/inet_pton: New file.
73970
73971 2006-06-21  Simon Josefsson  <jas@extundo.com>
73972
73973         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
73974         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
73975         of using the (limited) gnulib implementation on Windows XP.
73976
73977         * m4/inet_pton.m4: New file.
73978
73979 2006-06-21  Simon Josefsson  <jas@extundo.com>
73980
73981         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
73982         variable.
73983
73984         * lib/socket_.h: Don't define WINVER.
73985
73986         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
73987         slightly modified to work in gnulib.
73988
73989 2006-06-21  Simon Josefsson  <jas@extundo.com>
73990
73991         * doc/gnulib.texi (Windows sockets): Add.
73992
73993 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
73994
73995         * lib/read-file.c (fread_file): Start with buffer allocation of
73996         0 bytes rather than 1 byte; this simplifies the code.
73997         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
73998         code to free buffer and save/restore errno.
73999         (internal_read_file): Remove unused local.
74000
74001 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
74002
74003         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
74004         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
74005         Problem reported by Denis Excoffier in
74006         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
74007
74008 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74009
74010         * modules/sys_socket, modules/socklen: Include sys/types since
74011         FreeBSD 4.x's sys/socket.h needs it.
74012
74013 2006-06-19  Simon Josefsson  <jas@extundo.com>
74014
74015         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
74016
74017 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
74018
74019         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
74020
74021 2006-06-19  Bruno Haible  <bruno@clisp.org>
74022
74023         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
74024         and FULL_PATH_INTTYPES_H in angle brackets.
74025         Reported by Mark D. Baushke <mdb@gnu.org>.
74026
74027 2006-06-17  Eric Blake  <ebb9@byu.net>
74028
74029         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
74030         errno.
74031
74032 2006-06-17  Bruno Haible  <bruno@clisp.org>
74033
74034         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
74035         <sys/inttypes.h>.
74036
74037 2006-06-17  Bruno Haible  <bruno@clisp.org>
74038
74039         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
74040         whether errno is declared. Assume <errno.h> declares errno.
74041
74042 2006-06-17  Bruno Haible  <bruno@clisp.org>
74043
74044         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
74045
74046 2006-06-17  Bruno Haible  <bruno@clisp.org>
74047
74048         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
74049         problem on Solaris 2.5.1.
74050
74051 2006-06-16  Eric Blake  <ebb9@byu.net>
74052
74053         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
74054         * lib/unicodeio.c [!defined errno]: Likewise.
74055         * lib/strtol.c [!defined errno]: Likewise.
74056         * lib/strtod.c [!defined errno]: Likewise.
74057
74058 2006-06-15  Eric Blake  <ebb9@byu.net>
74059
74060         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
74061
74062 2006-06-15  Eric Blake  <ebb9@byu.net>
74063
74064         * config/srclist.txt (ssize_t.m4): Lose sync.
74065
74066 2006-06-15  Bruno Haible  <bruno@clisp.org>
74067
74068         * modules/stdint (Files): Include m4/full-header-path.m4,
74069         m4/size_max.m4, m4/wchar_t.m4.
74070         (Makefile.am): Many more substitutions.
74071         * modules/stdint-tests: New file.
74072         * tests/test-stdint.c: New file.
74073
74074 2006-06-15  Bruno Haible  <bruno@clisp.org>
74075
74076         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
74077         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
74078         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
74079         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
74080         gl_CHECK_TYPE_SAME): New macros.
74081
74082 2006-06-15  Bruno Haible  <bruno@clisp.org>
74083
74084         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
74085
74086 2006-06-15  Bruno Haible  <bruno@clisp.org>
74087
74088         * lib/stdint_.h: Rewritten to be fully auto-configured.
74089         Fixes bug on HP-UX/IA64.
74090
74091 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
74092
74093         * lib/getdate.y (__attribute__): Don't define if already defined.
74094         Problem reported by Larry Jones.
74095         * lib/utimens.c (__attribute__): Likewise.
74096
74097 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
74098
74099         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
74100         reported by Andreas Schwab.
74101
74102 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74103             Bruno Haible  <bruno@clisp.org>
74104
74105         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
74106         check for the declaration of strnlen and a run test that exposes the
74107         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
74108         rpl_strndup.
74109
74110 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74111             Bruno Haible  <bruno@clisp.org>
74112
74113         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
74114
74115 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74116
74117         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
74118         compile test, for Tru64 4.0D.
74119
74120 2006-05-28  Karl Berry  <karl@gnu.org>
74121
74122         * config/srclist.txt (printf-args.c): lose sync.
74123
74124 2006-05-26  Martin Lambers  <marlam@marlam.de>
74125
74126         * lib/getpass.c: Updates the test for the native W32 API, and adds
74127         missing includes, thus fixing compilation warnings.
74128
74129 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
74130
74131         * lib/exclude.c (exclude_fnmatch): New function.
74132         (excluded_file_name): Call exclude_fnmatch.
74133         * lib/exclude.h (excluded_file_name): New prototype
74134
74135 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
74136
74137         * lib/tempname.c (small_open, large_open): New macros.
74138         (__open, __open64) [!_LIBC]: Remove.
74139         (__gen_tempname): Use small_open and large_open instead of __open
74140         and __open64.  This fixes a portability bug on HP-UX 11.11i
74141         reported by Simon Wing-Tang in
74142         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
74143
74144 2006-05-24  Bruno Haible  <bruno@clisp.org>
74145
74146         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
74147         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
74148         Reported by Thorsten Maerz <torte@netztorte.de> via
74149         Aaron Stone <aaron@serendipity.cx>.
74150
74151 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
74152
74153         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
74154         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
74155         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
74156         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
74157         not really conditional on the cache.
74158         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
74159
74160 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
74161
74162         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
74163         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
74164         (my_usleep): Don't mishandle maximum value.
74165
74166 2006-05-19  Jim Meyering  <jim@meyering.net>
74167
74168         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
74169
74170 2006-05-17  Bruno Haible  <bruno@clisp.org>
74171
74172         Cygwin portability.
74173         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
74174
74175 2006-05-17  Bruno Haible  <bruno@clisp.org>
74176
74177         * lib/stdint_.h: Fix recognition of Cygwin.
74178
74179 2006-05-15  Bruno Haible  <bruno@clisp.org>
74180
74181         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
74182         on libtool patch by Ralf Wildenhues.
74183
74184 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
74185
74186         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
74187         test for C99 conformance; (bool) 0.5 is an integer constant
74188         expression, but (bool) -0.5 is not.  Problem reported by Fedor
74189         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
74190
74191 2006-05-11  Simon Josefsson  <jas@extundo.com>
74192
74193         * m4/xvasprintf.m4: Fix obvious typo.
74194
74195 2006-05-11  Jim Meyering  <jim@meyering.net>
74196
74197         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
74198         James Lemley.
74199
74200 2006-05-10  Simon Josefsson  <jas@extundo.com>
74201
74202         * lib/md4.c: Typo fix, update copyright years.
74203         (K1, K2): Don't use L because it turn computations into 64-bit on
74204         64-bit platforms.
74205
74206 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
74207
74208         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
74209         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
74210         unwanted sign propagation, e.g., on hosts with 64-bit int.
74211         There still are some problems with reeelly weird theoretical hosts
74212         (e.g., 33-bit int) but it's not worth worrying about now.
74213         * lib/sha1.c (rol): Likewise.
74214         (K1, K2, K3, K4): Remove unnecessary L suffix.
74215
74216 2006-05-10  Bruno Haible  <bruno@clisp.org>
74217
74218         * lib/des.c: Cast to avoid warnings.
74219
74220 2006-05-09  Bruno Haible  <bruno@clisp.org>
74221
74222         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
74223         (Depends-on): Depend also on xsize, stdarg.
74224         (configure.ac): Add gl_XVASPRINTF.
74225
74226 2006-05-09  Bruno Haible  <bruno@clisp.org>
74227
74228         * m4/xvasprintf.m4: New file.
74229
74230 2006-05-09  Bruno Haible  <bruno@clisp.org>
74231
74232         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
74233         (EOVERFLOW): Define fallback value.
74234         (xstrcat): New function.
74235         (xvasprintf): Recognize the special case of a string concatenation.
74236
74237 2006-05-08  Eric Blake  <ebb9@byu.net>
74238
74239         * gnulib-tool (func_version): Base copyright year on CVS date.
74240         (func_emit_copyright_notice): New function.
74241         (func_emit_lib_Makefile_am): Use it.
74242         (func_emit_tests_Makefile_am): Likewise.
74243         (func_import): Likewise.
74244
74245 2006-05-08  Bruno Haible  <bruno@clisp.org>
74246
74247         * modules/stdarg: New file.
74248         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
74249
74250 2006-05-08  Bruno Haible  <bruno@clisp.org>
74251
74252         * m4/stdarg.m4: New file, from GNU gettext.
74253
74254 2006-05-08  Bruno Haible  <bruno@clisp.org>
74255
74256         * config/srclist.txt (build-aux/config.rpath): different from latest
74257         release.
74258
74259 2006-05-08  Bruno Haible  <bruno@clisp.org>
74260
74261         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
74262
74263 2006-05-05  Jim Meyering  <jim@meyering.net>
74264
74265         * m4/warning.m4: New file, derived from bison's file by the same name.
74266
74267 2006-05-03  Bruno Haible  <bruno@clisp.org>
74268
74269         * lib/stdint_.h: Shorter URL.
74270         * lib/inttypes.h: Likewise.
74271
74272 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74273
74274         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
74275
74276 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74277
74278         * lib/verify.h: Document the internals better.  Most of this change
74279         was written by Bruno Haible.
74280
74281 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74282
74283         * doc/verify.texi: New file, partly based on a proposal by
74284         Bruno Haible.
74285
74286 2006-05-02  Bruno Haible  <bruno@clisp.org>
74287
74288         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
74289         test from here...
74290         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
74291
74292 2006-04-29  Bruno Haible  <bruno@clisp.org>
74293
74294         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
74295         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
74296
74297 2006-04-29  Bruno Haible  <bruno@clisp.org>
74298
74299         * gnulib-tool: Make --update option actually work.
74300
74301 2006-04-29  Bruno Haible  <bruno@clisp.org>
74302
74303         * doc/gcd.texi: New file.
74304         * doc/gnulib.texi: Include it.
74305
74306 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
74307
74308         * lib/getdate.y (get_date): When adding relative date, start with the
74309         initial time, not with the result of the first mktime call.
74310
74311 2006-04-25  Bruno Haible  <bruno@clisp.org>
74312
74313         * gnulib-tool (func_import): Output the include directives in three
74314         blocks, sorted separately.
74315         Reported by Ben Pfaff <blp@cs.stanford.edu>.
74316
74317 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
74318
74319         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
74320         to define main with arguments, for C++.  Reported by Eric Blake.
74321         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
74322         Prefer 'int main ()' to 'int main (void)', for C++.
74323         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
74324         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
74325         for 'main', for C99 and C++.
74326
74327 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
74328
74329         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
74330         Don't assume that exit status -1 is valid.
74331         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74332         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
74333         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
74334         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
74335         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
74336         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
74337         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
74338         functions can be used without declaring them, or that you can
74339         exit with status -1.
74340         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
74341
74342 2006-04-24  Karl Berry  <karl@gnu.org>
74343
74344         * config/srclist.txt (longdouble.m4): sync lost.
74345
74346 2006-04-24  Eric Blake  <ebb9@byu.net>
74347
74348         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
74349
74350 2006-04-24  Bruno Haible  <bruno@clisp.org>
74351
74352         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
74353         poll() implementation in AIX.
74354         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74355
74356 2006-04-24  Bruno Haible  <bruno@clisp.org>
74357
74358         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
74359         assigned exactly once.
74360
74361 2006-04-23  Claudio Fontana  <claudio@gnu.org>
74362             Bruno Haible  <bruno@clisp.org>
74363
74364         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
74365         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
74366         for AM_CPPFLAGS.
74367
74368 2006-04-23  Bruno Haible  <bruno@clisp.org>
74369
74370         * modules/copy-file: Depend on unistd.
74371         * modules/execute: Likewise.
74372         * modules/fatal-signal: Likewise.
74373         * modules/findprog: Likewise.
74374         * modules/mkdtemp : Likewise.
74375         * modules/pipe: Likewise.
74376         * modules/wait-process: Likewise.
74377
74378 2006-04-23  Bruno Haible  <bruno@clisp.org>
74379
74380         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
74381         condition was already detected.
74382         Reported by Ben Pfaff <blp@cs.stanford.edu>.
74383
74384 2006-04-23  Bruno Haible  <bruno@clisp.org>
74385
74386         * lib/copy-file.c: Include <unistd.h> unconditionally.
74387         * lib/execute.c: Likewise.
74388         * lib/fatal-signal.c: Likewise.
74389         * lib/findprog.c: Likewise.
74390         * lib/mkdtemp.c: Likewise.
74391         * lib/pipe.h: Likewise.
74392         * lib/pipe.c: Likewise.
74393         * lib/wait-process.h: Likewise.
74394
74395 2006-04-23  Bruno Haible  <bruno@clisp.org>
74396
74397         * gnulib-tool (func_usage): Fix --import description. Document
74398         --update.
74399         (func_import): Create temporary file in a temporary directory, if
74400         --dry-run is specified. Silence errors from 'grep' when there are no
74401         m4 files in $m4dir.
74402         (func_create_testdir): Silence errors from 'grep' when there are no
74403         m4 files in $m4dir.
74404         Reported by Karl Berry <karl@freefriends.org>.
74405
74406 2006-04-20  Bruno Haible  <bruno@clisp.org>
74407
74408         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
74409         one argument, so that the code will be portable to Autoconf 2.60.
74410         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
74411         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
74412         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
74413
74414 2006-04-19  Derek Price  <derek@ximbiot.com>
74415             Eric Blake  <ebb9@byu.net>
74416
74417         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
74418         rather than "/full/path.h".  Update comment to match.  Shorten &
74419         generalize m4_translit call via AS_TR_CPP.
74420
74421 2006-04-19  Derek Price  <derek@ximbiot.com>
74422             Eric Blake  <ebb9@byu.net>
74423
74424         * lib/inttypes.h: Correct grammar in comment.
74425
74426 2006-04-18  Derek Price  <derek@ximbiot.com>
74427             Paul Eggert  <eggert@cs.ucla.edu>
74428
74429         * modules/inttypes: New file.
74430         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
74431
74432 2006-04-18  Derek Price  <derek@ximbiot.com>
74433             Paul Eggert  <eggert@cs.ucla.edu>
74434
74435         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
74436         New files.
74437
74438 2006-04-18  Derek Price  <derek@ximbiot.com>
74439             Paul Eggert  <eggert@cs.ucla.edu>
74440
74441         * lib/inttypes.h: New file.
74442         * lib/strtoimax.c: Assume <inttypes.h>.
74443
74444 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
74445
74446         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
74447         isn't mounted.  Problem reported by Kir Kolyshkin.
74448
74449 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
74450
74451         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
74452         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
74453         Derek R. Price.
74454         * lib/regex.h (RE_DUP_MAX): Update comment to match current
74455         implementation.
74456
74457 2006-04-12  Eric Blake  <ebb9@byu.net>
74458
74459         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
74460         is now done automatically by the corresponding Autoconf macro.
74461
74462 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
74463
74464         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
74465         time_r.h.
74466
74467 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74468
74469         Merge regex changes from libc, removing some of our
74470         POSIX-conformance changes that were rejected and redoing them in a
74471         less-intrusive way.
74472
74473         * lib/regcomp.c (re_compile_internal, init_dfa):
74474         Length arg is now size_t, not Idx.  All uses changed.
74475         (peek_token): Forward decl now says internal_function.
74476         (__re_error_msgid, __re_error_msgid_idx):
74477         Now static rather than extern with attribute_hidden.
74478         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
74479         For some reason libc prefers K&R style defns for external functions.
74480         (regerror) [!defined _LIBC]: Likewise.
74481         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
74482         (seek_collating_symbol_entry, lookup_collation_sequence_value):
74483         (build_range_exp, build_collating_symbol):
74484         Use K&R-style defn.
74485         (re_compile_fastmap): Use '\0' to memset, not 0.
74486         (utf8_sb_map): Make the calculations more obvious.
74487         (init_dfa, parse_bracket_exp, build_charclass_op):
74488         Call calloc and cast result, as glibc does.
74489         (init_word_char, fetch_token, peek_token, peek_token_bracket):
74490         (build_range_exp, build_collating_symbol):
74491         Now internal functions.
74492
74493         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
74494
74495         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
74496         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
74497         Don't depend on VMS; depend on __VMS instead, for POSIX
74498         namespace cleanness.
74499         (regoff_t): Define to ssize_t, not long int.
74500
74501         Remove the REG_ macros named below.  Instead, make the old names
74502         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
74503         __USE_GNU_REGEX.
74504         (REG_BACKSLASH_ESCAPE_IN_LISTS):
74505         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
74506         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
74507         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
74508         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
74509         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
74510         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
74511         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
74512         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
74513         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
74514         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
74515         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
74516         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
74517         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
74518         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
74519         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
74520         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
74521         (REG_NREGS):
74522         Remove.  All uses replaced by the old RE_* names.
74523         (RE_BACKSLASH_ESCAPE_IN_LISTS):
74524         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
74525         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
74526         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
74527         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
74528         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
74529         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
74530         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
74531         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
74532         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
74533         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
74534         Don't bother having these macros be independent of each others'
74535         values, since they no longer exist in the POSIX name space.
74536
74537         Rename the following member names back to their old names,
74538         unless !__USE_GNU_REGEX.  All uses changed back.
74539         (buffer): Renamed from re_buffer.
74540         (allocated): Renamed from re_allocated.
74541         (used): Renamed from re_used.
74542         (syntax): Renamed from re_syntax.
74543         (fastmap): Renamed from re_fastmap.
74544         (translate): Renamed from re_translate.
74545         (can_be_null): Renamed from re_can_be_null.
74546         (regs_allocated): Renamed from re_regs_allocated.
74547         (fastmap_accurate): Renamed from re_fastmap_accurate.
74548         (no_sub): Renamed from re_no_sub.
74549         (not_bol): Renamed from re_not_bol.
74550         (not_eol): Renamed from re_not_eol.
74551         (newline_anchor): Renamed from re_newline_anchor.
74552         (num_regs): Renamed from rm_num_regs.
74553         (start): Renamed from rm_start.
74554         (end): Renamed from rm_end.
74555
74556         (free_state): Move up a bit.
74557
74558         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
74559         #define to be empty.
74560         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
74561         when that is what is intended.
74562         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
74563         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
74564         (MAX): New macro.
74565         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
74566         All uses changed back to re_malloc, etc.  It's now the caller's
74567         responsibility to check for overflow; all callers changed.
74568         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
74569         (re_x2nrealloc): Remove.
74570         (free_state): Remove decl.
74571
74572         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
74573         (re_set_registers, re_exec):
74574         Use K&R-style defn.
74575
74576         2006-01-31  Roland McGrath  <roland@redhat.com>
74577
74578         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
74579         Reported by Mike Frysinger <vapier@gentoo.org>.
74580
74581         2006-01-15  Andreas Jaeger  <aj@suse.de>
74582
74583         [BZ #1950]
74584         * lib/regex_internal.c (re_string_reconstruct): Adjust for
74585         build_wcs_upper_buffer change.
74586         (build_wcs_upper_buffer): Change return type.
74587
74588         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
74589
74590         * lib/regex_internal.h: Include <stdint.h> if available.
74591
74592         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
74593
74594         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
74595
74596         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74597
74598         * lib/regcomp.c: Adjust for changed secondary hash function.
74599
74600         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
74601
74602         * lib/regex.h: Pretty printing.
74603         Clean up namespace a bit.
74604
74605         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
74606
74607         * lib/regexec.c (update_cur_sifted_state, check_arrival,
74608         check_arrival_add_next_nodes): Avoid using uninitialized variable.
74609
74610         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74611                     Ulrich Drepper  <drepper@redhat.com>
74612
74613         [BZ #1302]
74614         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
74615         changed.
74616         (bitset_word_t): Renamed from bitset_word.  All uses changed.
74617
74618         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
74619
74620         [BZ #281]
74621         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
74622         * lib/regcomp.c: Remove unnecessary uses of
74623         unsigned RE_TRANSLATE_TYPE.
74624         * lib/regex_internal.h: Likewise.
74625         * lib/regex_internal.c: Likewise.
74626         * lib/regexec.c: Likewise.
74627         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
74628
74629         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
74630
74631         * lib/regexec.c (find_recover_state): Remove unnecessary
74632         initialization.
74633         (transit_state_bkref): Make DFA a const pointer.
74634         (get_subexp): Likewise.
74635         (check_arrival): Likewise.
74636         (update_cur_sifted_state): Likewise.
74637         (re_search_internal): Likewise.
74638         (prune_impossible_nodes): Likewise.
74639         (acquire_init_state_context): Likewise.
74640         (proceed_next_node): Likewise.
74641         (set_regs): Likewise.
74642         (free_fail_stack_return): Likewise.
74643         (check_arrival_expand_ecl): Mark DFA parameter as const.
74644         (check_arrival_expand_ecl_sub): Likewise.
74645         (check_subexp_limits): Likewise.
74646         (sub_epsilon_src_nodes):  Likewise.
74647         (add_epsilon_src_nodes):  Likewise.
74648         (merge_state_array): Likewise.
74649         (update_regs): Likewise.
74650         (build_trtable): Likewise.
74651         (sift_states_backward): Mark MCTX parameter as const.
74652         (build_sifted_states): Likewise.
74653         (update_cur_sifted_state): Likewise.
74654         (sift_states_mkref): Likewise.
74655         (check_arrival_expand_ecl): Mark eclosure as const.
74656         (check_dst_limits_calc_pos_1): Likewise.
74657         * lib/regex_internal.h (re_match_context_t): Make dfa a const
74658         pointer.
74659
74660         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
74661
74662         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
74663         (transit_state_sb): Likewise.
74664         (transit_state_mb): Likewise.
74665         (sift_states_iter_mb): Likewise.
74666         (check_arrival_add_next_nodes): Likewise.
74667         (check_node_accept_bytes): Change first parameter to pointer-to-const.
74668         [_LIBC] (re_search_2_stub): Use mempcpy.
74669
74670         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
74671         mbrtowc for very simple UTF-8 case.
74672
74673         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
74674         a pointer-to-const.
74675         (re_acquire_state_context): Likewise.
74676         * lib/regex_internal.h: Adjust prototypes.
74677
74678         * lib/regex.c: Prevent using C++ compilers.
74679
74680         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
74681         (re_acquire_state_context): Likewise.
74682
74683 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74684
74685         * modules/regex (Depends-on): Add ssize_t.
74686
74687 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74688
74689         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
74690         translation table.
74691
74692 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74693
74694         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
74695
74696 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
74697             Bruno Haible  <bruno@clisp.org>
74698
74699         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
74700         <sys/types.h> and <inttypes.h>.
74701
74702 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74703
74704         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
74705         `__error_t_defined', so argp.h will not typedef the former.
74706
74707 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
74708
74709         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
74710         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
74711         glibc names.  Even if glibc is changed to conform to POSIX, the
74712         traditional names will be available anyway, since regex depends on
74713         the extensions module.  Also, fix a longstanding typo in the
74714         implementation of Spencer ERE test #75 from grep 2.3.  Problems
74715         reported by Emanuele Giaquinta.  Also, change sense of cached
74716         variable, so that the message makes sense.
74717
74718 2006-03-24  Simon Josefsson  <jas@extundo.com>
74719
74720         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
74721         including some doc fixes.
74722         (base64_encode_alloc): Fix +1 bug on allocation failures.
74723
74724 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74725
74726         * lib/base64.c (base64_encode): Do not read past end of array with
74727         unsanitized input on systems with CHAR_BIT > 8.
74728
74729 2006-03-24  Eric Blake  <ebb9@byu.net>
74730
74731         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
74732
74733 2006-03-22  Karl Berry  <karl@gnu.org>
74734
74735         * config/srclist.txt (*setenv.[ch]): get from coreutils.
74736         * config/srclistvars.sh (COREUTILS): new var.
74737
74738 2006-03-17  Jim Meyering  <jim@meyering.net>
74739
74740         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
74741         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
74742
74743 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
74744
74745         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
74746         no longer needs it.  Instead, check that regoff_t is as least
74747         as wide as ptrdiff_t.
74748
74749         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
74750         so that our regex.h stays compatible with the installed regex.
74751         This is helpful for installers who configure --without-included-regex.
74752         Problem reported by Emanuele Giaquinta.
74753
74754 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
74755
74756         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
74757         Typedef to long int, not to off_, as POSIX will likely change
74758         in that direction.
74759
74760 2006-03-15  Eric Blake  <ebb9@byu.net>
74761
74762         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
74763
74764 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
74765
74766         * lib/argp-help.c (validate_uparams): Fix typo
74767         * lib/argp-parse.c (argp_default_options): Consistently begin help
74768         messages with a lowercase letter.
74769
74770 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
74771
74772         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
74773         overrun buffers and shouldn't be used (much as gets shouldn't be
74774         used).
74775         * lib/time_r.c (asctime_r, ctime_r): Likewise.
74776
74777 2006-03-08  Simon Josefsson  <jas@extundo.com>
74778
74779         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
74780         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74781
74782 2006-03-08  Simon Josefsson  <jas@extundo.com>
74783
74784         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
74785         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74786
74787 2006-03-08  Simon Josefsson  <jas@extundo.com>
74788
74789         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
74790         signal that configure disabled the device.
74791
74792 2006-03-08  Simon Josefsson  <jas@extundo.com>
74793
74794         * build-aux/maint.mk: Fix refresh-po, to handle no translated
74795         languages.
74796
74797 2006-03-07  Simon Josefsson  <jas@extundo.com>
74798
74799         * modules/getopt (Depends-on): Add unistd.
74800
74801         * modules/unistd: New file.
74802
74803 2006-03-07  Simon Josefsson  <jas@extundo.com>
74804
74805         * modules/gc-random: New file.
74806
74807 2006-03-07  Simon Josefsson  <jas@extundo.com>
74808
74809         * m4/unistd_h.m4: New file.
74810
74811 2006-03-07  Simon Josefsson  <jas@extundo.com>
74812
74813         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
74814         test to be side-effect free by storing the result in the cache
74815         variable gl_cv_lib_readline, and moving the assignment of
74816         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
74817         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74818
74819 2006-03-07  Simon Josefsson  <jas@extundo.com>
74820
74821         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
74822         error on missing devices (the functions will return an error).
74823
74824         * m4/gc.m4: Move random stuff to gc-random.m4
74825
74826 2006-03-07  Simon Josefsson  <jas@extundo.com>
74827
74828         * lib/unistd_.h: New file.
74829
74830 2006-03-07  Simon Josefsson  <jas@extundo.com>
74831
74832         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
74833
74834 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
74835
74836         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
74837         Problem reported by Juan Manuel Guerrero.
74838
74839 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
74840
74841         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
74842         the unistd module.
74843         * lib/getlogin_r.c: Likewise.
74844         * lib/getlogin_r.h: Likewise.
74845         * lib/glob.c: Likewise.
74846         * lib/pagealign_alloc.c: Likewise.
74847         * lib/unistd_.h: Remove; no longer needed.
74848
74849 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
74850
74851         * MODULES.html.sh (Support for systems lacking POSIX:2001):
74852         Add unistd.
74853         * modules/c-stack (Depends-on): Add unistd.
74854         * modules/getlogin_r: Likewise.
74855         * modules/glob: Likewise.
74856         * modules/pagealign_alloc: Likewise.
74857         * modules/unistd (Files): Remove lib/unistd_.h.
74858         (EXTRA_DIST): Remove.
74859         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
74860         need unistd_.h.
74861         (MOSTLYCLEANFILES): Remove unistd.h-t.
74862
74863 2006-03-03  Simon Josefsson  <jas@extundo.com>
74864
74865         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
74866
74867 2006-03-03  Simon Josefsson  <jas@extundo.com>
74868
74869         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
74870         libidn and bison.
74871
74872 2006-03-03  Simon Josefsson  <jas@extundo.com>
74873
74874         * build-aux/maint.mk: Add indent target.
74875
74876 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
74877
74878         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
74879         our replacement poll.h in any case, to avoid a differing
74880         declaration from a system header.  Seen on AIX.
74881
74882 2006-03-01  Simon Josefsson  <jas@extundo.com>
74883
74884         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
74885         <kasal@ucw.cz>.
74886
74887 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
74888
74889         * modules/gettime (Depends-on): Add extensions module.
74890         * modules/nanosleep (Depends-on): Likewise.
74891         * modules/settime (Depends-on): Likewise.
74892
74893 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
74894
74895         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
74896         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
74897         pedantically.
74898         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74899         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
74900
74901         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
74902         not "==".  Reported by Ralf Wildenhues.
74903
74904 2006-03-01  Karl Berry  <karl@gnu.org>
74905
74906         * doc/Copyright/request-*: new files, synced from gnuorg.
74907
74908 2006-03-01  Karl Berry  <karl@gnu.org>
74909
74910         * config/srclist.txt (Copyright/*): new entries.
74911
74912 2006-02-28  Simon Josefsson  <jas@extundo.com>
74913
74914         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
74915
74916 2006-02-27  Simon Josefsson  <jas@extundo.com>
74917
74918         * lib/base64.h: Indent #define's.  From Jim Meyering
74919         <jim@meyering.net>.
74920
74921 2006-02-27  Jim Meyering  <jim@meyering.net>
74922
74923         Revert the change of 2006-02-24, so these files can continue
74924         to be sync'd from gettext.
74925         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
74926         of `config.h'.
74927
74928 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
74929
74930         * modules/intprops: New file.
74931         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
74932         Add intprops.
74933         * modules/getloadavg (Files): Remove lib/intprops.h.
74934         (Depends-on): Add intprops.
74935         * modules/human: Likewise.
74936         * modules/inttostr: Likewise.
74937         * modules/openat: Likewise.
74938         * modules/sig2str: Likewise.
74939         * modules/userspec: Likewise.
74940         * modules/utimecmp: Likewise.
74941         * modules/xnanosleep: Likewise.
74942         * modules/xstrtol: Likewise.
74943
74944 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
74945
74946         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
74947         * modules/lock-tests (TESTS): Use $(EXEEXT).
74948         * modules/tls-tests: Likewise.
74949         * modules/argp-tests: Likewise.
74950         (check_PROGRAMS): New var, replacing...
74951         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
74952
74953 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74954
74955         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
74956         `config.h'.
74957
74958 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
74959
74960         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
74961
74962 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74963
74964         Sync from coreutils.
74965         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
74966         gl_CHDIR_SAFER.
74967
74968 2006-02-22  Jim Meyering  <jim@meyering.net>
74969
74970         Sync from coreutils.
74971         * m4/chdir-safer.m4: New file.
74972
74973 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
74974
74975         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
74976         AT_FDCWD exceeds INT_MAX.
74977         * lib/openat.h (AT_FDCWD): Likewise.
74978
74979 2006-02-17  Eric Blake  <address@hidden>
74980
74981         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
74982
74983 2006-02-16  Simon Josefsson  <jas@extundo.com>
74984
74985         * modules/getaddrinfo (Depends-on): Add sys_socket.
74986
74987 2006-02-15  Simon Josefsson  <jas@extundo.com>
74988
74989         * build-aux/maint.mk: Add dsyntax-check rule.
74990
74991 2006-02-15  Eric Blake  <ebb9@byu.net>
74992
74993         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
74994         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
74995         'present but cannot compile' warnings on cygwin.
74996         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
74997         use ws2tcpip.h if sys/socket.h works.
74998         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
74999         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
75000
75001 2006-02-14  Simon Josefsson  <jas@extundo.com>
75002
75003         * modules/maintainer-makefile (Files): Rename.
75004
75005         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
75006         and (the local) Makefile.cfg to maint-cfg.mk.
75007
75008         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
75009         to the latter.
75010
75011         * modules/maintainer-makefile: New module.
75012
75013         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
75014         severaly stripped to make it possible to build it up from scratch
75015         with reliable tests.
75016
75017         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
75018         fixes to permit overriding the default actions when configure and
75019         makefile are not available.
75020
75021 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
75022
75023         Sync from coreutils.
75024         * modules/lstat (Depends-on): Don't depend on xalloc.
75025         (License): Change from GPL to LGPL, since this is now simply a
75026         replacement for a libc function.
75027
75028 2006-02-14  Jim Meyering  <jim@meyering.net>
75029
75030         Sync from coreutils.
75031
75032         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
75033         failure on deficient systems, and simplify gnulib lgpl dependencies.
75034         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
75035         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
75036
75037         * lib/xalloc-die.c: Remove unused definition of N_.
75038
75039 2006-02-14  Jim Meyering  <jim@meyering.net>
75040
75041         Sync from coreutils.
75042         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
75043         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
75044         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
75045         double-quote uses of that variable, to accommodate the rare case in
75046         which getmntent is available in none of the libraries checked.  This
75047         happens at least on FreeBSD 5.0.
75048
75049 2006-02-13  Simon Josefsson  <jas@extundo.com>
75050
75051         * gnulib-tool (Usage): Fix --import, from
75052         karl@freefriends.org (Karl Berry).
75053
75054 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
75055
75056         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
75057
75058 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
75059
75060         * lib/argp-namefrob.h: Restore changes accidentally lost during the
75061         "autoupdate" on 2005-12-12.
75062
75063 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
75064
75065         * modules/closeout (Depends-on): Remove atexit.
75066
75067 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
75068
75069         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
75070         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
75071
75072 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
75073
75074         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
75075         __EXTENSIONS__ if this causes compilation to fail.  Problem
75076         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
75077         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
75078
75079 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
75080
75081         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
75082         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
75083         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
75084         All uses changed.
75085
75086 2006-01-26  Simon Josefsson  <jas@extundo.com>
75087
75088         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
75089         prototype is visible on mingw32.
75090
75091         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
75092         for mingw32.
75093
75094         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
75095         mingw32).
75096
75097 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
75098
75099         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
75100         attempt to open for write; this always fails, at least on POSIX
75101         hosts.  This reinstates the 2006-01-09 change, which was
75102         inadvertently removed.
75103
75104 2006-01-26  Bruno Haible  <bruno@clisp.org>
75105
75106         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
75107         Reported by Paul Eggert.
75108
75109 2006-01-26  Bruno Haible  <bruno@clisp.org>
75110             Paul Eggert  <eggert@cs.ucla.edu>
75111
75112         * lib/stdbool_.h (_Bool)
75113         [(! (defined __cplusplus || defined __BEOS__)
75114           && !defined __GNUC__
75115           && !(defined __HP_cc || defined __xlc__
75116                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
75117                || defined __sgi))]:
75118         #define to signed char in these cases too; this simplifies
75119         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
75120         etc., separately) and makes it more conservative.
75121
75122 2006-01-25  Simon Josefsson  <jas@extundo.com>
75123
75124         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
75125         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
75126         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
75127
75128 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
75129
75130         * lib/argp-namefrob.h: Bugfix. Remove stray #
75131
75132 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
75133
75134         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
75135         so that we test the test.
75136         Check for yet another HP-UX cc bug involving *bool |= bool.
75137
75138 2006-01-25  Karl Berry  <karl@gnu.org>
75139
75140         * config/srclist.txt (vasnprintf.c): sync lost.
75141
75142 2006-01-25  Jim Meyering  <jim@meyering.net>
75143
75144         Sync from the stable (b5) branch of coreutils:
75145
75146         * lib/fts.c (fts_children): Don't let close() clobber errno from
75147         failed fchdir().
75148
75149         * lib/fts.c (fts_stat): When following a symlink-to-directory,
75150         don't necessarily interpret stat-fails+lstat-succeeds as indicating
75151         a dangling symlink.  That can also happen at least for ELOOP.
75152         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
75153         FYI, this bug predates the inclusion of fts.c in coreutils.
75154
75155         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
75156         in their own block, so pre-c99 compilers don't object.
75157
75158         Avoid the double-free (first in fts_read, second in fts_close) that
75159         would occur when an `active' directory is made inaccessible (e.g.,
75160         via chmod a-x) during a traversal.
75161         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
75162         before returning.  Reproduce this failure by
75163         mkdir -p a/b; cd a; chmod a-x . b
75164         Reported by Stavros Passas.
75165
75166 2006-01-25  Jim Meyering  <jim@meyering.net>
75167
75168         * lib/fileblocks.c: Remove more useless parentheses.
75169         * lib/readutmp.h: Likewise.
75170
75171 2006-01-25  Bruno Haible  <bruno@clisp.org>
75172
75173         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
75174         warnings.
75175         Reported by Paul Eggert.
75176
75177 2006-01-25  Bruno Haible  <bruno@clisp.org>
75178
75179         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
75180         rid of a trap command. For Solaris sh.
75181         Reported by Mark D. Baushke <mdb@gnu.org>.
75182
75183 2006-01-24  Simon Josefsson  <jas@extundo.com>
75184
75185         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
75186         Bruno.
75187
75188 2006-01-24  Karl Berry  <karl@gnu.org>
75189
75190         * config/srclist.txt (argp-namefrob.h): sync lost.
75191
75192 2006-01-24  Jim Meyering  <jim@meyering.net>
75193
75194         * modules/openat (Files): Add lib/intprops.h.
75195         From Mark D. Baushke.
75196
75197 2006-01-24  Jim Meyering  <jim@meyering.net>
75198
75199         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
75200         Reported by Mark D. Baushke.
75201
75202 2006-01-24  Jim Meyering  <jim@meyering.net>
75203
75204         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
75205
75206 2006-01-24  Bruno Haible  <bruno@clisp.org>
75207
75208         * modules/strnlen (Maintainer): Change from glibc to all.
75209
75210 2006-01-24  Bruno Haible  <bruno@clisp.org>
75211
75212         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
75213         Patch by Paul Eggert.
75214
75215 2006-01-24  Bruno Haible  <bruno@clisp.org>
75216
75217         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
75218         already has it.
75219         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
75220         2005-11-26.
75221
75222         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
75223         'signed char' to avoid problems with the built-in _Bool type.
75224         Reported by Paul Eggert on 2005-11-26.
75225
75226 2006-01-24  Bruno Haible  <bruno@clisp.org>
75227
75228         * gnulib-tool (func_import): Avoid constructing complicated sed
75229         expressions inside backquote.
75230         Report and solution by Mark D. Baushke <mdb@gnu.org>.
75231
75232 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
75233
75234         These changes imported from libc.
75235         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
75236         test and two separate function calls.
75237         * lib/strndup.c (__strndup): Add libc_hidden_def.
75238
75239 2006-01-23  Simon Josefsson  <jas@extundo.com>
75240
75241         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
75242         Remove the test_*_SOURCES variable: automake infers it by default.
75243         * modules/tls-tests: Likewise.
75244
75245 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75246
75247         Work around porting bugs reported by Dieter in
75248         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
75249         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
75250         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
75251         Include "getopt.h" first, to check interface.
75252         (getenv): Declare only if defined HAVE_DECL_GETENV &&
75253         !HAVE_DECL_GETENV.
75254         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
75255         (__strndup): Revert to K&R-style function dfns, the glibc style.
75256         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
75257         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
75258         Include strnlen.h first, to get prototype properly.
75259         (strnlen): Renamed from __strnlen.
75260         Remove weak alias.
75261
75262 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75263
75264         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
75265
75266 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75267
75268         * config/srclist.txt: Adjust to reflect glibc reorganization.
75269         This affects only comments.
75270
75271 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75272
75273          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
75274          Reported by Bruce Korb <bkorb@gnu.org>.
75275
75276 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
75277
75278         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
75279         to pacify gcc -Wswitch-default.
75280
75281 2006-01-22  Bruno Haible  <bruno@clisp.org>
75282
75283         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
75284         temporary buffer for sprintf, take into account the precision also
75285         for 'd', 'i', 'u', 'o', 'x', 'X'.
75286
75287 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
75288
75289         * modules/argp-tests: New module
75290         * tests/test-argp.c: New file
75291         * tests/test-argp-2.sh: New file
75292
75293 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
75294
75295         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
75296         (__argp_base_name): Removed
75297         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
75298         typo.
75299         (__argp_base_name): Provide macro definition or extern declaration
75300         depending on the configuration
75301
75302 2006-01-20  Simon Josefsson  <jas@extundo.com>
75303
75304         * modules/inet_ntop (Depends-on): Depend on sys_socket.
75305
75306 2006-01-20  Simon Josefsson  <jas@extundo.com>
75307
75308         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
75309
75310 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
75311
75312         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
75313         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
75314         Suggested by Bruno Haible.
75315
75316 2006-01-20  Karl Berry  <karl@gnu.org>
75317
75318         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
75319         until changes propagate, I guess.
75320
75321 2006-01-19  Simon Josefsson  <jas@extundo.com>
75322
75323         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
75324
75325 2006-01-19  Simon Josefsson  <jas@extundo.com>
75326
75327         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
75328
75329 2006-01-19  Simon Josefsson  <jas@extundo.com>
75330
75331         * gnulib-tool: Set check_PROGRAMS.
75332
75333         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
75334         modules/des-tests, modules/gc-arcfour-tests,
75335         modules/gc-arctwo-tests, modules/gc-des-tests,
75336         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
75337         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
75338         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
75339         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
75340         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
75341         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
75342         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
75343         test_*_SOURCES.
75344
75345 2006-01-18  Simon Josefsson  <jas@extundo.com>
75346
75347         * modules/socklen (Depends-on): Depend on sys_socket.
75348
75349 2006-01-18  Simon Josefsson  <jas@extundo.com>
75350
75351         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
75352         modules/des-tests, modules/gc-arcfour-tests,
75353         modules/gc-arctwo-tests, modules/gc-des-tests,
75354         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
75355         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
75356         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
75357         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
75358         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
75359         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
75360         $(EXEEXT) to automake TESTS variable, for mingw32.
75361
75362 2006-01-17  Simon Josefsson  <jas@extundo.com>
75363
75364         * modules/socklen (Include): Need sys/socket.h.
75365
75366 2006-01-17  Bruno Haible  <bruno@clisp.org>
75367
75368         * modules/ssize_t (Include): Add <sys/types.h>.
75369
75370 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
75371
75372         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
75373         it's not portable and it doesn't work with cross-compiles.
75374         Problem reported by Bruno Haible.  Fix missing-$ typo in
75375         'test "gl_cv_ignore_unused_libraries" ...' that prevented
75376         -zignore from being used with Sun's C compiler.
75377
75378 2006-01-12  Simon Josefsson  <jas@extundo.com>
75379
75380         * lib/base64.c: Fix warning, reported by Bruno Haible
75381         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
75382
75383 2006-01-12  Bruno Haible  <bruno@clisp.org>
75384
75385         * modules/ldd: New file.
75386         * build-aux/ldd.sh.in: New file.
75387         * MODULES.html.sh (Support for building libraries and executables): Add
75388         ldd.
75389
75390 2006-01-12  Bruno Haible  <bruno@clisp.org>
75391
75392         * m4/ldd.m4: New file.
75393
75394 2006-01-12  Bruno Haible  <bruno@clisp.org>
75395
75396         * gnulib-tool (func_import, func_create_testdir): Don't go into an
75397         endless loop while replacing $auxdir with build-aux.
75398
75399 2006-01-11  Simon Josefsson  <jas@extundo.com>
75400
75401         * lib/stdint_.h (SIZE_MAX): Add missing (.
75402
75403 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
75404
75405         Sync from coreutils.
75406         * lib/md5.c: Fix commentary typos.
75407         (alignof, UNALIGNED_P): No need for a GCC-specific version.
75408         * lib/md5.h (__attribute__): Remove; unused.
75409         * lib/sha1.c: Fix commentary to match md5 better.
75410         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
75411         so that we don't need to worry about alignment.  All uses changed.
75412         This merges the 2005-10-28 md5 change into sha1.
75413
75414 2006-01-11  Jim Meyering  <jim@meyering.net>
75415
75416         Sync from coreutils.
75417         * lib/md5.c (OP): Fix spacing.
75418
75419 2006-01-11  Bruno Haible  <bruno@clisp.org>
75420
75421         Ensure automatic ordering between gl_LOCK and gl_ARGP.
75422         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
75423         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
75424
75425 2006-01-11  Bruno Haible  <bruno@clisp.org>
75426
75427         Ensure automatic ordering between gl_LOCK and gl_ARGP.
75428         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
75429         the "early" section as well.
75430
75431 2006-01-11  Bruno Haible  <bruno@clisp.org>
75432
75433         Avoid "ar: no archive members specified" error on MacOS X.
75434         * gnulib-tool (func_modules_add_dummy): New function.
75435         (func_import, func_create_testdir): Invoke it.
75436
75437 2006-01-11  Bruno Haible  <bruno@clisp.org>
75438
75439         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
75440         with $auxdir in AC_CONFIG_FILES statements.
75441
75442 2006-01-11  Bruno Haible  <bruno@clisp.org>
75443
75444         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75445         Initialize also noinst_HEADERS to empty.
75446
75447 2006-01-11  Bruno Haible  <bruno@clisp.org>
75448
75449         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
75450         variables.
75451         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
75452         autoreconf.
75453
75454 2006-01-11  Bruno Haible  <bruno@clisp.org>
75455
75456         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
75457         overridable by the user.
75458         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75459
75460 2006-01-10  Simon Josefsson  <jas@extundo.com>
75461
75462         * modules/sys_socket: New file.
75463
75464 2006-01-10  Simon Josefsson  <jas@extundo.com>
75465
75466         * m4/sys_socket_h.m4: New file.
75467
75468 2006-01-10  Simon Josefsson  <jas@extundo.com>
75469
75470         * lib/socket_.h: New file.
75471
75472 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75473
75474         * modules/readutmp (Maintainer): Add myself.
75475
75476 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75477
75478         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
75479         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
75480         People who are still concerned with buggy memcmp implementations
75481         can invoke gl_FUNC_MEMCMP themselves.
75482
75483 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75484
75485         * lib/regex_internal.h (BITSET_WORD_BITS):
75486         Work around a bug in 64-bit PGC (before version 6.1-2), where the
75487         preprocessor mishandles large unsigned values as if they were signed.
75488         Problem reported by Claudio Fontana in
75489         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
75490
75491 2006-01-10  Jim Meyering  <jim@meyering.net>
75492
75493         Avoid the double-free (first in fts_read, second in fts_close) that
75494         would occur when an `active' directory is made inaccessible (e.g.,
75495         via chmod a-x) during a traversal.
75496         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
75497         before returning.  Reproduce this failure by
75498         mkdir -p a/b; cd a; chmod a-x . b
75499         Reported by Stavros Passas.
75500
75501         Sync from coreutils.
75502         * lib/sha1.c: Tweak grammar in a comment.
75503
75504 2006-01-10  Jim Meyering  <jim@meyering.net>
75505
75506         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
75507         Patch by Joerg Sonnenberger.
75508
75509 2006-01-10  Bruno Haible  <bruno@clisp.org>
75510
75511         * modules/readutmp: Depend on module free.
75512         * modules/strtok_r: Depend on module restrict.
75513
75514 2006-01-10  Bruno Haible  <bruno@clisp.org>
75515
75516         * modules/gettext (configure.ac): Add an invocation of
75517         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
75518
75519 2006-01-10  Bruno Haible  <bruno@clisp.org>
75520
75521         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
75522         Reported by Werner Lemberg <wl@gnu.org>.
75523
75524 2006-01-10  Bruno Haible  <bruno@clisp.org>
75525
75526         * lib/localcharset.c: Update from GNU gettext.
75527
75528 2006-01-10  Bruno Haible  <bruno@clisp.org>
75529
75530         * lib/argp.h (__const): Remove macro. Use const instead.
75531         * lib/argp-fmtstream.h (__const): Likewise.
75532         * lib/glob_.h (__const): Remove macro.
75533         * lib/glob-libc.h: Use const instead of __const.
75534
75535 2006-01-10  Bruno Haible  <bruno@clisp.org>
75536
75537         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
75538         variable.
75539         Needed to avoid an automake error regarding the 'gettext' module.
75540
75541 2006-01-09  Simon Josefsson  <jas@extundo.com>
75542
75543         * modules/inet_ntop (Depends-on): Add restrict.
75544
75545 2006-01-09  Simon Josefsson  <jas@extundo.com>
75546
75547         * modules/gc-rijndael-tests (License): Put under LGPL.
75548
75549         * modules/gc-des-tests (License): Likewise.
75550
75551         * modules/gc-arcfour-tests (License): Likewise.
75552
75553         * modules/gc-arctwo-tests (License): Likewise.
75554
75555         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
75556
75557         * modules/gc-hmac-sha1-tests (Files): Likewise.
75558
75559         * modules/gc-hmac-md5-tests (License): Likewise.
75560
75561         * modules/gc-sha1-tests (License): Likewise.
75562
75563         * modules/gc-md5-tests (License): Likewise.
75564
75565         * modules/gc-md4-tests (License): Likewise.
75566
75567         * modules/gc-md2-tests (License): Likewise.
75568
75569         * modules/gc-tests (License): Likewise.
75570
75571         * modules/des-tests (License): Likewise.
75572
75573         * modules/md4-tests (License): Likewise.
75574
75575         * modules/md2-tests (License): Likewise.
75576
75577 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75578
75579         Sync from coreutils:
75580
75581         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
75582         * modules/lib-ignore: New file.
75583         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
75584         chdir-safer.m4, lchmod.m4.
75585         * modules/openat: Add mkdirat.c, openat-priv.h.
75586
75587 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75588
75589         Sync from coreutils.
75590         * m4/lib-ignore.m4: New file.
75591         * m4/lchmod.m4: New file.
75592
75593 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75594
75595         Sync from coreutils.
75596         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
75597         for write access: POSIX says that must fail.
75598         * lib/fts.c (diropen): Likewise.
75599         * lib/save-cwd.c (save_cwd): Likewise.
75600         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
75601         well, for minor improvements on hosts that lack O_DIRECTORY.
75602         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
75603         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
75604         Fall back on chown if open failed with EACCES.
75605
75606         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
75607         Report an error at compile-time if only a 1-second nominal clock
75608         resolution is found.
75609
75610         * lib/lchmod.h: New file.
75611         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
75612         (make_dir_parents): Use lchown rather than chown, and
75613         lchmod rather than chmod.
75614
75615         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
75616         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
75617         "proc" reported by n0dalus.
75618
75619         * lib/mountlist.c: Include <limits.h>.
75620         (dev_from_mount_options)
75621         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
75622         New function.  It no longer assumes "dev=" has the System V meaning
75623         on Linux (since it doesn't).  It also parses "dev=" more carefully.
75624         (read_file_system_list)
75625         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
75626         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
75627         dev= in that case.
75628
75629         * lib/posixtm.h (PDS_PRE_2000): New macro.
75630         * lib/posixtm.c (year): Arg is now syntax_bits rather than
75631         allow_century.  All usages changed.  Reject dates outside the range
75632         1969-1999 if PDS_PRE_2000 is used.
75633
75634 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75635
75636         Sync from coreutils.
75637         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
75638         (Time of day items): Mention the possibility of leap seconds.
75639         Problem reported by Dr. David Alan Gilbert.
75640
75641 2006-01-09  Jim Meyering  <jim@meyering.net>
75642
75643         Sync from coreutils.
75644
75645         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
75646
75647         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
75648
75649         * lib/modechange.c (mode_compile): Reject an invalid mode string
75650         that starts with an octal digit.  From Andreas Gruenbacher.
75651
75652         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
75653         and dup to open_safer and dup_safer, respectively.
75654         (openat_permissive): Fix typo in comment.
75655
75656         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
75657         "gettext.h"; either no longer needed or are guaranteed by openat.h.
75658         (_): Remove; no longer needed.
75659         (openat): Renamed from rpl_openat; no need for rpl_openat
75660         since openat.h renames openat for us.
75661         Replace most of the body with a call to openat_permissive,
75662         to avoid duplicate code.
75663         Port to (probably hypothetical) environments were mode_t is
75664         wider than int.
75665         (openat_permissive): Require mode arg, so that we can check
75666         types better.  Put it just after flags.  Change cwd failure
75667         indicator from pointer-to-bool to pointer-to-errno-value.
75668         All callers changed.
75669         Invoke openat_save_fail and/or openat_restore_fail if
75670         cwd_errno is null, so that openat can call us.
75671         (openat_permissive, fdopendir, fstatat, unlinkat):
75672         Simplify errno handling to avoid some duplicate code,
75673         as it's OK to set errno on success.
75674         * lib/openat.h: Revamp code so that function macros depend on
75675         __OPENAT_PREFIX only, not also on AT_FDCWD.
75676         (openat_ro): Remove.  Caller changed to use openat_permissive.
75677         (openat_permissive): Now a macro, if not a function.
75678         (openat_restore_fail, openat_save_fail): Now always functions,
75679         since mkdirat needs them even if __OPENAT_PREFIX is defined.
75680
75681         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
75682         and openat.c.
75683         * lib/mkdirat.c: Include openat-priv.h.
75684         Remove definitions of macros defined therein.
75685         * lib/openat.c: Likewise.
75686
75687         * lib/mkdirat.c (mkdirat): New file and function.
75688         * lib/openat.h (mkdirat): Declare.
75689
75690         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
75691
75692         * lib/openat.h (openat_permissive): Declare.
75693         (openat_ro): Define.
75694
75695         * lib/openat.c (EXPECTED_ERRNO): New macro.
75696         (openat_permissive): New function -- used in remove.c rewrite.
75697         (all functions): Set errno just before returning, only if there
75698         was an actual failure.
75699         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
75700
75701         Emulate openat-family functions using Linux's procfs, if possible.
75702         Idea and some code based on Ulrich Drepper's glibc changes.
75703
75704         * lib/openat.c: (BUILD_PROC_NAME): New macro.
75705         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
75706         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
75707         before falling back on save_cwd and restore_cwd.
75708         (fdopendir, fstatat, unlinkat): Likewise.
75709
75710         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
75711         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
75712
75713         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
75714         as second argument to va_arg.  Otherwise, some versions of gcc
75715         warn that `if this code is reached, the program will abort'.
75716
75717 2006-01-09  Jim Meyering  <jim@meyering.net>
75718
75719         Sync from coreutils.
75720         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
75721         Require openat-priv.h.
75722
75723 2006-01-09  Bruno Haible  <bruno@clisp.org>
75724
75725         * modules/strnlen (Include): Use strnlen.h.
75726
75727 2006-01-09  Bruno Haible  <bruno@clisp.org>
75728
75729         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
75730
75731 2006-01-09  Bruno Haible  <bruno@clisp.org>
75732
75733         * lib/sysexit_.h (EX_OK): New macro.
75734         Suggested by Martin Lambers <marlam@marlam.de>.
75735
75736 2006-01-09  Bruno Haible  <bruno@clisp.org>
75737
75738         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
75739         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
75740
75741 2006-01-09  Bruno Haible  <bruno@clisp.org>
75742
75743         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
75744         numbers.
75745
75746 2006-01-09  Bruno Haible  <bruno@clisp.org>
75747
75748         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
75749         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
75750         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
75751         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
75752
75753 2006-01-09  Bruno Haible  <bruno@clisp.org>
75754
75755         * build-aux/javacomp.sh.in: New file, moved from lib/.
75756         * modules/javacomp-script (Files): Update.
75757         (configure.ac): Add AC_CONFIG_FILES invocation.
75758         (EXTRA_DIST): Remove variable.
75759
75760         * build-aux/javaexec.sh.in: New file, moved from lib/.
75761         * modules/javaexec (Files): Update.
75762         (configure.ac): Add AC_CONFIG_FILES invocation.
75763         (EXTRA_DIST): Remove javaexec.sh.in.
75764
75765         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
75766         * modules/csharpcomp-script (Files): Update.
75767         (configure.ac): Add AC_CONFIG_FILES invocation.
75768         (EXTRA_DIST): Remove variable.
75769
75770         * build-aux/csharpexec.sh.in: New file, moved from lib/.
75771         * modules/csharpexec (Files): Update.
75772         (configure.ac): Add AC_CONFIG_FILES invocation.
75773         (EXTRA_DIST): Remove csharpexec.sh.in.
75774
75775 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
75776
75777         Sync from coreutils.
75778
75779         Add POSIX ACL support
75780         * lib/acl.h (copy_acl, set_acl): Add declarations.
75781         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
75782         systems other than Linux.
75783         (chmod_or_fchmod): New function: use fchmod when possible,
75784         and chmod otherwise.
75785         (file_has_acl): Add a POSIX ACL implementation, with a
75786         Linux-specific subcase.
75787         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
75788         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
75789         acls are unsupported.
75790         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
75791         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
75792         are unsupported.
75793
75794 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
75795
75796         Sync from coreutils.
75797         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
75798
75799 2006-01-07  Bruno Haible  <bruno@clisp.org>
75800
75801         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
75802         gl_EARLY.
75803
75804 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75805
75806         * lib/strftime.c (tzname): Don't declare if it is already #defined.
75807         Problem reported for Mingw by Mark Junker.
75808
75809 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75810
75811         * README: Gnulib normally doesn't generate a tarball.
75812
75813 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
75814
75815         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
75816         long int, not int, for nanosecond counts, so that people who are
75817         used to POSIX struct timespec won't be surprised.  Reported by Jim
75818         Meyering.
75819
75820 2005-12-28  Bruno Haible  <bruno@clisp.org>
75821
75822         * build-aux/config.rpath: Update from GNU gettext.
75823
75824 2005-12-16  Jim Meyering  <jim@meyering.net>
75825
75826         * modules/fprintftime: New module.
75827         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
75828
75829 2005-12-16  Jim Meyering  <jim@meyering.net>
75830
75831         * m4/fprintftime.m4: New file.
75832
75833 2005-12-16  Jim Meyering  <jim@meyering.net>
75834
75835         * lib/fprintftime.c, lib/fprintftime.h: New files.
75836
75837 2005-12-15  Simon Josefsson  <jas@extundo.com>
75838
75839         * modules/socklen (configure.ac): Fix M4 macro name, to align with
75840         new m4/socklen.m4.
75841
75842 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75843
75844         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
75845         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
75846
75847 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75848
75849         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
75850         * lib/argp-help.c (fill_in_uparams): Check if the constructed
75851         struct uparams is valid. Fall back to the default values if it is
75852         not.
75853
75854 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75855
75856         * modules/argp (Files): Add argp-pin.c
75857         (Depends-on): dirname
75858         (lib_SOURCES): Add argp-pin.c
75859
75860 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75861
75862         * m4/argp.m4:  Check if program_invocation_name and
75863         program_invocation_short_name are declared and define appropriate
75864         macros if they are not.
75865
75866 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75867
75868         * lib/argp-help.c (__argp_base_name): New function
75869         (__argp_short_program_name): Rewrite using __argp_base_name
75870         * lib/argp-namefrob.h: Define program_invocation_name and
75871         program_invocation_short_name if requested
75872         (__argp_base_name): Add prototype
75873         * lib/argp-parse.c (argp_def): Use gettext wrappers
75874         (argp_default_parser): Use __argp_base_name
75875         * lib/argp-pin.c: New file. Defines program_invocation_name and
75876         program_invocation_short_name on systems that lack them.
75877
75878 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
75879
75880         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
75881         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
75882         porting problem reported by Georg Schwarz in
75883         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
75884
75885 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
75886
75887         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
75888         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
75889         porting problem reported by Georg Schwarz in
75890         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
75891
75892 2005-12-05  Bruno Haible  <bruno@clisp.org>
75893
75894         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
75895         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
75896         Reported by Mark Junker <mjscod@gmx.de>.
75897
75898 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
75899
75900         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
75901         Use implementation from Albert Chin, with some
75902         comments/corrections by Stepan Kasal and myself.
75903
75904 2005-12-02  Bruno Haible  <bruno@clisp.org>
75905
75906         * gnulib-tool (func_import): Accept GPLed build tool modules when
75907         --lgpl is given.
75908         * modules/csharpcomp-script: New file.
75909         * modules/csharpcomp: Depend on it.
75910         * modules/javacomp-script: New file.
75911         * modules/javacomp: Depend on it.
75912         Suggested by Simon Josefsson.
75913
75914 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
75915
75916         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
75917         statement, to work around an HP-UX 10.20 compiler bug reported by
75918         Peter O'Gorman.
75919
75920 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
75921
75922         * modules/savedir (Depends-on): Add openat.
75923
75924 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
75925
75926         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
75927         (uintmax_t) [defined uintmax_t]: Do not declare.
75928         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
75929         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
75930         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
75931         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
75932         sake of portability to weird hosts that C allows (though we don't
75933         know of any practical examples).
75934
75935         * lib/savedir.h (fdsavedir): New decl.
75936         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
75937         contains most of the former guts of savedir.
75938         (savedir): Use savedirstream.
75939         Include "openat.h".
75940
75941 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
75942
75943         * modules/obstack (Files): Add m4/ulonglong.m4.
75944         Problem reported by Davide Angelocola.
75945
75946 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
75947
75948         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
75949         coreutils no longer futzes with rounding modes.
75950
75951 2005-11-14  Jim Meyering  <jim@meyering.net>
75952
75953         * lib/mkstemp-safer.c: Include <config.h>, required for possible
75954         replacement of mkstemp.
75955
75956 2005-11-10  Simon Josefsson  <jas@extundo.com>
75957
75958         * lib/readline.c: Remove EOL.
75959
75960 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75961
75962         * modules/gethrxtime (Depends-on): Add gettime.
75963
75964 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75965
75966         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
75967         or gettimeofday; no longer needed.
75968
75969 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75970
75971         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
75972         time business.
75973         (gethrxtime) [! (HAVE_NANOUPTIME
75974         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
75975         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
75976         our own approximation.
75977
75978 2005-11-08  Eric Blake  <ebb9@byu.net>
75979
75980         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
75981
75982 2005-11-08  Eric Blake  <ebb9@byu.net>
75983
75984         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
75985
75986 2005-11-04  Bruno Haible  <bruno@clisp.org>
75987
75988         * gnulib-tool: Implement --update mode.
75989
75990 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
75991
75992         Fix porting problem reported by Theodoros V. Kalamatianos.
75993         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
75994         Don't assume that futimes failing means we must fail.
75995
75996 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
75997
75998         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
75999         variables to suggest the intended function of the PATH_MAX check.
76000
76001 2005-10-30  Kean Johnston  <jkj@sco.com>
76002
76003         Trivial changes to support SCO systems.
76004         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
76005         as PATH_MAX.
76006         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
76007         where __ptr is null when no I/O is pending.
76008
76009 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
76010
76011         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
76012         leave errno alone.  Problem reported by Dmitry V. Levin.
76013
76014 2005-10-28  Simon Josefsson  <jas@extundo.com>
76015
76016         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
76017         Test more.
76018
76019         * tests/test-gc-md2.c, tests/test-md2.c: New files.
76020
76021         * modules/md2, modules/md2-tests: New files.
76022
76023 2005-10-28  Simon Josefsson  <jas@extundo.com>
76024
76025         * m4/inet_ntop.m4: More tests.
76026
76027         * m4/gc-md2.m4, md2.m4: New file.
76028
76029 2005-10-28  Simon Josefsson  <jas@extundo.com>
76030
76031         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
76032         "restrict" keywords, as per POSIX.  Protect the function
76033         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
76034         Don't use K&R prototypes.  Check the sprintf return values.
76035         Re-define EAFNOSUPPORT if not present.  Indent.
76036
76037         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
76038         suggested by Bruno Haible <bruno@clisp.org>.
76039
76040         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
76041
76042         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
76043
76044         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
76045         libgcrypt).
76046
76047         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
76048
76049         * lib/md2.h, lib/md2.c: New files.
76050
76051 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
76052
76053         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
76054         errno alone.  Problem reported by Frederic Jolliton.
76055
76056 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
76057
76058         * modules/verify (License): Change from GPL to LGPL.  This is a
76059         tiny module and there are apparently near-equivalents that are
76060         under the BSD license.
76061
76062 2005-10-24  Simon Josefsson  <jas@extundo.com>
76063
76064         * modules/sha1: Relicense to LGPL.
76065
76066 2005-10-24  Simon Josefsson  <jas@extundo.com>
76067
76068         * lib/md4.h: Shrink buffer size, now that we changed the type.
76069
76070 2005-10-23  Simon Josefsson  <jas@extundo.com>
76071
76072         * gnulib-tool (func_import): Fix --tests-base.
76073
76074 2005-10-22  Simon Josefsson  <jas@extundo.com>
76075
76076         * modules/arcfour (Depends-on): Need stdint.
76077
76078 2005-10-22  Simon Josefsson  <jas@extundo.com>
76079
76080         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
76081         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
76082
76083 2005-10-22  Simon Josefsson  <jas@extundo.com>
76084
76085         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
76086         suggested by Bruno Haible <bruno@clisp.org>.
76087
76088 2005-10-22  Simon Josefsson  <jas@extundo.com>
76089
76090         * lib/crc.h: Include stddef.h, for size_t.
76091
76092 2005-10-22  Simon Josefsson  <jas@extundo.com>
76093
76094         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
76095         arcfour_context struct (simplify test vector testing in GNU
76096         Shishi).
76097
76098 2005-10-21  Simon Josefsson  <jas@extundo.com>
76099
76100         * modules/des, modules/des-tests: New files.
76101
76102         * modules/gc-des, modules/gc-des-tests: New files.
76103
76104         * tests/test-des.c, tests/test-gc-des.c: New file.
76105
76106 2005-10-21  Simon Josefsson  <jas@extundo.com>
76107
76108         * modules/arctwo, modules/arctwo-tests: New files.
76109
76110         * tests/test-arctwo.c: New file.
76111
76112         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
76113
76114         * tests/test-gc-arctwo.c: New file.
76115
76116 2005-10-21  Simon Josefsson  <jas@extundo.com>
76117
76118         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
76119         Bruno Haible <bruno@clisp.org>.
76120
76121         * m4/gc-des.m4: New file.
76122
76123 2005-10-21  Simon Josefsson  <jas@extundo.com>
76124
76125         * m4/arctwo.m4: New file.
76126
76127         * m4/gc-arctwo.m4: New file.
76128
76129 2005-10-21  Simon Josefsson  <jas@extundo.com>
76130
76131         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
76132         block.
76133
76134 2005-10-21  Simon Josefsson  <jas@extundo.com>
76135
76136         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
76137         <bruno@clisp.org>.
76138
76139         * lib/hmac-sha1.c (hmac_sha1): Likewise.
76140
76141         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
76142         Bruno Haible <bruno@clisp.org>.
76143
76144         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
76145         <bruno@clisp.org>.
76146
76147 2005-10-21  Simon Josefsson  <jas@extundo.com>
76148
76149         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
76150
76151 2005-10-21  Simon Josefsson  <jas@extundo.com>
76152
76153         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
76154
76155 2005-10-21  Simon Josefsson  <jas@extundo.com>
76156
76157         * lib/des.h, lib/des.c: New files.
76158
76159         * lib/gc-gnulib.c: Support DES.c
76160
76161 2005-10-21  Simon Josefsson  <jas@extundo.com>
76162
76163         * lib/arctwo.h, lib/arctwo.c: New files.
76164
76165         * lib/gc-gnulib.c: Support ARCTWO.
76166
76167 2005-10-21  Simon Josefsson  <jas@extundo.com>
76168
76169         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
76170         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76171
76172 2005-10-21  Simon Josefsson  <jas@extundo.com>
76173
76174         * gnulib-tool (func_import, func_create_testdir): Define automake
76175         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
76176         Makefile.am snippet),
76177         suggested by Bruno Haible <bruno@clisp.org>.
76178
76179         * modules/gc (Makefile.am): Use it.
76180
76181 2005-10-21  Bruno Haible  <bruno@clisp.org>
76182
76183         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
76184         patch.
76185
76186 2005-10-19  Simon Josefsson  <jas@extundo.com>
76187
76188         * tests/test-gc-rijndael.c: New file.
76189
76190         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
76191
76192 2005-10-19  Simon Josefsson  <jas@extundo.com>
76193
76194         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
76195         interface too.
76196
76197 2005-10-19  Simon Josefsson  <jas@extundo.com>
76198
76199         * tests/test-gc-arcfour.c: New file.
76200
76201         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
76202
76203 2005-10-19  Simon Josefsson  <jas@extundo.com>
76204
76205         * modules/gc-md4, modules/gc-md4-tests: New file.
76206
76207         * tests/test-gc-md4.c: New file.
76208
76209 2005-10-19  Simon Josefsson  <jas@extundo.com>
76210
76211         * m4/gc-md4.m4: New file.
76212
76213 2005-10-19  Simon Josefsson  <jas@extundo.com>
76214
76215         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
76216         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
76217         <kasal@ucw.cz>.
76218
76219 2005-10-19  Simon Josefsson  <jas@extundo.com>
76220
76221         * m4/gc-arcfour.m4: New file.
76222
76223         * m4/gc-rijndael.m4: New file.
76224
76225 2005-10-19  Simon Josefsson  <jas@extundo.com>
76226
76227         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
76228
76229 2005-10-19  Simon Josefsson  <jas@extundo.com>
76230
76231         * lib/gc-gnulib.c: Support ARCFOUR.
76232
76233 2005-10-19  Simon Josefsson  <jas@extundo.com>
76234
76235         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
76236         support.
76237
76238         * lib/gc.h: Add ECB enum type.
76239
76240         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
76241
76242 2005-10-18  Simon Josefsson  <jas@extundo.com>
76243
76244         * tests/test-md5.c: New file.
76245
76246         * modules/md5-tests: New file.
76247
76248 2005-10-18  Simon Josefsson  <jas@extundo.com>
76249
76250         * tests/test-md4.c: New file.
76251
76252         * modules/md4, modules/md4-tests: New files.
76253
76254 2005-10-18  Simon Josefsson  <jas@extundo.com>
76255
76256         * m4/md4.m4: New file.
76257
76258 2005-10-18  Simon Josefsson  <jas@extundo.com>
76259
76260         * lib/md4.h, lib/md4.c: New files, based on md5.?.
76261
76262 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
76263
76264         * gnulib-tool (func_create_testdir): Omit the second check whether
76265         BUILT_SOURCES in nonempty.
76266
76267 2005-10-17  Simon Josefsson  <jas@extundo.com>
76268
76269         * tests/test-rijndael.c: New file.
76270
76271 2005-10-17  Simon Josefsson  <jas@extundo.com>
76272
76273         * modules/sha1: Depend on stdint instead of md5.
76274
76275         * modules/md5: Depend on stdint, remove uint32_t.
76276
76277 2005-10-17  Simon Josefsson  <jas@extundo.com>
76278
76279         * modules/gc-sha1-tests: New file.
76280
76281         * tests/test-gc-sha1.c: New file.
76282
76283 2005-10-17  Simon Josefsson  <jas@extundo.com>
76284
76285         * m4/md5.m4: Remove call to uint32_t.m4.
76286
76287 2005-10-17  Simon Josefsson  <jas@extundo.com>
76288
76289         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
76290
76291         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
76292         md5.h.
76293
76294         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
76295
76296         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
76297
76298 2005-10-17  Simon Josefsson  <jas@extundo.com>
76299
76300         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
76301
76302 2005-10-17  Simon Josefsson  <jas@extundo.com>
76303
76304         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
76305
76306 2005-10-17  Simon Josefsson  <jas@extundo.com>
76307
76308         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
76309
76310         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
76311
76312 2005-10-17  Bruno Haible  <bruno@clisp.org>
76313
76314         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
76315         that it can also be used in a test.
76316
76317 2005-10-16  Bruno Haible  <bruno@clisp.org>
76318
76319         * gnulib-tool (func_emit_tests_Makefile_am): Also define
76320         TESTS_ENVIRONMENT, so that individual tests can augment it.
76321
76322         * gnulib-tool (func_create_testdir): Use an intermediate target for
76323         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
76324         macros, like $(ALLOCA_H), which cannot be passed through the command
76325         line.
76326
76327 2005-10-15  Simon Josefsson  <jas@extundo.com>
76328
76329         * modules/rijndael-tests: New file.
76330
76331         * modules/rijndael: New file.
76332
76333 2005-10-15  Simon Josefsson  <jas@extundo.com>
76334
76335         * m4/rijndael.m4: New file.
76336
76337 2005-10-15  Simon Josefsson  <jas@extundo.com>
76338
76339         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
76340
76341         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
76342
76343 2005-10-14  Simon Josefsson  <jas@extundo.com>
76344
76345         * tests/test-arcfour.c: New file.
76346
76347         * modules/arcfour, modules/arcfour-tests: New files.
76348
76349 2005-10-14  Simon Josefsson  <jas@extundo.com>
76350
76351         * m4/arcfour.m4: New file.
76352
76353 2005-10-14  Simon Josefsson  <jas@extundo.com>
76354
76355         * lib/arcfour.h, lib/arcfour.c: New files.
76356
76357 2005-10-14  Roland McGrath  <roland@redhat.com>
76358
76359         Import from libc.  [BZ #1331]
76360         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
76361         macro argument.
76362         Reported by Matej Vela <vela@debian.org>.
76363
76364 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76365
76366         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
76367         include <wchar.h>; no longer needed.
76368
76369 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76370
76371         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
76372
76373 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
76374         and  Ulrich Drepper  <drepper@redhat.com>
76375
76376         Import from libc.
76377         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
76378         instead of inline stream orientation test and two separate
76379         function calls.  Pay no attention to USE_IN_LIBIO.
76380
76381 2005-10-13  Simon Josefsson  <jas@extundo.com>
76382
76383         * modules/gc-hmac-md5-tests: New file.
76384
76385         * tests/test-gc-hmac-sha1.c: New file.
76386
76387         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
76388
76389         * modules/gc-hmac-md5-tests: New file.
76390
76391         * tests/test-gc-md5.c: New file.
76392
76393         * modules/gc-md5-tests: New file.
76394
76395 2005-10-13  Simon Josefsson  <jas@extundo.com>
76396
76397         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
76398         Move memory allocation outside of loop.
76399
76400 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
76401
76402         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
76403         intermediate directory is in a read-only file system.  Problem
76404         reported by Eric Blake.
76405
76406 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
76407
76408         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
76409
76410 2005-10-12  Simon Josefsson  <jas@extundo.com>
76411
76412         * tests/test-hmac-sha1.c: New file.
76413
76414         * modules/hmac-sha1-tests: New file.
76415
76416         * modules/hmac-sha1: New file.
76417
76418 2005-10-12  Simon Josefsson  <jas@extundo.com>
76419
76420         * modules/gc-sha1: New file.
76421
76422 2005-10-12  Simon Josefsson  <jas@extundo.com>
76423
76424         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
76425
76426         * tests/test-gc-pbkdf2-sha1.c: New file.
76427
76428 2005-10-12  Simon Josefsson  <jas@extundo.com>
76429
76430         * modules/gc-md5, modules/gc-hmac-md5: New files.
76431
76432         * modules/gc (Files): Remove md5, memxor and hmac files.
76433
76434 2005-10-12  Simon Josefsson  <jas@extundo.com>
76435
76436         * m4/gc-pbkdf2-sha1.m4: New file.
76437
76438         * m4/gc-hmac-sha1.m4: New file.
76439
76440         * m4/gc-sha1: New file.
76441
76442         * m4/hmac-sha1.m4: New file.
76443
76444 2005-10-12  Simon Josefsson  <jas@extundo.com>
76445
76446         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
76447
76448         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
76449
76450 2005-10-12  Simon Josefsson  <jas@extundo.com>
76451
76452         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
76453         suggested by Bruno Haible <bruno@clisp.org>.
76454
76455 2005-10-12  Simon Josefsson  <jas@extundo.com>
76456
76457         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
76458
76459 2005-10-12  Simon Josefsson  <jas@extundo.com>
76460
76461         * lib/gc-pbkdf2-sha1.c: New file.
76462
76463         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
76464
76465 2005-10-12  Simon Josefsson  <jas@extundo.com>
76466
76467         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
76468
76469         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
76470
76471 2005-10-12  Simon Josefsson  <jas@extundo.com>
76472
76473         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
76474         GC_USE_HMAC_MD5, respectively.
76475
76476         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
76477         (gc_md5): Fix typo.
76478
76479         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
76480
76481         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
76482
76483         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
76484
76485 2005-10-12  Bruno Haible  <bruno@clisp.org>
76486
76487         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
76488         Reported by Stepan Kasal <kasal@ucw.cz>.
76489
76490 2005-10-11  Simon Josefsson  <jas@extundo.com>
76491
76492         * tests/test-crc.c: New file.
76493
76494         * modules/crc, modules/crc-tests: New files.
76495
76496 2005-10-11  Simon Josefsson  <jas@extundo.com>
76497
76498         * m4/crc.m4: New file.
76499
76500 2005-10-11  Simon Josefsson  <jas@extundo.com>
76501
76502         * lib/gc.h: Add gc_hash and gc_hash_buffer.
76503
76504         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
76505
76506         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
76507
76508 2005-10-11  Simon Josefsson  <jas@extundo.com>
76509
76510         * lib/crc.h, lib/crc.c: New files.
76511
76512         * lib/gc.h (gc_hash_buffer): Add doc.
76513
76514 2005-10-11  Bruno Haible  <bruno@clisp.org>
76515
76516         * modules/c-strcasestr: New file.
76517         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
76518
76519 2005-10-11  Bruno Haible  <bruno@clisp.org>
76520
76521         * modules/c-strcase: New file.
76522         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
76523
76524 2005-10-11  Bruno Haible  <bruno@clisp.org>
76525
76526         * lib/strcasecmp.c: Include limits.h.
76527         (strcasecmp): Avoid integer overflow on exotic platforms.
76528         * lib/strncasecmp.c: Include limits.h.
76529         (strncasecmp): Avoid integer overflow on exotic platforms.
76530         Reported by Paul Eggert.
76531
76532 2005-10-11  Bruno Haible  <bruno@clisp.org>
76533
76534         * lib/c-strcasestr.h: New file, from GNU gettext.
76535         * lib/c-strcasestr.c: New file, from GNU gettext.
76536
76537 2005-10-11  Bruno Haible  <bruno@clisp.org>
76538
76539         * lib/c-strcase.h: New file, from GNU gettext.
76540         * lib/c-strcasecmp.c: New file, from GNU gettext.
76541         * lib/c-strncasecmp.c: New file, from GNU gettext.
76542
76543 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
76544
76545         * modules/mempcpy (License): GPL -> LGPL.
76546         * modules/strchrnul (License): Likewise.
76547         * modules/sysexits (License): Likewise.
76548
76549 2005-10-08  Simon Josefsson  <jas@extundo.com>
76550
76551         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
76552
76553 2005-10-07  Simon Josefsson  <jas@extundo.com>
76554
76555         * m4/memxor.m4: Remove gl_C_RESTRICT call.
76556
76557 2005-10-06  Simon Josefsson  <jas@extundo.com>
76558
76559         * tests/test-hmac-md5.c: New file.
76560
76561         * modules/hmac-md5-tests: New file.
76562
76563         * modules/hmac-md5: New file.
76564
76565 2005-10-06  Simon Josefsson  <jas@extundo.com>
76566
76567         * m4/hmac-md5.m4: New file.
76568
76569         * m4/memxor.m4: Require gl_C_RESTRICT.
76570
76571 2005-10-06  Simon Josefsson  <jas@extundo.com>
76572
76573         * lib/memxor.c (memxor): Avoid casts and warnings.
76574
76575 2005-10-06  Simon Josefsson  <jas@extundo.com>
76576
76577         * lib/hmac-md5.c: New file.
76578
76579         * lib/hmac.h: New file.
76580
76581 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
76582
76583         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
76584         promotes to int, not unsigned int, to catch the AIX 5.3
76585         compiler bug.
76586
76587 2005-10-05  Simon Josefsson  <jas@extundo.com>
76588
76589         * modules/memxor: New file.
76590
76591         * modules/iconv (Files): Move config.rpath to havelib, it is used
76592         there.
76593
76594         * modules/havelib (Files): Add config.rpath.
76595
76596 2005-10-05  Simon Josefsson  <jas@extundo.com>
76597
76598         * m4/memxor.m4: New file.
76599
76600 2005-10-05  Simon Josefsson  <jas@extundo.com>
76601
76602         * lib/memxor.c (memxor): Fix compiler error.
76603
76604         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
76605         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
76606
76607         * lib/memxor.h, lib/memxor.c: New files.
76608
76609         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
76610         we assume all systems have it, suggested by Jim Meyering
76611         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
76612         any systems lack sys/socket.h; mingw32 is known to lack it, but we
76613         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
76614         same reasons.
76615
76616 2005-10-05  Simon Josefsson  <jas@extundo.com>
76617
76618         * config/srclist.txt: Add glibc bug 1423 for md5.h.
76619
76620 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
76621
76622         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
76623         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
76624         needed, since the source code now assumes these .h files.
76625
76626 2005-10-05  Derek Price  <derek@ximbiot.com>
76627
76628         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
76629
76630 2005-10-05  Bruno Haible  <bruno@clisp.org>
76631
76632         * modules/stdint (License): Change to LGPL.
76633
76634 2005-10-04  Simon Josefsson  <jas@extundo.com>
76635
76636         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
76637         D. Baushke" <mdb@gnu.org>.
76638
76639 2005-10-04  Bruno Haible  <bruno@clisp.org>
76640
76641         * lib/verify.h (verify_true): Provide alternative definition for C++.
76642
76643 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
76644
76645         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
76646         (SSIZE_MAX): New macro, if not already defined.
76647         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
76648         than 2 GiB.
76649
76650 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76651
76652         Sync from coreutils.
76653         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
76654         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
76655         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
76656         ULLONG_MAX doesn't work with 2.7.2.1.
76657
76658 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76659
76660         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
76661         From Ben Pfaff.
76662
76663         * modules/exclude (Depends-on): Depend on verify.
76664         * modules/strtoimax (Depends-on): Likewise.
76665         * modules/utimecmp (Depends-on): Likewise.
76666
76667 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76668
76669         * lib/exclude.c: Include verify.h.
76670         (verify): Remove.  All callers changed to use verify.h's version.
76671         * lib/strtoimax.c: Likewise.
76672         * lib/utimecmp.c: Likewis.e
76673
76674         Sync from coreutils.
76675         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
76676         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
76677         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
76678         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
76679         bother returning ENOSYS if settimeofday or stime fails; just let
76680         them return whatever errno they want to return.
76681         * lib/utimens.c: Include unistd.h, for dup2.
76682         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
76683         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
76684
76685 2005-10-02  Jim Meyering  <jim@meyering.net>
76686
76687         Sync from coreutils.
76688         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
76689         from glibc-2.2.5 that fails for read-only files.
76690
76691 2005-10-02  Jim Meyering  <jim@meyering.net>
76692
76693         Sync from coreutils.
76694         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
76695         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
76696         `#if HAVE_CONFIG_H'.
76697         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
76698         Remove AT_FDCWD test.
76699         Do not consume the fd unless successful.
76700         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
76701         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
76702         block, so that we don't even try to compile it if settimeofday is
76703         available.  This works around a compilation failure on OSF1 V5.1,
76704         due to stime requiring a `long int*' while tv_sec is `int'.
76705
76706 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
76707
76708         Sync from coreutils.
76709         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
76710         against `yes', rather than just testing for nonempty.
76711
76712 2005-10-01  Simon Josefsson  <jas@extundo.com>
76713
76714         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
76715         and Darwin.
76716
76717         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
76718         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
76719         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
76720         freeaddrinfo and gai_strerror are declared by the POSIX headers.
76721         Check if struct addrinfo is declared.
76722
76723 2005-10-01  Simon Josefsson  <jas@extundo.com>
76724
76725         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
76726         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
76727         AI_* and EAI_* definitions.  Protect function declarations.
76728
76729 2005-10-01  Jim Meyering  <jim@meyering.net>
76730
76731         Sync from coreutils.
76732
76733         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
76734         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
76735         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
76736         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
76737         in the inet and nsl libraries.  Required on Solaris 5.7.
76738
76739 2005-10-01  Jim Meyering  <jim@meyering.net>
76740
76741         Sync from coreutils.
76742         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
76743         in the inet and nsl libraries.  Required on Solaris 5.7.
76744
76745 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
76746
76747         * lib/getdelim.c (getdelim): Remove unused variables.
76748
76749 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
76750
76751         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
76752         so that the code works even with ancient cpp.  Portability problem
76753         with GCC 2.7.2.1 reported by Thomas M.Ott.
76754
76755 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
76756
76757         * modules/regex (Depends-on): Add strcase.
76758
76759         * modules/gethostname (Licence): Change from GPL to LGPL, since
76760         gethostname.c is a trivial implementation of a standard library
76761         function.
76762         * modules/poll (License): Change from GPL to LGPL, since it's
76763         derived from LGPL code.
76764
76765 2005-09-27  Jim Meyering  <jim@meyering.net>
76766
76767         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
76768         HAVE_CONFIG_H.
76769
76770         * lib/intprops.h (signed_type_or_expr__): Define.
76771         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
76772         for unsigned types.
76773
76774 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
76775
76776         * lib/verify.h (verify_expr): Remove, replacing with:
76777         (verify_true): New macro that returns true instead of void.
76778         (verify_type__): Remove.
76779         (verify): Use verify_true rather than verify_type__.
76780
76781 2005-09-26  Bruno Haible  <bruno@clisp.org>
76782
76783         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
76784         is necessary.
76785         (lib_SOURCES): Remove mbchar.c.
76786         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
76787         (Files): Add m4/mbrtowc.m4.
76788         * modules/mbiter: Likewise.
76789         * modules/mbuiter: Likewise.
76790
76791 2005-09-26  Bruno Haible  <bruno@clisp.org>
76792
76793         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
76794         compile mbchar.c if they are not both present.
76795         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
76796         * m4/mbiter.m4 (gl_MBITER): Likewise.
76797         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
76798         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
76799         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
76800
76801 2005-09-25  Jim Meyering  <jim@meyering.net>
76802
76803         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
76804         also uses socklen_t.
76805
76806 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
76807
76808         * lib/utimens.c (ENOSYS): Define if not already defined.
76809         (futimens): Support having a null PATH if the file descriptor
76810         is nonnegative.
76811
76812         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
76813         Remove.
76814         (__attribute): Define to empty unless GCC 3.1 or later.
76815         This works around a core dump on OpenBSD 3.4, which has GCC
76816         2.95.3, which dumps core when given __attribute__(()).  It also
76817         simplifies other tests, since we really don't want to bother with
76818         worrying about which ancient version of GCC supported what.
76819         Original problem reported by Yoann Vandoorselaere, with part of
76820         the fix suggested by Derek Price.
76821
76822 2005-09-24  Jim Meyering  <jim@meyering.net>
76823
76824         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
76825         so we can once again use a positive bitfield width of 1 -- now we
76826         don't have to explain why we were using a bitfield width of 2.
76827
76828 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
76829
76830         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
76831         and similarly for the other external symbols.  Problem reported
76832         by James Gallager.
76833
76834         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
76835         bug reported by Jim Meyering.
76836
76837         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
76838         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
76839         not needed, since socklen is a prerequisite module.
76840
76841 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
76842
76843         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
76844         Problem reported by Eric Blake.
76845         (getaddrinfo): Initialize se so that it's not garbage.
76846         Redo internal storage allocation so that it doesn't make unportable
76847         assumptions about alignment.
76848         Fix a memory leak.
76849
76850         * lib/utimens.c (futimens): Use futimesat if available.
76851         Prefer it to futimes since it doesn't have the futimes bug.
76852
76853         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
76854         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
76855         Instead, declare a function that returns a pointer to an array,
76856         and use verify_type__ to declare the size of the array.
76857         Problem and germ of a solution reported by Bruno Haible.
76858         (verify_type__): Use 2, not 1, for bitfield size, to avoid
76859         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
76860
76861 2005-09-23  Jim Meyering  <jim@meyering.net>
76862
76863         Sync from coreutils.
76864         Correct build failure (socklen_t not defined) on at least
76865         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
76866         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
76867
76868 2005-09-23  Jim Meyering  <jim@meyering.net>
76869
76870         * modules/getaddrinfo (Depends-on): Add socklen.
76871
76872 2005-09-23  Bruno Haible  <bruno@clisp.org>
76873
76874         * tests/test-verify.c: New file.
76875
76876 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76877
76878         Sync from coreutils.
76879
76880         * modules/argmatch (Depends-on): Add verify.
76881         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
76882         unistd-safer.
76883         * modules/save-cwd (Depends-on): Likewise.
76884
76885         * modules/openat (Files): Add lib/openat-die.c.
76886         (Depends-on): Remove error, exitfail.
76887         Add dirname.
76888
76889         * modules/verify: New file.
76890         * MODULES.html.sh (Diagnostics <assert.h>): New section,
76891         with "verify" module.
76892
76893 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76894
76895         Sync from coreutils.
76896
76897         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
76898         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
76899         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
76900         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
76901         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
76902         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
76903         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
76904         Don't bother checking for string.h, stdlib.h, unistd.h.
76905         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
76906         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
76907         module's job.
76908         * m4/jm-macros.m4 (gl_MACROS): Likewise.
76909         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
76910
76911         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
76912         (gl_GETDATE): Use it.
76913
76914         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
76915
76916 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76917
76918         Sync from coreutils.
76919
76920         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
76921         stat-time.h.
76922         * lib/argmatch.h: Include verify.h
76923         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
76924         (ARGMATCH_ASSERT): Remove; unused.
76925         * lib/canonicalize.c: Assume STDC_HEADERS.
76926         * lib/exclude.c: Include "strcase.h".
76927         * lib/regex_internal.h [!defined _LIBC]: Likewise.
76928         * lib/getusershell.c: Include stdio--.h rather than stdio.h
76929         and stdio-safer.h.
76930         (getusershell): Call fopen, not fopen_safer.
76931         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
76932         Do not include unistd-safer.h.
76933         (save_cwd): Don't call fd_safer; no longer needed
76934         now that we include fcntl--.h.
76935
76936         * lib/getdate.y (relative_time): New type.
76937         (RELATIVE_TIME_0): New constant.
76938         (parser_control): Use relative_time instead of doing it ourselves.
76939         (%union): Add new relative_time rel member.
76940         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
76941         Now typeless.
76942         (relunit, relunit_snumber): Now of type rel.
76943         (zone, rel, relunit, get_date): Adjust to above changes.
76944
76945         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
76946         Do not include unistd-safer.h.
76947         (getloadavg): Don't call fd_safer; no longer needed
76948         now that we include fcntl--.h.
76949
76950         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
76951         (make_dir_parents): Treat ENOSYS like EEXIST.
76952
76953         Improve quality of diagnostics on restore_cwd failure.
76954         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
76955         (make_dir_parents): Last arg is now int * (for errno), not bool *.
76956         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
76957         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
76958         each time through the loop.  Do not diagnose restore_cwd failure;
76959         that is the caller's job (and perhaps the caller does not care).
76960
76961         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
76962         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
76963         If the file already exists but is not a directory, don't bother
76964         to try to make its parents.
76965         Close potential file descriptor leak if we can't chdir("/") (!).
76966         Don't always return true if chdir($PWD) fails; return true only
76967         if the requested action was done successfully (except for the
76968         chdir($PWD)).
76969         Don't log final directory unless we actually made it.
76970         Refactor to avoid duplicate code to fix up permissions.
76971         Don't attempt to fix up parent permissions if chdir($PWD) fails.
76972
76973         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
76974         to make it a bit faster and (I hope) clearer.
76975         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
76976         Fix bug in formats like %2N.
76977
76978         * lib/verify.h: New file.
76979
76980 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76981
76982         Sync from coreutils.
76983         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
76984
76985 2005-09-22  Jim Meyering  <jim@meyering.net>
76986
76987         Sync from coreutils.
76988
76989         * m4/lstat.m4 (gl_FUNC_LSTAT):
76990         Use AC_LIBSOURCES to require lstat.c and lstat.h.
76991         Remove obsolete comment.
76992         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
76993         * m4/xstrtod.m4: Likewise.
76994
76995         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
76996
76997 2005-09-22  Jim Meyering  <jim@meyering.net>
76998
76999         Sync from coreutils.
77000
77001         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
77002
77003         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
77004         the .tm_year member, since otherwise gcc-4.0 would now warn about
77005         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
77006
77007         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
77008         order to avoid an unsuppressible warning from gcc on 64-bit systems.
77009
77010         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
77011         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
77012         when run in a time zone for which daylight savings time is in effect
77013         for the starting date.
77014
77015         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
77016         stop us from restricting permissions of just-created absolute-named
77017         directories.
77018         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
77019         to restore initial working directory.
77020         * lib/mkdir-p.c (make_dir_parents): New parameter:
77021         different_working_dir, to tell caller if/when we change the working
77022         directory and are unable to return to the initial one.
77023         * lib/mkdir-p.h (make_dir_parents): Update prototype.
77024         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
77025         `return false'.  This fixes a bug introduced on 2004-07-30.
77026
77027         * lib/openat.c (fdopendir): Be sure to close the supplied
77028         file descriptor before returning.  This makes our replacement
77029         implementation a little closer to Solaris's, where fdopendir
77030         ties the file descriptor to the returned DIR* pointer.
77031         * lib/openat.c (unlinkat): New function.
77032         * lib/openat.h (unlinkat): Add prototype.
77033         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
77034         (openat_restore_fail): Rename from openat_restore_die.
77035         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
77036
77037         Provide an alternative to exiting immediately upon save_cwd or
77038         restore_cwd failure.  Now, an application can arrange e.g.,
77039         to perform a longjump in that case.
77040         * lib/openat.c: Include dirname.h.
77041         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
77042         (rpl_openat, fdopendir, fstatat): Call openat_save_die
77043         and openat_restore_die rather than calling error directly.
77044         Don't include "error.h" or "exitfail.h"; they're no longer needed.
77045
77046         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
77047         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
77048         define.
77049
77050         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
77051         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
77052                             int utc, int nanoseconds);
77053         Background:
77054         date should not have to allocate a megabyte of virtual memory to
77055         handle a format argument like +%1048575T.  When implemented with
77056         strftime, it must allocate such a buffer, use strftime to fill it
77057         in, print it, then free it.
77058         With fprintftime, it simply prints everything and exits.
77059         With no need for memory allocation, that's one fewer way to fail.
77060         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
77061         optional field width, not before, so we accept %9:z, not %:9z.
77062         (my_strftime): Be sure to use L_('x') for literals.
77063
77064         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
77065         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
77066         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
77067         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
77068         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
77069         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
77070         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
77071         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
77072         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
77073         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
77074         * lib/xgethostname.c, lib/xreadlink.c:
77075         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
77076
77077         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
77078         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
77079         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
77080         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
77081         and don't include <sys/file.h>).
77082
77083 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
77084
77085         Sync from coreutils.
77086
77087         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
77088         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
77089         [!LDAV_DONE]: Avoid unused variable warning.
77090
77091 2005-09-21  Bruno Haible  <bruno@clisp.org>
77092
77093         * lib/unicodeio.h (unicode_to_mb): New declaration.
77094
77095 2005-09-20  Derek Price  <derek@ximbiot.com>
77096
77097         * lib/getaddrinfo.c: Don't include <netdb.h> included from
77098         getaddrinfo.h.
77099
77100 2005-09-20  Bruno Haible  <bruno@clisp.org>
77101
77102         * gnulib-tool: Remove trailing slashes from the values specified for
77103         --source-base, --m4-base, --tests-base, --aux-dir.
77104         Suggested by Simon Josefsson <jas@extundo.com>.
77105
77106 2005-09-20  Bruno Haible  <bruno@clisp.org>
77107
77108         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
77109         func_modules_to_filelist, func_import, func_create_testdir): Make all
77110         sorting results locale-independent, so that gnulib-cache.m4 doesn't
77111         change when gnulib-tool is invoked in a different locale.
77112
77113 2005-09-19  Simon Josefsson  <jas@extundo.com>
77114
77115         * m4/socklen.m4: Fix typo.
77116
77117 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77118
77119         Use a consistent style for including <config.h>.
77120         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
77121         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
77122         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
77123         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
77124         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
77125         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
77126         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
77127         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
77128         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
77129         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
77130         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
77131         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
77132         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
77133         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
77134         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
77135         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
77136         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
77137         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
77138         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
77139         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
77140         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
77141         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
77142         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
77143         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
77144         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
77145         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
77146         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
77147         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
77148         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
77149         lib/xstrtoumax.c, lib/yesno.c:
77150         Standardize inclusion of config.h.
77151         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
77152         lib/inttostr.h:  Removed inclusion of config.h from header files.
77153         * lib/inttostr.c:  Adjusted in-tree users.
77154         * lib/timespec.h: Remove superfluous warning to include config.h.
77155         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
77156         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
77157         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
77158         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
77159         config.h with HAVE_CONFIG_H.
77160
77161 2005-09-19  Jim Meyering  <jim@meyering.net>
77162
77163         * modules/pathmax (License): Change to LGPL.
77164
77165 2005-09-19  Derek Price  <derek@ximbiot.com>
77166
77167         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
77168
77169 2005-09-19  Bruno Haible  <bruno@clisp.org>
77170
77171         * gnulib-tool (import): Provide default for --tests-base.
77172
77173 2005-09-19  Bruno Haible  <bruno@clisp.org>
77174
77175         * doc/quote.texi: New file, extracted from gnulib.texi.
77176         * doc/ctime.texi: New file, extracted from gnulib.texi.
77177         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
77178         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
77179         * doc/gnulib.texi: Include them.
77180
77181 2005-09-18  Bruno Haible  <bruno@clisp.org>
77182
77183         Portability fix.
77184         * gnulib-tool (func_readlink): New function.
77185         (func_ln_if_changed): Use it.
77186
77187 2005-09-18  Bruno Haible  <bruno@clisp.org>
77188
77189         * gnulib-tool: Support --with-tests also with --import.
77190         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
77191         (func_import): Use variables $testsbase and $inctests. Emit a
77192         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
77193         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
77194         SUBDIRS += $testsdir.
77195         (func_create_testdir): Update.
77196
77197 2005-09-18  Bruno Haible  <bruno@clisp.org>
77198
77199         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
77200         instead of $dry_run.
77201         (func_cp_if_changed, func_mv_if_changed): Remove functions.
77202         (func_ln_if_changed): Don't handle dry-run here.
77203         (func_import): In dry-run mode, detect more precisely which actions
77204         would be performed, and don't use "...ing" verbs.
77205
77206 2005-09-18  Bruno Haible  <bruno@clisp.org>
77207
77208         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
77209         (func_import): Use join on two temporary files instead of three nested
77210         loops, in order to determine which files are new or old.
77211
77212 2005-09-18  Bruno Haible  <bruno@clisp.org>
77213
77214         * gnulib-tool (func_import): Comment out code that spits out the
77215         new files with --dry-run.
77216
77217 2005-09-18  Bruno Haible  <bruno@clisp.org>
77218
77219         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
77220
77221 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
77222
77223         * lib/stat-time.h: New file.
77224         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
77225         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
77226         in a different way.
77227         (timespec_cmp): New function.
77228         * lib/utimecmp.c: Include stat-time.h.
77229         (SYSCALL_RESOLUTION): Depend on whether various struct stat
77230         members exist, not on the obsolescent ST_MTIM_NSEC.
77231         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
77232
77233 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
77234
77235         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
77236
77237 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
77238
77239         * MODULES.html.sh (File system functions): Add stat-time.
77240         * modules/stat-time: New file.
77241         * modules/timespec (Files): Remove m4/st_mtim.m4; this
77242         is now done in a different way, by the stat-time module.
77243         * modules/utimecmp (Depends-on): Add stat-time.
77244
77245 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77246
77247         * m4/st_mtim.m4: Remove.  Superseded by...
77248         * m4/stat-time.m4: New file.
77249         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
77250         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
77251
77252 2005-09-15  Derek Price  <derek@ximbiot.com>
77253
77254         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
77255
77256 2005-09-15  Derek Price  <derek@ximbiot.com>
77257
77258         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
77259         * lib/regex_internal.c: Ditto, using this...
77260         (__GNUC_PREREQ): ...new macro.
77261         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
77262         using...
77263         (__GNUC_PREREQ): ...this new macro.
77264
77265         * lib/strstr.h: Include string.h. Define strstr as a macro here.
77266
77267 2005-09-15  Derek Price  <derek@ximbiot.com>
77268             Paul Eggert  <eggert@cs.ucla.edu>
77269
77270         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
77271         changes, consolidating in...
77272         * lib/regex_internal.h: ...this file.
77273
77274 2005-09-13  Jim Meyering  <jim@meyering.net>
77275
77276         * lib/canon-host.c: Filter through gnu indent and reword comments
77277         slightly.
77278         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
77279
77280 2005-09-13  Derek Price  <derek@ximbiot.com>
77281
77282         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
77283         failure.
77284         Reported by Jim Meyering  <jim@meyering.net>.
77285
77286 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77287
77288         * lib/base64.c: Typo.
77289         (base64_encode): Put b64str in initialized data section.
77290
77291 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
77292
77293         Merge glibc and coreutils changes into gnulib, plus a few
77294         extra fixes.
77295         * lib/md5.c: Use #error rather than a string.
77296         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
77297         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
77298         (__attribute__): Define to empty for non recent-GCC.
77299         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
77300         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
77301         Renamed from their non-__ counterparts, with new macros replacing
77302         them if not _LIBC.  Add __THROW attribute.
77303         (rol): Remove.
77304         (struct md5_ctx): Align buffer if using GCC.
77305         * lib/sha1.h (struct sha1_ctx): Likewise.
77306         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
77307         The old name was backwards.
77308         (NOTSWAP): Remove; not used.
77309         (rol): New macro, moved here from md5.h.
77310         (sha1_process_block): Remove a FIXME that doesn't make sense.
77311
77312 2005-09-12  Derek Price  <derek@ximbiot.com>
77313
77314         Return usable errors from canon-host.
77315         * lib/canon-host.h: New file.
77316         * lib/canon-host.c (canon_host): Wrap...
77317         (canon_host_r): ...this new function, which now relies exclusively on
77318         getaddrinfo.
77319         (ch_strerror): New function.
77320         (last_cherror): New global.
77321         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
77322         interface.
77323         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
77324         void *.
77325         (freeaddrinfo): Free ai->ai_canonname when set.
77326
77327 2005-09-12  Derek Price  <derek@ximbiot.com>
77328
77329         Make canon-host require getaddrinfo.
77330         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
77331         AC_LIBSOURCE canon-host.h.  Call...
77332         (gl_PREREQ_CANON_HOST): ...this new function, which requires
77333         gl_GETADDRINFO.
77334         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
77335
77336 2005-09-12  Derek Price  <derek@ximbiot.com>
77337
77338         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
77339         LGPL.
77340         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
77341
77342 2005-09-12  Derek Price  <derek@ximbiot.com>
77343
77344         * lib/gai_strerror.c: Include config.h when available.  Include
77345         getaddrinfo.h before other headers to test interface.
77346         Reported by Larry Jones <lawrence.jones@ugs.com>.
77347
77348 2005-09-12  Derek Price  <derek@ximbiot.com>
77349             Paul Eggert  <eggert@cs.ucla.edu>
77350
77351         * modules/glob (Files): Add glob-libc.h.
77352
77353 2005-09-12  Derek Price  <derek@ximbiot.com>
77354             Paul Eggert  <eggert@cs.ucla.edu>
77355
77356         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
77357         glob_.h, glob-libc.h.
77358         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
77359
77360 2005-09-12  Derek Price  <derek@ximbiot.com>
77361             Paul Eggert  <eggert@cs.ucla.edu>
77362
77363         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
77364         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
77365         protecting things that should be done only in gnulib contexts.
77366         * lib/glob_.h: New file, containing only the glob things needed for
77367         gnulib.
77368         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
77369         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
77370         (glob, globfree, glob_pattern_p): Now defined simply in terms of
77371         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
77372         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
77373         and to respect the namespace rules better.
77374
77375 2005-09-08  Simon Josefsson  <jas@extundo.com>
77376
77377         * modules/socklen: New file.
77378
77379 2005-09-08  Simon Josefsson  <jas@extundo.com>
77380
77381         * m4/socklen.m4: New file.
77382
77383 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77384
77385         * modules/utimens (Files): Add m4/utimbuf.m4, since
77386         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
77387         Reported by Sergey Poznyakoff.
77388
77389 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77390
77391         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
77392         definitions, since that's the preferred style in glibc.
77393         Fix a minor spacing issue, and update copyright notice to match
77394         glibc's.
77395
77396 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77397
77398         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
77399
77400 2005-09-06  Simon Josefsson  <jas@extundo.com>
77401
77402         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
77403         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
77404
77405 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
77406
77407         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
77408         warning.
77409
77410 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
77411
77412         * config/srclist.txt: Add glibc bug 1302.
77413
77414 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
77415
77416         Change bitset word type from unsigned int to unsigned long int,
77417         as this has better performance on typical 64-bit hosts.
77418         Port bitset code to hosts with unusual word sizes.
77419         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
77420         (build_collating_symbol):
77421         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
77422         argument is a bitset.  This is merely a style issue, but it makes
77423         it clearer that an entire array is expected.
77424         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
77425         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
77426         Port to the case where bitset_word is not the same as unsigned int.
77427         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
77428         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
77429         Likewise.
77430         * lib/regexec.c (check_dst_limits_calc_pos_1,
77431         check_subexp_matching_top):
77432         (build_trtable, group_nodes_into_DFAstates):
77433         Likewise.
77434         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
77435         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
77436         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
77437         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
77438         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
77439         * lib/regcomp.c (optimize_subexps, lower_subexp):
77440         Work even if bitset_word has holes in its bitwise representation.
77441         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
77442         * lib/regexec.c (check_dst_limits_calc_pos_1,
77443         check_subexp_matching_top):
77444         Likewise.
77445         * lib/regex_internal.c (re_string_reconstruct):
77446         Don't assume UCHAR_MAX == 255.
77447         * lib/regex_internal.h (bitset_set_all): Likewise.
77448         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
77449         All uses changed.
77450         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
77451         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
77452         All uses changed.
77453         (BITSET_WORD_MAX): New macro.
77454         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
77455         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
77456         (bitset_empty, bitset_copy):
77457         Prefer sizeof (bitset) to multiplying it out ourselves.
77458         (bitset_not_merge): Remove; unused.
77459         (bitset_contain): Return bool, not unsigned int with one bit on.
77460         All callers changed.
77461         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
77462         alignment than re_node_set; do this by defining a new internal
77463         type struct dests_alloc and using it to allocate memory.
77464
77465 2005-09-05  Bruno Haible  <bruno@clisp.org>
77466
77467         * gnulib-tool (func_import): Fix comparison in handling of symbolic
77468         links.
77469
77470 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
77471
77472         * modules/size_max (Makefile.am): Add size_max.h
77473
77474 2005-09-04  Derek Price  <derek@ximbiot.com>
77475
77476         * gnulib-tool (func_import): Fix reversed $symbolic logic.
77477
77478 2005-09-03  Simon Josefsson  <jas@extundo.com>
77479
77480         * gnulib-tool: Fix typo.
77481
77482 2005-09-03  Simon Josefsson  <jas@extundo.com>
77483
77484         * config/srclist.txt: Add glibc bug 1293.
77485
77486 2005-09-03  Derek Price  <derek@ximbiot.com>
77487
77488         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
77489         From Larry Jones <lawrence.jones@ugs.com>.
77490
77491 2005-09-02  Simon Josefsson  <jas@extundo.com>
77492
77493         * modules/socklen: New file.
77494
77495 2005-09-02  Simon Josefsson  <jas@extundo.com>
77496
77497         * modules/havelib: New module.
77498
77499         * modules/gettext, modules/iconv, modules/lock, modules/readline:
77500         Use havelib.
77501
77502 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
77503
77504         Check for arithmetic overflow when calculating sizes, to prevent
77505         some buffer-overflow issues.  These patches are conservative, in the
77506         sense that when I couldn't determine whether an overflow was possible,
77507         I inserted a run-time check.
77508         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
77509         macros.
77510         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
77511         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
77512         (re_xnrealloc, re_x2nrealloc): New inline functions.
77513         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
77514         parse_bracket_exp):
77515         (build_equiv_class, build_charclass): Check for arithmetic overflow
77516         in size expression calculations.
77517         * lib/regex_internal.c (re_string_realloc_buffers):
77518         (build_wcs_upper_buffer, re_node_set_add_intersect):
77519         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
77520         (re_dfa_add_node, register_state): Likewise.
77521         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
77522         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
77523         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
77524         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
77525
77526 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
77527
77528         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
77529         m4/ulonglong.m4.  Problem reported by Martin Lambers.
77530
77531 2005-09-02  Bruno Haible  <bruno@clisp.org>
77532
77533         Support for lib vs. lib64 distinction on biarch platforms.
77534         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
77535         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
77536         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
77537
77538 2005-09-02  Bruno Haible  <bruno@clisp.org>
77539
77540         * gnulib-tool (import): In the other first-use case, provide defaults
77541         as well.
77542
77543 2005-09-02  Bruno Haible  <bruno@clisp.org>
77544
77545         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
77546         patches not yet found in the latest gettext release.
77547
77548 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77549
77550         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
77551         to avoid a collision with bits/local_lim.h in glibc.
77552         All uses changed.  Problem reported by Dmitry V. Levin in
77553         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
77554
77555         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
77556         bugs in int versus size_t comparisons.
77557         (re_string_context_at): Fix bug where the code assumed that
77558         Idx is signed.
77559
77560         Use bool where appropriate.
77561         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
77562         All callers changed.
77563         (calc_eclosure_iter): Likewise, for ROOT arg.
77564         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
77565         (build_charclass_op): Likewise, for NON_MATCH arg.
77566         * lib/regex_internal.c (re_string_allocate, re_string_construct):
77567         (re_string_construct_common): Likewise, for ICASE arg.
77568         * lib/regexec.c (re_search_2_stub, re_search_stub):
77569         Likewise, for RET_LEN arg.
77570         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
77571         (set_regs): Likewise, for FL_BACKTRACK arg.
77572         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
77573         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
77574         (calc_eclosure_iter, parse_bracket_exp):
77575         Use bool for internal variables that are booleans.
77576         * lib/regexec.c (re_search_internal, check_matching,
77577         proceed_next_node):
77578         (set_regs, build_sifted_states, sift_states_bkref):
77579         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
77580         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
77581         (find_collation_sequence_value):
77582         Likewise.
77583         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
77584         (re_node_set_compare):
77585         Return bool, not int. All callers changed.
77586         * lib/regexec.c (check_halt_node_context, check_dst_limits):
77587         (build_trtable, check_node_accept): Likewise.
77588         * lib/regex_internal.h: Include stdbool.h.
77589
77590         Fix bugs uncovered when converting to bool.
77591         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
77592         failure instead of charging ahead blindly.
77593         * lib/regex_internal.c (register_state): Likewise.
77594         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
77595         for freeing internal storage.
77596         (group_nodes_into_DFA_states): Use unsigned int, not int, for
77597         bitset pieces used as boolean, to avoid undefined behavior
77598         on hosts that do int overflow checking.
77599
77600 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77601
77602         * config/srclist.txt: Add glibc bugs 1285-1287.
77603
77604 2005-09-01  Jim Meyering  <jim@meyering.net>
77605
77606         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
77607         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
77608         Require gl_STAT_MACROS, too.
77609
77610 2005-09-01  Bruno Haible  <bruno@clisp.org>
77611
77612         * gnulib-tool (import): In the first-use case, provide defaults.
77613
77614 2005-09-01  Bruno Haible  <bruno@clisp.org>
77615
77616         * gnulib-tool (func_import): Remove the .tmp files.
77617
77618 2005-09-01  Bruno Haible  <bruno@clisp.org>
77619
77620         * gnulib-tool (func_import): Fix handling of symbolic links.
77621
77622 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77623
77624         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
77625         old glibc regex code mishandles strings longer than 2**31 bytes.
77626         This patch fixes this when the regex code is used in gnulib
77627         (i.e., outside glibc).
77628
77629         This patch should not affect the use of the regex code inside
77630         glibc.  No doubt this problem also needs to be handled for glibc
77631         as well, but the result will be an incompatible change to the
77632         glibc ABI, and the old ABI will have to be supported too.  That
77633         can be the the subject for another patch.
77634
77635         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
77636         governing whether the rest of this patch is active.  By default,
77637         the macro is disabled and the patch has no effect.
77638         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
77639         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
77640         (struct re_pattern_buffer, re_search, re_search_2, re_match):
77641         (re_match_2, re_set_registers): Use the new types.
77642         * lib/regex_internal.h (Idx, re_hashval_t): New types.
77643         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
77644         New macros.
77645         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
77646         (re_string_context_at, bin_tree_t, re_dfastate_t):
77647         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
77648         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
77649         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
77650         (re_string_char_size_at, re_string_wchar_at):
77651         (re_string_elem_size_at):
77652         Use the new types and macros to port to 64-bit hosts.
77653         Use unsigned types for internal values, so that the code
77654         mostly works even for arrays larger than SSIZE_MAX.
77655         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
77656         (search_duplicated_node, calc_eclosure_iter, fetch_number):
77657         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
77658         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
77659         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
77660         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
77661         (calc_inveclosure, parse_dup_op, build_range_exp):
77662         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
77663         (fetch_number, create_token_tree, mark_opt_subexp):
77664         Likewise.
77665         * lib/regex_internal.c (re_string_construct_common,
77666         create_ci_newstate):
77667         (create_cd_newstate, re_string_allocate, re_string_construct):
77668         (re_string_realloc_buffers, build_wcs_upper_buffer):
77669         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
77670         (re_string_reconstruct, re_string_peek_byte_case):
77671         (re_string_fetch_byte_case, re_string_context_at):
77672         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
77673         (re_node_set_init_copy, re_node_set_add_intersect):
77674         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
77675         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
77676         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
77677         (re_acquire_state, re_acquire_state_context, register_state):
77678         Likewise.
77679         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
77680         search_cur_bkref_entry):
77681         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
77682         (re_search_internal, re_search_2_stub, re_search_stub)
77683         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
77684         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
77685         (update_cur_sifted_state, check_dst_limits):
77686         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
77687         (check_subexp_limits, sift_states_bkref, merge_state_array):
77688         (check_subexp_matching_top, get_subexp, get_subexp_sub):
77689         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
77690         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
77691         (expand_bkref_cache, check_node_accept_bytes):
77692         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
77693         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
77694         (acquire_init_state_context, check_halt_node_context):
77695         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
77696         (sift_states_backward, clean_state_log_if_needed):
77697         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
77698         (find_recover_state, transit_state_sb, transit_state_mb):
77699         (transit_state_bkref, build_trtable, match_ctx_clean):
77700         Likewise.
77701         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
77702         to work around an assumption that REG_MISSING is negative.
77703
77704         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
77705         (seek_collating_symbol_entry) [defined _LIBC]:
77706         (lookup_collation_sequence_value) [defined _LIBC]:
77707         (build_range_exp, build_collating_symbol) [defined _LIBC]:
77708         Use prototypes rather than old-style function definitions.
77709         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
77710         (transit_state_sb) [0]:
77711         (find_collation_sequence_value) [defined _LIBC]: Likewise.
77712
77713         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
77714         rm_eo.
77715
77716         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
77717         (optimize_subexps, lower_subexp):
77718         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
77719         since the signed shift might overflow.  Use 1u<<31 instead.
77720         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
77721         Likewise.
77722         * lib/regexec.c (check_dst_limits_calc_pos_1,
77723         check_subexp_matching_top): Likewise.
77724
77725         * lib/regcomp.c (optimize_subexps, lower_subexp):
77726         Use CHAR_BIT rather than 8, for clarity.
77727         * lib/regexec.c (check_dst_limits_calc_pos_1):
77728         (check_subexp_matching_top): Likewise.
77729         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
77730         have to worry about portability issues when shifting it left.
77731         Remove no-longer-needed test for table_size > 0.
77732         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
77733         in a word, as the resulting behavior is undefined.
77734         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
77735         in one case, a <= should have been an <, and in another case the
77736         whole test was missing.
77737         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
77738         the standard name CHAR_BIT.
77739         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
77740         this is not true on one's complement and signed-magnitude hosts.
77741
77742         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
77743         next_last_offset.
77744         (struct re_dfa_t): Remove unused member states_alloc.
77745         * lib/regcomp.c (init_dfa): Don't initialize unused members.
77746
77747 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77748
77749         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
77750         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
77751         and large-file glibc and in 32-bit large-file Solaris.
77752
77753 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77754
77755         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
77756         lengths fit in regoff_t; this isn't true if regoff_t is the same
77757         width as size_t.
77758         * lib/regex.c (re_search_internal): 5th arg is LAST_START
77759         (= START + RANGE) instead of RANGE.  This avoids overflow
77760         problems when regoff_t is the same width as size_t.
77761         All callers changed.
77762         (re_search_2_stub): Check for overflow when adding the
77763         sizes of the two strings.
77764         (re_search_stub): Check for overflow when adding START
77765         to RANGE; if it occurs, substitute the extreme value.
77766
77767 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77768
77769         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
77770
77771 2005-08-31  Jim Meyering  <jim@meyering.net>
77772
77773         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
77774         a pointer-to-const.
77775         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
77776         (register_state): Likewise.
77777         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
77778         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
77779         (group_nodes_into_DFAstates): Likewise.
77780
77781 2005-08-31  Jim Meyering  <jim@meyering.net>
77782
77783         * check-module: Add a FIXME comment.
77784
77785 2005-08-31  Eric Blake  <ebb9@byu.net>
77786
77787         * modules/unistd-safer (Files): Add unistd--.h.
77788         * modules/stdio-safer (Files): Add stdio--.h.
77789
77790 2005-08-31  Derek Price  <derek@ximbiot.com>
77791
77792         * lib/getdelim.c (getdelim): Return EOF on EOF.
77793         Reported by Larry Jones <lawrence.jones@ugs.com>.
77794
77795 2005-08-31  Bruno Haible  <bruno@clisp.org>
77796
77797         Avoid unnecessary diffs in the generated lib/Makefile.am.
77798         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
77799         the generated files.
77800         (func_import): Don't set cmd.
77801
77802 2005-08-31  Bruno Haible  <bruno@clisp.org>
77803
77804         * lib/strstr.c: Include <stddef.h>, for NULL.
77805         * lib/strcasestr.c: Likewise.
77806         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
77807
77808 2005-08-31  Bruno Haible  <bruno@clisp.org>
77809
77810         * gnulib-tool: New option --macro-prefix.
77811         (func_import): Use macro_prefix.
77812         (import): Handle option --macro-prefix.
77813
77814 2005-08-31  Bruno Haible  <bruno@clisp.org>
77815
77816         * gnulib-tool (import): Rename most ac_* variables to cached_*.
77817         Also use new variables cached_lgpl, cached_libtool.
77818
77819 2005-08-31  Bruno Haible  <bruno@clisp.org>
77820
77821         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
77822         always instantiating them.
77823
77824 2005-08-31  Bruno Haible  <bruno@clisp.org>
77825
77826         * gnulib-tool (func_import): Read the previous cached settings
77827         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
77828         earlier added by gnulib but are now dropped. Warn when a gnulib file
77829         overwrites a non-gnulib file.
77830
77831 2005-08-31  Bruno Haible  <bruno@clisp.org>
77832
77833         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
77834         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
77835         projects that don't keep autogenerated files in CVS. Put into
77836         actioncmd only the specified modules, not the transitive closure.
77837
77838 2005-08-31  Bruno Haible  <bruno@clisp.org>
77839
77840         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
77841         Create directories that shall be filled.
77842         (import): Don't look for gl_* macros in configure.ac. Recurse across
77843         all directories containing a gnulib-cache.m4 files, if meaningful.
77844
77845 2005-08-31  Bruno Haible  <bruno@clisp.org>
77846
77847         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
77848         (import): Set seen_libtool when we see gl_LIBTOOL.
77849
77850 2005-08-31  Bruno Haible  <bruno@clisp.org>
77851
77852         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
77853         declaration macro definitions from generated gnulib.m4.
77854
77855 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
77856
77857         * lib/iconvme.h: Add prototype for iconv_alloc.
77858
77859 2005-08-29  Simon Josefsson  <jas@extundo.com>
77860
77861         * lib/iconvme.c: Fix errno.
77862
77863 2005-08-29  Bruno Haible  <bruno@clisp.org>
77864
77865         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
77866         that it works when the directory contains spaces.
77867
77868 2005-08-29  Bruno Haible  <bruno@clisp.org>
77869
77870         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
77871
77872 2005-08-29  Bruno Haible  <bruno@clisp.org>
77873
77874         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
77875         Emit more advice.
77876
77877 2005-08-29  Bruno Haible  <bruno@clisp.org>
77878         and Stepan Kasal  <kasal@ucw.cz>
77879
77880         * check-module: If more parameters are given, check each of them
77881         separately; add more exceptions, as noted by Jim Meyering.
77882         (check_module): New procedure.
77883         (%exempt_header): Now contains all exceptions.
77884
77885 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
77886
77887         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
77888
77889 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
77890
77891         * lib/iconvme.c: Split iconv_string into iconv_alloc.
77892
77893 2005-08-28  Bruno Haible  <bruno@clisp.org>
77894
77895         * m4/gnulib-tool.m4: New file.
77896
77897 2005-08-27  Jim Meyering  <jim@meyering.net>
77898
77899         * modules/unistd-safer (Files): Add pipe-safer.c.
77900         * modules/fcntl-safer (Files): Add creat-safer.c.
77901
77902 2005-08-27  Jim Meyering  <jim@meyering.net>
77903
77904         * m4/stdlib-safer.m4: New file.  From coreutils.
77905         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
77906         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
77907         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
77908         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
77909         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
77910
77911 2005-08-27  Jim Meyering  <jim@meyering.net>
77912
77913         * lib/fopen-safer.c: Merge minor changes from coreutils.
77914         * lib/dup-safer.c: Likewise.
77915         * lib/fd-safer.c: Likewise.
77916
77917         Merge from coreutils.
77918         * lib/stdio--.h: New file.
77919         * lib/stdlib--.h: New file.
77920         * lib/mkstemp-safer.c: New file.
77921
77922         GNU tar needs these.
77923         * lib/pipe-safer.c: New file.
77924         * lib/creat-safer.c: New file.
77925         * lib/fcntl--.h (creat): Define to creat_safer.
77926         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
77927         * lib/unistd--.h (pipe): Define to pipe_safer.
77928         * lib/unistd-safer.h: Declare pipe_safer.
77929
77930 2005-08-26  Simon Josefsson  <jas@extundo.com>
77931
77932         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
77933         Haible <bruno@clisp.org>.
77934
77935 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
77936
77937         * lib/regex_internal.h: Remove all references to
77938         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
77939         or better.
77940         (bitset_not, bitset_merge, bitset_not_merge):
77941         (bitset_mask, re_string_allocate, re_string_construct):
77942         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
77943         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
77944         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
77945         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
77946         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
77947         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
77948         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
77949         (re_acquire_state_context):
77950         Remove unnecessary forward decls.
77951         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
77952         Put __attribute at function definition,
77953         now that the function decl has been removed.
77954         * lib/regex_internal.c (re_string_peek_byte_case):
77955         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
77956         Likewise.
77957
77958 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
77959
77960         * m4/regex.m4: Add AC_PREREQ(2.50).
77961         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
77962
77963 2005-08-25  Simon Josefsson  <jas@extundo.com>
77964
77965         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
77966         __fsetlocking.
77967
77968 2005-08-25  Simon Josefsson  <jas@extundo.com>
77969
77970         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
77971         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
77972         GLIBC specific code.
77973
77974 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77975
77976         Make regex safe for g++.  This fixes one real bug (an "err"
77977         that should have been "*err").  g++ problem reported by
77978         Sam Steingold.
77979         * lib/regex_internal.h (re_calloc): New macro, consistent with
77980         re_malloc etc.  All callers of calloc changed to use re_calloc.
77981         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
77982         not int.  All callers changed.
77983         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
77984         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
77985         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
77986         (find_recover_state): Change "err" to "*err"; this fixes what
77987         appears to be a real bug.
77988         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
77989         versus int.
77990
77991 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77992
77993         * modules/regex (Depends-on): Add malloc, since the code
77994         assumes that !malloc(0) means failure.
77995
77996 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77997
77998         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
77999
78000         alloca modernization/simplification for regex.
78001         * lib/regex.c: Remove portability cruft for alloca.  This no longer
78002         needs to be at the start of the file, and can be moved into
78003         regex_internal.h and simplified.
78004         * lib/regex_internal.h: Include <alloca.h>.
78005         (__libc_use_alloca) [!defined _LIBC]: New macro.
78006         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
78007         now works outside glibc.
78008
78009 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78010
78011         * config/srclist.txt: Add glibc bugs 1241, 1245.
78012
78013 2005-08-25  Jim Meyering  <jim@meyering.net>
78014
78015         * lib/open-safer.c: Include <config.h>.
78016         Otherwise, we'd lose LARGEFILE support in any file using
78017         e.g. "fcntl--.h"
78018
78019 2005-08-25  Bruno Haible  <bruno@clisp.org>
78020
78021         * m4/minmax.m4: Require autoconf 2.52.
78022         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
78023         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
78024         alternatives of translit over the alphabet.
78025         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
78026
78027 2005-08-24  Simon Josefsson  <jas@extundo.com>
78028
78029         * tests/test-getpass.c: New file.
78030
78031 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78032
78033         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
78034         for GNU regex features.
78035
78036 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78037
78038         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
78039         * lib/regex.h (regerror): Likewise.
78040
78041         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
78042         requires this.  (The code never needed it.)
78043
78044         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
78045         All uses of recently-renamed identifiers changed to use the new,
78046         POSIX-compliant names.  The code will build and run just fine
78047         without these changes, but it's better to eat our own dog food
78048         and use the standard-conforming names.
78049
78050         * lib/regex.h: Fix a multitude of POSIX name space violations.
78051         These changes have an effect only for programs that define
78052         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
78053         do not change anything for programs compiled in the normal way.
78054         Also, there is no effect on the ABI.
78055
78056         (_REGEX_SOURCE): New macro.
78057         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
78058         defined and _GNU_SOURCE is not; this fixes a name space violation.
78059
78060         Rename the following macros to obey POSIX requirements.
78061         The old names are still visible as macros if _REGEX_SOURCE is defined.
78062         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
78063         RE_BACKSLASH_ESCAPE_IN_LISTS.
78064         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
78065         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
78066         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
78067         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
78068         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
78069         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
78070         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
78071         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
78072         (REG_INTERVALS): renamed from RE_INTERVALS.
78073         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
78074         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
78075         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
78076         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
78077         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
78078         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
78079         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
78080         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
78081         RE_UNMATCHED_RIGHT_PAREN_ORD.
78082         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
78083         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
78084         (REG_DEBUG): renamed from RE_DEBUG.
78085         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
78086         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
78087         unusual, since we can't clash with the POSIX REG_ICASE.
78088         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
78089         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
78090         (REG_NO_SUB): renamed from RE_NO_SUB.
78091         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
78092         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
78093         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
78094         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
78095         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
78096         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
78097         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
78098         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
78099         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
78100         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
78101         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
78102         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
78103         RE_SYNTAX_POSIX_MINIMAL_BASIC.
78104         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
78105         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
78106         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
78107         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
78108         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
78109         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
78110         (REG_FIXED): Renamed from REGS_FIXED.
78111         (REG_NREGS): Renamed from RE_NREGS.
78112
78113         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
78114         of other REG_* macros, since POSIX says the user is allowed to
78115         #undef these macros selectively.
78116
78117         (reg_errcode_t): Update comment stating what other tables need
78118         to be consistent.
78119
78120         Rename the following enum values to obey POSIX requirements.
78121         The old names are still visible as macros.
78122         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
78123         is not defined, since GNU is supposed to be a superset of POSIX as
78124         much as possible, and since we want reg_errcode_t to be a signed
78125         type for implementation consistency.
78126         (_REG_NOERROR): Renamed from REG_NOERROR.
78127         (_REG_NOMATCH): Renamed from REG_NOMATCH.
78128         (_REG_BADPAT): Renamed from REG_BADPAT.
78129         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
78130         (_REG_ECTYPE): Renamed from REG_ECTYPE.
78131         (_REG_EESCAPE): Renamed from REG_EESCAPE.
78132         (_REG_ESUBREG): Renamed from REG_ESUBREG.
78133         (_REG_EBRACK): Renamed from REG_EBRACK.
78134         (_REG_EPAREN): Renamed from REG_EPAREN.
78135         (_REG_EBRACE): Renamed from REG_EBRACE.
78136         (_REG_BADBR): Renamed from REG_BADBR.
78137         (_REG_ERANGE): Renamed from REG_ERANGE.
78138         (_REG_ESPACE): Renamed from REG_ESPACE.
78139         (_REG_BADRPT): Renamed from REG_BADRPT.
78140         (_REG_EEND): Renamed from REG_EEND.
78141         (_REG_ESIZE): Renamed from REG_ESIZE.
78142         (_REG_ERPAREN): Renamed from REG_ERPAREN.
78143         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
78144         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
78145         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
78146         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
78147
78148         (_REG_RE_NAME, _REG_RM_NAME): New macros.
78149         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
78150         changed.  But support the old name if the new one is not defined
78151         and if _REGEX_SOURCE.
78152
78153         Change the following member names in struct re_pattern_buffer.
78154         The old names are still supported if !_REGEX_SOURCE.
78155         The new names are always supported, regardless of _REGEX_SOURCE.
78156         (re_buffer): Renamed from buffer.
78157         (re_allocated): Renamed from allocated.
78158         (re_used): Renamed from used.
78159         (re_syntax): Renamed from syntax.
78160         (re_fastmap): Renamed from fastmap.
78161         (re_translate): Renamed from translate.
78162         (re_can_be_null): Renamed from can_be_null.
78163         (re_regs_allocated): Renamed from regs_allocated.
78164         (re_fastmap_accurate): Renamed from fastmap_accurate.
78165         (re_no_sub): Renamed from no_sub.
78166         (re_not_bol): Renamed from not_bol.
78167         (re_not_eol): Renamed from not_eol.
78168         (re_newline_anchor): Renamed from newline_anchor.
78169
78170         Change the following member names in struct re_registers.
78171         The old names are still supported if !_REGEX_SOURCE.
78172         The new names are always supported, regardless of _REGEX_SOURCE.
78173         (rm_num_regs): Renamed from num_regs.
78174         (rm_start): Renamed from start.
78175         (rm_end): Renamed from end.
78176
78177         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
78178         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
78179         Prepend __ to parameter names.
78180
78181         Undo yesterday's changes.
78182
78183 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78184
78185         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
78186         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
78187         lib/regex.c.
78188
78189 2005-08-24  Jim Meyering  <jim@meyering.net>
78190
78191         Sync from coreutils.
78192         * m4/fcntl-safer.m4: New file.
78193
78194         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
78195         and object files for this module.
78196
78197 2005-08-24  Jim Meyering  <jim@meyering.net>
78198
78199         Sync from coreutils.
78200         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
78201
78202 2005-08-24  Jim Meyering  <jim@meyering.net>
78203
78204         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
78205         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
78206
78207 2005-08-24  Jim Meyering  <jim@meyering.net>
78208
78209         * modules/fcntl-safer: New module.
78210         * modules/fts (Depends-on): Add fcntl-safer.
78211         * MODULES.html.sh (File descriptor based Input/Output):
78212         Add fcntl-safer.
78213
78214 2005-08-24  Bruno Haible  <bruno@clisp.org>
78215
78216         Support for unit test modules.
78217         * modules/README: Mention tests modules.
78218         * modules/TEMPLATE-TESTS: New file.
78219         * gnulib-tool: New options --extract-tests-module, --with-tests and
78220         --tests-base (unused for the moment).
78221         (testsbase, inctests): New variables.
78222         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
78223         (func_verify_module): Exclude TEMPLATE-TESTS.
78224         (func_verify_nontests_module, func_verify_tests_module): New functions.
78225         (func_get_dependencies): Add implicit dependency for tests modules.
78226         (func_get_tests_module): New function.
78227         (func_modules_transitive_closure): When --with-tests was specified,
78228         include the unit tests as well, unless explicitly avoided.
78229         (func_emit_lib_Makefile_am): Ignore the tests modules here.
78230         (func_emit_tests_Makefile_am): New function.
78231         (func_create_testdir): When --with-tests was specified, emit a
78232         tests/ directory.
78233         * MODULES.html.sh (Future developments): Update.
78234
78235 2005-08-24  Bruno Haible  <bruno@clisp.org>
78236
78237         * modules/tls-tests: New file.
78238         * tests/test-tls.c: New file, from GNU gettext.
78239
78240 2005-08-24  Bruno Haible  <bruno@clisp.org>
78241
78242         * modules/lock-tests: New file.
78243         * tests/test-lock.c: New file, from GNU gettext.
78244
78245 2005-08-24  Bruno Haible  <bruno@clisp.org>
78246
78247         * lib/lock.h: Add multiple inclusion guard.
78248         * lib/tls.h: Add multiple inclusion guard.
78249
78250 2005-08-24  Bruno Haible  <bruno@clisp.org>
78251
78252         * gnulib-tool: Add support for the --aux-dir option to
78253         --create-testdir, --create-megatestdir, --test, --megatest.
78254         (func_create_testdir, func_create_megatestdir): Optionally emit a
78255         AC_CONFIG_AUX_DIR directive.
78256         (create-testdir, create-megatestdir, test, megatest): Provide a
78257         default value for $auxdir.
78258
78259 2005-08-24  Bruno Haible  <bruno@clisp.org>
78260
78261         * gnulib-tool (import): Use compound statement instead of subshell
78262         where possible.
78263
78264 2005-08-24  Bruno Haible  <bruno@clisp.org>
78265
78266         * gnulib-tool (import): Change --aux-dir default to "build-aux".
78267
78268 2005-08-24  Bruno Haible  <bruno@clisp.org>
78269
78270         * gnulib-tool (func_version): Update.
78271
78272 2005-08-24  Bruno Haible  <bruno@clisp.org>
78273
78274         * gnulib-tool (func_import, func_create_testdir,
78275         func_create_megatestdir): Quote all autoconf macro arguments.
78276
78277 2005-08-24  Bruno Haible  <bruno@clisp.org>
78278
78279         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
78280         option --force, because --force causes the aclocal.m4 of each
78281         subdirectory to be newer than the corresponding config.h.in.
78282
78283 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78284
78285         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
78286         All contents moved to gl_REGEX.
78287         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
78288         assume that it does.
78289
78290 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78291
78292         * lib/regex.h (REG_NOSYS)
78293         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
78294         Define, since POSIX requires it as of 2001.
78295         (_REG_ENOSYS)
78296         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
78297         New private symbol, used to keep the enum signed in all cases.
78298         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
78299         Youngman in
78300         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
78301
78302         * lib/regex_internal.c (re_string_skip_chars, register_state):
78303         (calc_state_hash):
78304         Remove forward decls; no longer needed now that we use prototypes.
78305         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
78306         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
78307         (clean_state_log_if_needed): Likewise.
78308
78309 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78310
78311         * config/srclist.txt: Add glibc bugs 1231-1233.
78312
78313 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78314
78315         Fix problems reported by Sam Steingold in
78316         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
78317         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
78318         assumed that reg_errcode_t is a signed type, which is not
78319         necessarily true if _XOPEN_SOURCE is not defined.
78320         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
78321         since some compilers warn about it otherwise.
78322
78323 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78324
78325         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
78326         (init_word_char, create_initial_state, duplicate_node_closure):
78327         (fetch_token, peek_token_bracket, build_range_exp):
78328         (build_collating_symbol): Remove forward decls; no longer needed
78329         now that we use prototypes.
78330
78331         * lib/regcomp.c:
78332         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
78333         (re_compile_fastmap_iter, regcomp, regerror, regfree):
78334         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
78335         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
78336         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
78337         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
78338         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
78339         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
78340         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
78341         (build_range_exp, build_collating_symbol, parse_bracket_exp):
78342         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
78343         (build_charclass, build_charclass_op, fetch_number, create_tree):
78344         (create_token_tree, mark_opt_subexp, duplicate_tree):
78345         Use prototypes rather than old-style definitions.
78346
78347         * lib/regex_internal.c:
78348         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
78349         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
78350         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
78351         (re_string_reconstruct, re_string_peek_byte_case):
78352         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
78353         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
78354         (re_node_set_init_copy, re_node_set_add_intersect):
78355         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
78356         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
78357         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
78358         (re_acquire_state, re_acquire_state_context, register_state):
78359         (create_ci_newstate, create_cd_newstate, free_state):
78360         Likewise.
78361         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
78362         re_search_2):
78363         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
78364         (re_search_internal, prune_impossible_nodes):
78365         (acquire_init_state_context, check_matching, static):
78366         (check_halt_node_context, check_halt_state_context, proceed_next_node):
78367         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
78368         (update_regs, sift_states_backward, build_sifted_states):
78369         (clean_state_log_if_needed, merge_state_array):
78370         (update_cur_sifted_state, add_epsilon_src_nodes):
78371         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
78372         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
78373         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
78374         (find_recover_state, check_subexp_matching_top, transit_state_mb):
78375         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
78376         (check_arrival, check_arrival_add_next_nodes):
78377         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
78378         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
78379         (check_node_accept_bytes, check_node_accept, extend_buffers):
78380         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
78381         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
78382         (sift_ctx_init):
78383         Likewise.
78384
78385         * lib/regex_internal.h:
78386         (re_string_allocate, re_string_construct, re_string_reconstruct):
78387         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
78388         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
78389         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
78390         (re_string_context_at, re_string_peek_byte_case):
78391         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
78392         is defined, since we now use prototypes always.
78393
78394         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
78395         C89 or better.  All uses removed.
78396
78397 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78398
78399         * config/srclist.txt: Add glibc bugs 1220-1227.
78400
78401 2005-08-20  Jim Meyering  <jim@meyering.net>
78402
78403         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
78404         of unused local, dfa.
78405
78406 2005-08-20  Bruno Haible  <bruno@clisp.org>
78407
78408         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
78409
78410 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78411
78412         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
78413         (re_node_set_insert_last, re_dfa_add_node):
78414         Rename local variables to avoid GCC shadowing warnings.
78415
78416 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78417
78418         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
78419         [defined lint]: Suppress bogus uninitialized-variable warnings.
78420
78421         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
78422         and let the caller return REG_ESPACE if out of space.  This
78423         removes an uninitialied-variable warning with GCC 4.0.1, and also
78424         avoids taking the address of a local variable.  All callers
78425         changed.
78426
78427 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78428
78429         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
78430         $LIBCSRC/posix/regexec.c.
78431         Add glibc bug 1217 for regcomp.c.
78432
78433 2005-08-19  Jim Meyering  <jim@meyering.net>
78434
78435         * lib/regexec.c (proceed_next_node): Redo local variables to
78436         avoid GCC shadowing warnings.
78437
78438 2005-08-18  Bruno Haible  <bruno@clisp.org>
78439
78440         * lib/strstr.c (strstr): Fix return value in multibyte case.
78441         * lib/strcasestr.c (strcasestr): Likewise.
78442
78443 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
78444
78445         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
78446
78447 2005-08-17  Jim Meyering  <jim@meyering.net>
78448
78449         Make the %s format (seconds since the epoch) work for a negative
78450         number and when used with a zero-padded field width, e.g. %015s.
78451
78452         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
78453         label so that it precedes the code to set `digits'.  Otherwise,
78454         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
78455         print `00-22'.  Now, it prints `-0022', as it should.
78456
78457 2005-08-17  Bruno Haible  <bruno@clisp.org>
78458
78459         * modules/strstr (Files): Add m4/mbrtowc.m4.
78460         (Depends-on): Add mbuiter.
78461
78462 2005-08-17  Bruno Haible  <bruno@clisp.org>
78463
78464         * modules/strcasestr: New file.
78465         * MODULES.html.sh (String handling, based on ANSI C 89): Add
78466         strcasestr.
78467
78468 2005-08-17  Bruno Haible  <bruno@clisp.org>
78469
78470         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
78471
78472 2005-08-17  Bruno Haible  <bruno@clisp.org>
78473
78474         * modules/mbuiter: New file.
78475         * MODULES.html.sh (Extended multibyte and wide character utilities):
78476         Add mbuiter.
78477
78478 2005-08-17  Bruno Haible  <bruno@clisp.org>
78479
78480         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
78481         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
78482
78483 2005-08-17  Bruno Haible  <bruno@clisp.org>
78484
78485         * m4/strcasestr.m4: New file.
78486
78487 2005-08-17  Bruno Haible  <bruno@clisp.org>
78488
78489         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
78490         * lib/strstr.c: Completely rewritten, with multibyte locale support.
78491
78492 2005-08-17  Bruno Haible  <bruno@clisp.org>
78493
78494         * lib/strcasestr.h: New file.
78495         * lib/strcasestr.c: New file.
78496
78497 2005-08-17  Bruno Haible  <bruno@clisp.org>
78498
78499         * lib/strcasecmp.c: Use mbuiter.h.
78500
78501 2005-08-17  Bruno Haible  <bruno@clisp.org>
78502
78503         * lib/mbuiter.h: New file.
78504
78505 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
78506
78507         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
78508         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
78509         and gl_GETOPT are both invoked via different paths (as happens
78510         with GNU tar CVS because it uses both argp and getopt), the former
78511         wins.
78512
78513 2005-08-16  Bruno Haible  <bruno@clisp.org>
78514
78515         * modules/tls: New file.
78516         * MODULES.html.sh (Multithreading): Add tls.
78517
78518 2005-08-16  Bruno Haible  <bruno@clisp.org>
78519
78520         * modules/strnlen1: New file.
78521         * MODULES.html.sh (String handling): Add strnlen1.
78522
78523 2005-08-16  Bruno Haible  <bruno@clisp.org>
78524
78525         * modules/strcase (Files): Add m4/mbrtowc.m4.
78526         (Depends-on): Add strnlen1, mbchar.
78527
78528 2005-08-16  Bruno Haible  <bruno@clisp.org>
78529
78530         * modules/mbiter: New file.
78531         * MODULES.html.sh (Extended multibyte and wide character utilities):
78532         Add mbiter.
78533
78534 2005-08-16  Bruno Haible  <bruno@clisp.org>
78535
78536         * modules/mbfile: New file.
78537         * MODULES.html.sh (Extended multibyte and wide character utilities):
78538         Add mbfile.
78539
78540 2005-08-16  Bruno Haible  <bruno@clisp.org>
78541
78542         * modules/mbchar: New file.
78543         * MODULES.html.sh (Extended multibyte and wide character utilities):
78544         New section.
78545
78546 2005-08-16  Bruno Haible  <bruno@clisp.org>
78547
78548         * m4/tls.m4: New file, from GNU gettext.
78549
78550 2005-08-16  Bruno Haible  <bruno@clisp.org>
78551
78552         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
78553         always.
78554         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
78555
78556 2005-08-16  Bruno Haible  <bruno@clisp.org>
78557
78558         * m4/mbiter.m4: New file.
78559
78560 2005-08-16  Bruno Haible  <bruno@clisp.org>
78561
78562         * m4/mbfile.m4: New file.
78563
78564 2005-08-16  Bruno Haible  <bruno@clisp.org>
78565
78566         * m4/mbchar.m4: New file.
78567
78568 2005-08-16  Bruno Haible  <bruno@clisp.org>
78569
78570         * lib/tls.h: New file, from GNU gettext.
78571         * lib/tls.c: New file, from GNU gettext.
78572
78573 2005-08-16  Bruno Haible  <bruno@clisp.org>
78574
78575         * lib/strnlen1.h: New file.
78576         * lib/strnlen1.c: New file.
78577
78578 2005-08-16  Bruno Haible  <bruno@clisp.org>
78579
78580         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
78581         (mbi_init): Update.
78582         (mbi_avail, mbi_advance): Let the iteration end before the terminating
78583         NUL byte, not after it.
78584
78585 2005-08-16  Bruno Haible  <bruno@clisp.org>
78586
78587         * lib/strcase.h (strcasecmp): Add note in comments.
78588         * lib/strncasecmp.c: Use code from strcasecmp.c.
78589         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
78590         (strcasecmp): Work correctly in multibyte locales.
78591
78592 2005-08-16  Bruno Haible  <bruno@clisp.org>
78593
78594         * lib/mbiter.h: New file.
78595
78596 2005-08-16  Bruno Haible  <bruno@clisp.org>
78597
78598         * lib/mbfile.h: New file.
78599
78600 2005-08-16  Bruno Haible  <bruno@clisp.org>
78601
78602         * lib/mbchar.h: New file.
78603         * lib/mbchar.c: New file.
78604
78605 2005-08-16  Bruno Haible  <bruno@clisp.org>
78606
78607         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
78608         the valid ones. Makes the comparison operations transitive:
78609         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
78610         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
78611
78612 2005-08-15  Simon Josefsson  <jas@extundo.com>
78613
78614         * modules/ssize_t (License): Change to 'unlimited'.
78615
78616         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
78617
78618 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78619
78620         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
78621         Add comments for each pending glibc patch.
78622
78623 2005-08-15  Bruno Haible  <bruno@clisp.org>
78624
78625         * lib/regex.h (__restrict_arr): Don't define to __restrict if
78626         __cplusplus is defined.
78627
78628 2005-08-14  Jim Meyering  <jim@meyering.net>
78629
78630         Sync from coreutils.
78631
78632         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
78633         Use the hash-table-based cycle-detection code not just when
78634         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
78635         Reported by James Youngman in
78636         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
78637         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
78638         FTS_TIGHT_CYCLE_CHECK.
78639         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
78640         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
78641         once again.
78642         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
78643         * lib/fts.c (fd_safer): Remove decl.
78644         Include fcntl--.h rather than unistd-safer.h
78645         (fts_safe_changedir): Don't call fd_safer; no longer needed
78646         now that we include fcntl--.h.
78647
78648 2005-08-12  Simon Josefsson  <jas@extundo.com>
78649
78650         * modules/getndelim2: Use ssize_t module.
78651         * modules/getnline: Likewise.
78652         * modules/safe-read: Likewise.
78653         * modules/xreadlink: Likewise.
78654
78655         * modules/ssize_t: New file.
78656
78657 2005-08-12  Simon Josefsson  <jas@extundo.com>
78658
78659         * m4/readline.m4: Look for termcap, curses or ncurses if required.
78660
78661 2005-08-12  Simon Josefsson  <jas@extundo.com>
78662
78663         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78664         ssize_t.
78665
78666 2005-08-12  Simon Josefsson  <jas@extundo.com>
78667
78668         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
78669         readline, getdelim and check_version.
78670         (Support for systems lacking ISO C 99: Sizes of integer types):
78671         Add size_max.
78672
78673 2005-08-12  Bruno Haible  <bruno@clisp.org>
78674
78675         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
78676
78677 2005-08-11  Simon Josefsson  <jas@extundo.com>
78678
78679         * modules/readline: New file.
78680
78681         * modules/strnlen (Files): Add strnlen.h.
78682
78683 2005-08-11  Simon Josefsson  <jas@extundo.com>
78684
78685         * m4/readline.m4: New file.
78686
78687 2005-08-11  Simon Josefsson  <jas@extundo.com>
78688
78689         * lib/readline.h, readline.c: New file.
78690
78691 2005-08-11  Simon Josefsson  <jas@extundo.com>
78692
78693         * doc/gnulib.texi (Initial import, Finishing touches): Mention
78694         gl_AVOID.
78695
78696 2005-08-11  Bruno Haible  <bruno@clisp.org>
78697
78698         * lib/strnlen.h (strnlen): Change parameter name to match comment.
78699
78700 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
78701
78702         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
78703
78704 2005-08-10  Simon Josefsson  <jas@extundo.com>
78705
78706         * tests/test-iconvme.c: New file.
78707
78708 2005-08-10  Simon Josefsson  <jas@extundo.com>
78709
78710         * m4/strnlen.m4: New file.
78711
78712         * m4/strndup.m4: Don't check for strnlen declaration, done in
78713         strnlen.m4.
78714
78715 2005-08-10  Simon Josefsson  <jas@extundo.com>
78716
78717         * lib/strndup.c: Use strnlen.h.
78718
78719         * lib/strnlen.h: New file.
78720
78721 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78722
78723         * README: Typos.
78724
78725 2005-08-02  Simon Josefsson  <jas@extundo.com>
78726
78727         * modules/readline: New file.
78728
78729 2005-08-02  Simon Josefsson  <jas@extundo.com>
78730
78731         * modules/getdelim: New file.
78732
78733         * modules/getline: Rewrite, don't use getndelim2.
78734
78735 2005-08-02  Simon Josefsson  <jas@extundo.com>
78736
78737         * m4/getline.m4: Separate out getdelim stuff into separate module.
78738
78739         * m4/getdelim.m4: New file.
78740
78741 2005-08-02  Simon Josefsson  <jas@extundo.com>
78742
78743         * lib/getline.h, getline.c: Rewrite.
78744
78745         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
78746
78747 2005-07-31  Bruno Haible  <bruno@clisp.org>
78748
78749         * lib/lock.h (gl_lock_initializer): New macro.
78750         (gl_lock_define_initialized): Use it.
78751         (gl_rwlock_initializer): New macro.
78752         (gl_rwlock_define_initialized): Use it.
78753         (gl_recursive_lock_initializer): New macro.
78754         (gl_recursive_lock_define_initialized): Use it.
78755
78756 2005-07-30  Karl Berry  <karl@gnu.org>
78757
78758         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
78759         Report from Ben Pfaff, regarding getopt.
78760
78761 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
78762
78763         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
78764         normal way.
78765         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
78766         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
78767         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
78768         (gl_GETOPT): Use the new macros.  Most of the implementation
78769         is moved to the new macros.  This is for programs like Emacs
78770         that don't want all the functionality of gl_GETOPT.
78771
78772 2005-07-26  Bruno Haible  <bruno@clisp.org>
78773
78774         * m4/lock.m4: Update from GNU gettext.
78775
78776 2005-07-26  Bruno Haible  <bruno@clisp.org>
78777
78778         * lib/lock.h: Update from GNU gettext.
78779         * lib/lock.c: Update from GNU gettext.
78780
78781 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
78782
78783         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
78784         obsolescent AC_TRY_RUN.  Include the default includes files, for
78785         'exit'.
78786
78787 2005-07-24  Bruno Haible  <bruno@clisp.org>
78788
78789         * modules/visibility: New file.
78790         * MODULES.html.sh (Misc): Add visibility.
78791
78792 2005-07-24  Bruno Haible  <bruno@clisp.org>
78793
78794         * m4/visibility.m4: New file.
78795
78796 2005-07-24  Bruno Haible  <bruno@clisp.org>
78797
78798         * doc/visibility.texi: New file.
78799
78800 2005-07-22  Bruno Haible  <bruno@clisp.org>
78801
78802         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
78803         $(ALLOCA_H), redundant through BUILT_SOURCES.
78804         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
78805         redundant through BUILT_SOURCES.
78806         * modules/byteswap (Makefile.am): Remove explicit dependency on
78807         $(BYTESWAP_H), redundant through BUILT_SOURCES.
78808         * modules/fnmatch (Makefile.am): Remove explicit dependency on
78809         $(FNMATCH_H), redundant through BUILT_SOURCES.
78810         * modules/getopt (Makefile.am): Remove explicit dependency on
78811         $(GETOPT_H), redundant through BUILT_SOURCES.
78812         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
78813         redundant through BUILT_SOURCES.
78814         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
78815         redundant through BUILT_SOURCES.
78816         * modules/stdbool (Makefile.am): Remove explicit dependency on
78817         $(STDBOOL_H), redundant through BUILT_SOURCES.
78818         * modules/stdint (Makefile.am): Remove explicit dependency on
78819         $(STDINT_H), redundant through BUILT_SOURCES.
78820         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
78821         Remove explicit dependency on $(SYSEXITS_H).
78822         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
78823
78824 2005-07-18  Simon Josefsson  <jas@extundo.com>
78825
78826         * lib/check-version.c (check_version): Accept identical versions too.
78827
78828 2005-07-18  Bruno Haible  <bruno@clisp.org>
78829
78830         * modules/lock: New file.
78831         * MODULES.html.sh (Multithreading): New section.
78832
78833 2005-07-18  Bruno Haible  <bruno@clisp.org>
78834
78835         * m4/lock.m4: New file, from GNU gettext.
78836
78837 2005-07-18  Bruno Haible  <bruno@clisp.org>
78838
78839         * lib/lock.h: New file, from GNU gettext.
78840         * lib/lock.c: New file, from GNU gettext.
78841
78842 2005-07-18  Bruno Haible  <bruno@clisp.org>
78843
78844         * lib/lock.h (gl_once_t): New type.
78845         (gl_once_define, gl_once): New macros.
78846         * lib/lock.c (fresh_once): New variable.
78847         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
78848         functions.
78849
78850 2005-07-16  Simon Josefsson  <jas@extundo.com>
78851
78852         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
78853         workaround, suggested by Bruno.
78854
78855 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
78856
78857         * modules/xalloc (Depends-on): Add xalloc-die.
78858         * modules/xvasprintf (Depends-on): Add xalloc-die.
78859
78860 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
78861
78862         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
78863         with a minor change.
78864
78865 2005-07-15  Bruno Haible  <bruno@clisp.org>
78866
78867         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
78868         When using lib/poll.c, define poll as rpl_poll.
78869
78870 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
78871
78872         * modules/argp (Depends-on): Remove unlocked-io.
78873
78874 2005-07-14  Derek Price  <derek@ximbiot.com>
78875
78876         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
78877         for glob symlink bug.
78878
78879 2005-07-14  Bruno Haible  <bruno@clisp.org>
78880
78881         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
78882         Instead, test for *_unlocked function declarations directly.
78883
78884 2005-07-11  Simon Josefsson  <jas@extundo.com>
78885
78886         * modules/size_max: New file.
78887
78888         * modules/xsize: Depend on size_max module for size_max.m4.
78889
78890 2005-07-11  Simon Josefsson  <jas@extundo.com>
78891
78892         * lib/size_max.h: New file.
78893
78894 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
78895
78896         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
78897         copyright symbol and the year.
78898         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
78899         (version_etc_va): Use parameterized copyright notice.
78900         Reword to conform to the current GNU coding standards.
78901
78902 2005-07-11  Karl Berry  <karl@gnu.org>
78903
78904         * doc/gnulib.texi (Quoting): new node.
78905         (Initial import): more info, from Patrice.
78906
78907 2005-07-11  Bruno Haible  <bruno@clisp.org>
78908
78909         * gnulib-tool (func_usage): Document option --avoid.
78910         (Command line options): Handle --avoid.
78911         (func_acceptable): New function.
78912         (func_modules_transitive_closure): Use it.
78913
78914 2005-07-11  Bruno Haible  <bruno@clisp.org>
78915
78916         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
78917         Reported by Jim Meyering.
78918
78919 2005-07-10  Bruno Haible  <bruno@clisp.org>
78920
78921         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
78922         Needed when size_t is smaller than 'unsigned int'.
78923         Reported by Paul Eggert.
78924
78925 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78926
78927         * modules/argp (Depends-on): Add unlocked-io
78928
78929 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78930
78931         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
78932         block of defines.
78933
78934 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
78935
78936         * config/srclist.txt: Comment out regcomp.c, since we have a porting
78937         fix now.
78938
78939 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
78940         and Paul Eggert  <eggert@cs.ucla.edu>
78941
78942         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
78943         in wint_t, not wchar_t.  Remove now-unnecessary cast.
78944
78945 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78946
78947         * modules/regex (Files): Add lib/regex_internal.c,
78948         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
78949         (Depends-on): Add extensions.
78950         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
78951
78952 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78953
78954         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
78955         pathconf.
78956         * m4/same.m4 (gl_SAME): Likewise.
78957         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
78958
78959         * m4/regex.m4: Adjust to new libc regex implementation.
78960         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
78961         all the .c and .h parts of (the new) regex.
78962         Quote the m4 stuff better.
78963         Check for RE_ICASE bug of old gnulib.
78964         Check for REG_STARTEND of recent libc.
78965         Rename local variables from jm_* to gl_*.
78966         Quote operand of "test -f".
78967         Say "recent enough" version of libc, not "version 2".
78968         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
78969         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
78970         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
78971         Remove check for btowc, isascii.
78972         Require AM_LANGINFO_CODESET.
78973
78974 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78975
78976         * lib/regex.c, regex.h: Sync from libc.
78977         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
78978         * lib/regexec.c:
78979         New files, synced from libc, except that regex_internal.h
78980         currently has a small porting fix.
78981
78982 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78983
78984         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
78985         regex_internal.c, regexec.c.
78986         Add regex_internal.h too, but as a comment, since the libc version
78987         is currently broken in gnulib mode.
78988
78989 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78990
78991         Support programs like Emacs that use gnulib but not gettext.
78992         * MODULES.html.sh (Internationalization functions): Add gettext-h.
78993         * modules/gettext-h: New file.
78994         * modules/gettext (Files): Remove lib/gettext.h.
78995         (Depends-on): Add gettext-h.
78996         (Makefile.am): Remove lib_SOURCES.
78997         * modules/argmatch, modules/c-stack, modules/closeout:
78998         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
78999         * modules/execute, modules/file-type, modules/getaddrinfo:
79000         * modules/getopt, modules/human, modules/javacomp:
79001         * modules/javaexec, modules/mkdir-p, modules/obstack:
79002         * modules/openat, modules/pagealign_alloc, modules/pipe:
79003         * modules/quotearg, modules/regex, modules/rpmatch:
79004         * modules/unicodeio, modules/userspec, modules/version-etc:
79005         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
79006         * modules/xsetenv:
79007         Depend on gettext-h, not gettext.
79008
79009 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
79010
79011         * gnulib-tool (func_import): Add support for 'public domain' license.
79012         * modules/alloca, modules/atexit, modules/memmove:
79013         Now public domain, not GPL.
79014         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
79015         * modules/realloc, modules/strerror, modules/strtod:
79016         Now LGPL, not GPL.
79017
79018 2005-07-05  Bruno Haible  <bruno@clisp.org>
79019
79020         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
79021         autoconf CVS. Needed for mingw.
79022
79023 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79024
79025         Remove the dependency of the strftime module on the tzset module.
79026         * modules/strftime (Depends-on): Remove dependency on tzset.
79027
79028 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79029
79030         Remove the dependency of the strftime module on the tzset module.
79031         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
79032         gl_FUNC_TZSET_CLOBBER.
79033
79034 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79035
79036         Remove the dependency of the strftime module on the tzset module.
79037         * lib/strftime.c (my_strftime)
79038         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
79039         Copy the input structure, to work around some of the bug with
79040         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
79041         Solaris releases, you should also use the tzset module, but we won't
79042         require it as a dependency any more since we don't want LGPLed code
79043         to depend on GPLed code.
79044
79045 2005-07-02  Jim Meyering  <jim@meyering.net>
79046
79047         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
79048         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
79049         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
79050         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
79051
79052 2005-07-02  Jim Meyering  <jim@meyering.net>
79053
79054         * lib/backupfile.c (backup_args): Change a `0' to NULL.
79055
79056 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
79057
79058         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
79059         declares only 'struct timespec;' (!).
79060
79061 2005-07-01  Jim Meyering  <jim@meyering.net>
79062
79063         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
79064         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
79065         * lib/save-cwd.c, tempname.c:
79066         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
79067         and don't include <sys/file.h>).
79068
79069 2005-06-29  Jim Meyering  <jim@meyering.net>
79070
79071         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
79072         type name.  Use the variable name instead.
79073         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
79074         Likewise.
79075
79076 2005-06-28  Simon Josefsson  <jas@extundo.com>
79077
79078         * modules/check-version (Files): Add check-version.m4.
79079
79080 2005-06-28  Simon Josefsson  <jas@extundo.com>
79081
79082         * m4/check-version.m4: New file, suggested by Jim Meyering
79083         <jim@meyering.net>.
79084
79085 2005-06-28  Simon Josefsson  <jas@extundo.com>
79086
79087         * lib/check-version.h, lib/check-version.c: New files.
79088
79089 2005-06-28  Simon Josefsson  <jas@extundo.com>
79090
79091         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
79092         collision with global variable.  Better indentation.  Don't
79093         increment buffer pointer beyond buffer end.  Based on comments
79094         from Paul Eggert <eggert@cs.ucla.edu>.
79095
79096         * lib/base64.h: Indent.
79097
79098 2005-06-28  Simon Josefsson  <jas@extundo.com>
79099
79100         * doc/gnulib.texi (Library version handling): New section.
79101
79102 2005-06-28  Jim Meyering  <jim@meyering.net>
79103
79104         * check-module (find_included_lib_files): Hard-code another
79105         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
79106         but modules/fts-lgpl (correctly) does not list those files.
79107
79108         * modules/canonicalize (Files): Add lib/pathmax.h.
79109
79110 2005-06-25  Simon Josefsson  <jas@extundo.com>
79111
79112         * modules/check-version: New file.
79113
79114 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
79115
79116         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
79117         initializer of struct addrinfo, as an indication that we don't
79118         care how many members the structure has.
79119
79120 2005-06-24  Derek Price  <derek@ximbiot.com>
79121         and Bruno Haible  <bruno@clisp.org>
79122
79123         Remove stat module & update lstat.
79124         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
79125         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79126         * m4/stat.m4: Remove this file.
79127
79128 2005-06-24  Derek Price  <derek@ximbiot.com>
79129         and Bruno Haible  <bruno@clisp.org>
79130
79131         Remove stat module & update lstat.
79132         * lib/stat.c: Remove this file...
79133         (slash_aware_lstat): ...moving this content and its support...
79134         * lib/lstat.c (rpl_lstat): ...into here.
79135         * lib/lstat.h: New file.
79136
79137 2005-06-24  Derek Price  <derek@ximbiot.com>
79138         and Bruno Haible  <bruno@clisp.org>
79139
79140         Remove stat module & update lstat.
79141         * config/srclist.txt (libc sources): Remove stat.
79142
79143 2005-06-24  Derek Price  <derek@ximbiot.com>
79144         and Bruno Haible  <bruno@clisp.org>
79145
79146         Remove stat module & update lstat.
79147         * MODULES.html.sh (stat): Remove.
79148         * MODULES.html: Regenerated.
79149         * modules/lstat (Description): Correct function name.
79150         (Files): Add "lstat.h".
79151         (Depends-on): Remove stat, add xalloc, stat-macros.
79152         * modules/stat: Remove this file.
79153         (Include): Add "lstat.h", remove <sys/stat.h>.
79154
79155 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
79156
79157         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
79158         (ranged_convert): Don't save conversion in a temporary struct.
79159         This causes a warning with GCC 4.0.0, and anyway in the typical
79160         case it's not worth the extra 100 bytes or so of code.
79161         (ranged_convert, __mktime_internal): When calling a function via a
79162         pointer P, use P () rather than (*P) (), as we now assume C89 or
79163         better.
79164
79165 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79166
79167         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
79168         "who -r" failed to give output.  Problem reported by Tim Waugh.
79169
79170         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
79171         (xcalloc): Use it to avoid needless tests.
79172         Problem reported by Jim Meyering.
79173
79174 2005-06-20  Derek Price  <derek@ximbiot.com>
79175
79176         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
79177         unnecessary for Autoconfs > 2.59c.
79178
79179 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79180
79181         * lib/argp.h (__option_is_short): Check upper limit of
79182         __key. Isprint() requires its argument to have the value
79183         of an unsigned char or EOF.
79184
79185 2005-06-16  Jim Meyering  <jim@meyering.net>
79186
79187         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
79188         when either N or S is zero.
79189
79190 2005-06-16  Derek Price  <derek@ximbiot.com>
79191
79192         * m4/bison.m4: Declare YACC & YFLAGS precious.
79193
79194 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
79195
79196         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
79197         multibyte string or pattern, fall back on unibyte matching.
79198         Problem reported by James Youngman.
79199
79200 2005-06-08  Bruno Haible  <bruno@clisp.org>
79201
79202         * modules/csharpcomp: New file.
79203         * MODULES.html.sh (C#): Add csharpcomp.
79204
79205 2005-06-08  Bruno Haible  <bruno@clisp.org>
79206
79207         * m4/csharpcomp.m4: New file, from GNU gettext.
79208
79209 2005-06-08  Bruno Haible  <bruno@clisp.org>
79210
79211         * lib/csharpcomp.h: New file, from GNU gettext.
79212         * lib/csharpcomp.c: New file, from GNU gettext.
79213         * lib/csharpcomp.sh.in: New file, from GNU gettext.
79214
79215 2005-06-08  Bruno Haible  <bruno@clisp.org>
79216
79217         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
79218         warning on mingw.
79219
79220 2005-06-07  Derek Price  <derek@ximbiot.com>
79221
79222         Sync from CVS.
79223         * lib/glob_.h: Indent nested #ifdef.
79224
79225 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79226
79227         Sync from coreutils.
79228         Use "file name" when talking about file names, instead of "filename"
79229         or "path", as per the GNU coding standards.
79230         * lib/mkdir-p.c: Renamed from makepath.c.
79231         (make_dir_parents): Renamed from make_path.  All callers changed.
79232         * lib/mkdir-p.h: Likewise.  All includers changed.
79233         * lib/filenamecat.c: Renamed from path-concat.c.
79234         (file_name_concat): Renamed from path_concat.  All callers changed.
79235         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
79236         * lib/filenamecat.h: Likewise.  All includers changed.
79237         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
79238         in comments or local variable names.
79239         * lib/basename.c: Likewise.
79240         * lib/canonicalize.c, canonicalize.h: Likewise.
79241         * lib/dirname.c, dirname.h: Likewise.
79242         * lib/euidaccess.c: Likewise.
79243         * lib/exclude.c: Likewise
79244         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
79245         * lib/fsusage.c, fsuage.h: Likewise.
79246         * lib/fts.c, fts_.h: Likewise.
79247         * lib/getcwd.c: Likewise.
79248         * lib/getloadavg.c: Likewise.
79249         * lib/mkstemp.c: Likewise.
79250         * lib/mountlist.c, mountlist.h: Likewise.
79251         * lib/openat.c, openat.h: Likewise.
79252         * lib/readlink-stub.c: Likewise.
79253         * lib/readutmp.c, readutmp.h: Likewise.
79254         * lib/rename.c: Likewise.
79255         * lib/rmdir.c: Likewise.
79256         * lib/same.c: Likewise.
79257         * lib/savedir.c: Likewise.
79258         * lib/stripslash.c: Likewise.
79259         * lib/tempname.c: Likewise.
79260         * lib/xreadlink.c: Likewise.
79261         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
79262         All uses changed.
79263         * lib/exclude.h: Likewise.
79264
79265         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
79266         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
79267         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
79268         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
79269         * lib/pathmax.h: Include <limits.h> unconditionally, since other
79270         files have been getting away with it for years (MORE/BSD 4.3
79271         is extinct now).
79272         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
79273         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
79274
79275         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
79276         Define to 256, not 255, as per modern POSIX.
79277
79278 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79279
79280         Sync from coreutils.
79281         Use "file name" when talking about file names, instead of "filename"
79282         or "path", as per the GNU coding standards.
79283         * MODULES.html.sh: mkdir-p renamed from makepath.
79284         filenamecat renamed from path-concat.
79285         * modules/filenamecat: Renamed from modules/path-concat.
79286         (Files): filenamecat.h and filenamecat.c renamed from
79287         path-concat.h and path-concat.c.
79288         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
79289         (Include): filenamecat.h, not path-concat.h.
79290         * modules/mkdir-p: Renamed from modules/makepath.
79291         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
79292         makepath.c.
79293         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
79294         (Include): mkdir-p.h, not makepath.h.
79295
79296 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79297
79298         Sync from coreutils.
79299         * m4/mkdir-p.m4: Renamed from makepath.m4.
79300         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
79301         Rename files from makepath.c to mkdir-p.c, and from
79302         makepath.h to mkdir-p.h.
79303         * m4/filenamecat.m4: Renamed from path-concat.m4.
79304         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
79305         Rename files from path-concat.c to filenamecat.c,
79306         and from path-concat.h to filenamecat.h.
79307         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
79308         "file name" in local variables or comments.
79309         * m4/rename.m4: Likewise.
79310
79311 2005-06-01  Bruno Haible  <bruno@clisp.org>
79312
79313         * modules/csharpexec: New file.
79314         * MODULES.html.sh (C#): New section.
79315
79316 2005-06-01  Bruno Haible  <bruno@clisp.org>
79317
79318         * m4/csharp.m4: New file, from GNU gettext.
79319         * m4/csharpexec.m4: New file, from GNU gettext.
79320
79321 2005-06-01  Bruno Haible  <bruno@clisp.org>
79322
79323         * lib/csharpexec.h: New file, from GNU gettext.
79324         * lib/csharpexec.c: New file, from GNU gettext.
79325         * lib/csharpexec.sh.in: New file, from GNU gettext.
79326
79327 2005-05-31  Derek Price  <derek@ximbiot.com>
79328             Paul Eggert  <eggert@cs.ucla.edu>
79329
79330         Sync from cvs.
79331         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
79332
79333 2005-05-31  Derek Price  <derek@ximbiot.com>
79334             Paul Eggert  <eggert@cs.ucla.edu>
79335
79336         Sync from cvs.
79337         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
79338
79339 2005-05-29  Derek Price  <derek@ximbiot.com>
79340
79341         * config/srclist.txt (glob_.h, glob.c): Add these files.
79342
79343 2005-05-29  Derek Price  <derek@ximbiot.com>
79344
79345         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
79346         * modules/glob: New file.
79347         * modules/getlogin_r: Add link to POSIX spec in description.
79348
79349 2005-05-29  Derek Price  <derek@ximbiot.com>
79350             Paul Eggert  <eggert@cs.ucla.edu>
79351
79352         * m4/glob.m4: New file.
79353
79354 2005-05-29  Derek Price  <derek@ximbiot.com>
79355             Paul Eggert  <eggert@cs.ucla.edu>
79356
79357         * lib/glob_.h, lib/glob.c: New files.
79358
79359 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79360
79361         * modules/fts (Files): Remove m4/inttypes-pri.m4.
79362         * modules/fts-lgpl (Depends-on): Remove gettext.
79363
79364 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79365
79366         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
79367         and don't require gt_INTTYPES_PRI.
79368
79369 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79370
79371         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
79372
79373         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
79374         the configuration hassle isn't worth it.
79375         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
79376         (LONGEST_MODIFIER, PRIuMAX): Remove.
79377
79378 2005-05-27  Bruno Haible  <bruno@clisp.org>
79379
79380         * lib/getlogin_r.h: Remove second include of <stddef.h>.
79381
79382 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
79383
79384         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
79385         _POSIX_PTHREAD_SEMANTICS for Solaris.
79386
79387 2005-05-25  Derek Price  <derek@ximbiot.com>
79388
79389         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
79390
79391 2005-05-25  Derek Price  <derek@ximbiot.com>
79392             Paul Eggert  <eggert@cs.ucla.edu>
79393
79394         * modules/getlogin_r, m4/getlogin_r.m4: New files.
79395         * lib/getlogin_r.c, getlogin_r.h: New files.
79396
79397 2005-05-25  Bruno Haible  <bruno@clisp.org>
79398             Derek Price  <derek@ximbiot.com>
79399
79400         * lib/getlogin_r.h: Simplify API documentation.
79401
79402 2005-05-23  Derek Price  <derek@ximbiot.com>
79403
79404         * modules/minmax (Files): Add m4/minmax.m4.
79405         (configure.ac): Add gl_MINMAX.
79406
79407 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
79408
79409         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
79410         so that unistd-safer.h (GPL'ed code) need not be included.
79411
79412 2005-05-22  Bruno Haible  <bruno@clisp.org>
79413
79414         * m4/minmax.m4: New file.
79415         Based on a patch by Derek Price <derek@ximbiot.com>.
79416
79417 2005-05-22  Bruno Haible  <bruno@clisp.org>
79418
79419         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
79420         (INT64_MIN): Fix definition.
79421         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
79422
79423         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
79424         NEED_SIGNED_INT_TYPES.
79425
79426         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
79427         HAVE_SYSTEM_INTTYPES.
79428
79429 2005-05-22  Bruno Haible  <bruno@clisp.org>
79430
79431         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
79432         Also include <sys/param.h> if it defines MIN, MAX.
79433         Based on a patch by Derek Price <derek@ximbiot.com>.
79434
79435 2005-05-21  Jim Meyering  <jim@meyering.net>
79436
79437         * modules/fts (Files): Add m4/inttypes-pri.m4.
79438         (Depends-on): Add lstat and remove gettext.  Alphabetize.
79439
79440 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79441
79442         New fts module.
79443         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
79444         (setup_dir, free_dir): New functions.
79445         (enter_dir, leave_dir): Define trivial
79446         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
79447         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
79448         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
79449         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
79450         Move to fts-cycle.c.
79451         (fts_open): Use setup_dir.
79452         (fts_close): Use free_dir.
79453         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
79454         This adds a label and some gotos, but the alternatives were messier.
79455         Check for memory allocation failure when entering a dir.
79456         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
79457         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
79458         (FTS): New member fts_cycle, that is a union that contains the
79459         old active_dir_ht and cycle_state.  All uses changed to mention
79460         fts_cycle.ht and fts_cycle.state.
79461         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
79462         fts.c, with the following changes:
79463         (setup_dir, free_dir): New functions.
79464         (enter_dir): Now returns bool.  Return true if successful, false
79465         if memory exhausted.  All callers changed.
79466         Do not bother partly cleaning up on
79467         memory allocation failure; that is free_dir's job.
79468         However, free ad if hash_insert fails, to avoid memory leak.
79469         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
79470         fts->fts_options to see which union member to use.
79471
79472 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79473
79474         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
79475         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
79476
79477 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79478
79479         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
79480
79481 2005-05-20  Jim Meyering  <jim@meyering.net>
79482
79483         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
79484         Now a macro, to pacify GCC.
79485
79486 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
79487
79488         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
79489         of -1.
79490
79491 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
79492
79493         * lib/chown.c (rpl_chown): Return -1 on failure.
79494
79495 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
79496
79497         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
79498         Don't check for stddef.h.
79499         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
79500         don't use its results.
79501         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
79502         since we include them unconditionally.  Don't require
79503         AM_STDBOOL_H, since stdbool is a prerequisite.
79504         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
79505         since we assume C89 or better.
79506         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
79507         as we don't use their results.
79508         Don't check for fchdir, memmove, memset, strrchr, as we use
79509         them unconditionally.
79510         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
79511         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
79512
79513 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
79514
79515         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
79516         Include <stddef.h> unconditionally, since we assume C89 now.
79517         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
79518         * lib/fts.c: Include fts_.h first, to check interface.
79519         Do not include intprops.h; no longer needed.
79520         Include cycle-check.h and hash.h, since fts_.h no longer does.
79521         Remove unnecessary casts of closedir to void.
79522         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
79523         decide whether to decrement nlinks.
79524         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
79525         (FTS): Use struct hash_table * instead of Hash_table, so that
79526         we no longer need to include hash.h here.
79527
79528 2005-05-18  Jim Meyering  <jim@meyering.net>
79529
79530         * modules/dirfd (License): Change to LGPL.  Most of the code
79531         is already in the public domain.
79532
79533 2005-05-18  Jim Meyering  <jim@meyering.net>
79534
79535         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
79536         Reported by Yoann Vandoorselaere.
79537
79538 2005-05-17  Jim Meyering  <jim@meyering.net>
79539
79540         * m4/fts.m4: New file, from coreutils.
79541
79542 2005-05-17  Jim Meyering  <jim@meyering.net>
79543
79544         * lib/fts.c, lib/fts_.h: New files, from coreutils.
79545
79546 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79547
79548         Sync from coreutils.
79549         * m4/unlinkdir.m4: New file.
79550
79551 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79552
79553         Sync from coreutils.
79554         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
79555         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
79556         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
79557         White space changes only.
79558         * lib/makepath.c (make_path): Port to hosts where leading "//" is
79559         special.
79560         * lib/yesno.c: Include getline.h, not ctype.h.
79561         (yesno): Don't remove leading white space; POSIX doesn't allow it.
79562         Use getline to remove arbitrary restriction on response length.
79563
79564 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79565
79566         * config/srclist-update: Spell out "Street" in FSF postal
79567         mail address; this is the style the FSF seems to prefer.
79568
79569         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
79570         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
79571         this updates FSF postal mail address.
79572
79573         Sync from coreutils.
79574         * modules/unlinkdir: New file.
79575         * modules/yesno (Depends-on): Add getline.
79576         * MODULES.html.sh (File system functions): Add unlinkdir.
79577
79578 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79579
79580         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
79581         lib/strsep.h:
79582         Change the initial comment to refer to GPL, not LGPL.
79583         gnulib-tool will change it to LGPL as needed.
79584
79585         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
79586         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
79587         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
79588         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
79589         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
79590         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
79591         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
79592         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
79593         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
79594         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
79595         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
79596         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
79597         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
79598         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
79599         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
79600         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
79601         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
79602         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
79603         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
79604         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
79605         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
79606         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
79607         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
79608         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
79609         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
79610         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
79611         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
79612         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
79613         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
79614         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
79615         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
79616         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
79617         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
79618         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
79619         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
79620         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
79621         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
79622         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
79623         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
79624         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
79625         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
79626         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
79627         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
79628         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
79629         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
79630         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
79631         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
79632         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
79633         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
79634         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
79635         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
79636         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
79637         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
79638         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
79639         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
79640         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
79641         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
79642         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
79643         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
79644         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
79645         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
79646         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
79647         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
79648         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
79649         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
79650         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
79651         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
79652         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
79653         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
79654         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
79655         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
79656         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
79657         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
79658         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
79659         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
79660         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
79661         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
79662         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
79663         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
79664         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
79665         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
79666         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
79667         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
79668         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
79669         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
79670         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
79671         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
79672         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
79673         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
79674         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
79675         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
79676         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
79677         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
79678         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
79679         lib/yesno.c, lib/yesno.h:
79680         Update FSF postal mail address.
79681
79682 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79683
79684         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
79685         tests/test-memmem.c, tests/test-stpncpy.c:
79686         Update FSF postal mail address.
79687
79688 2005-05-13  Bruno Haible  <bruno@clisp.org>
79689
79690         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
79691         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
79692         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
79693         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
79694         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
79695         Add support for 64-bit integers in the MSVC compiler.
79696
79697 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79698
79699         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
79700
79701 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
79702
79703         * gnulib-tool (func_import): Sort and uniquify recommended includes.
79704
79705 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
79706
79707         * doc/getdate.texi (General date syntax): Don't say that date
79708         date --iso-8601=ns generates acceptable dates; it doesn't yet.
79709         Problem reported by Nic Ferrier.
79710
79711 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79712
79713         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
79714         specified in ai_socktype. Fix invalid ai_protocol
79715         check. ai_protocol is usually set to 0 or depending on
79716         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
79717         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
79718         ai_socktype / ai_protocol in the returned addrinfo structure.
79719
79720 2005-05-10  Simon Josefsson  <jas@extundo.com>
79721
79722         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
79723         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79724
79725 2005-05-10  Karl Berry  <karl@gnu.org>
79726
79727         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
79728         (from http://www.gnu.org/licenses).
79729         * doc/COPYING.LIB: also rename to COPYING.LESSER.
79730         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
79731         fdl.texi suffices.
79732
79733 2005-05-10  Karl Berry  <karl@gnu.org>
79734
79735         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
79736         (COPYING.DOC): remove.
79737
79738         * config/srclist-update: new FSF address.
79739
79740 2005-05-10  Derek Price  <derek@ximbiot.com>
79741
79742         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
79743         possible.
79744
79745 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79746             Bruno Haible  <bruno@clisp.org>
79747
79748         * modules/inet_ntop: New file.
79749         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79750         inet_ntop.
79751
79752 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79753             Bruno Haible  <bruno@clisp.org>
79754
79755         * m4/inet_ntop.m4: New file.
79756
79757 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79758             Bruno Haible  <bruno@clisp.org>
79759
79760         * lib/inet_ntop.h: New file.
79761         * lib/inet_ntop.c: New file, from glibc with modifications.
79762
79763 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
79764
79765         * modules/time_r (License): Change to LGPL.
79766         * modules/extensions (License): Change to LGPL.  Actually,
79767         the license is more permissive than that, but currently gnulib-tool
79768         doesn't know how to handle more-permissive licenses.
79769
79770         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
79771         Problem reported by Dave Love.
79772
79773 2005-05-08  Jim Meyering  <jim@meyering.net>
79774
79775         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
79776         blank.
79777
79778 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
79779
79780         * modules/argmatch (Depends-on): Add stdbool.
79781         * modules/backupfile (Depends-on): Likewise.
79782         * modules/chdir-long (Depends-on): Likewise.
79783         * modules/closeout (Depends-on): Likewise.
79784         * modules/cycle-check (Depends-on): Likewise.
79785         * modules/dirname (Depends-on): Likewise.
79786         * modules/fnmatch (Depends-on): Likewise.
79787         * modules/fsusage (Depends-on): Likewise.
79788         * modules/fwriteerror (Depends-on): Likewise.
79789         * modules/getcwd (Depends-on): Likewise.
79790         * modules/getloadavg (Depends-on): Likewise.
79791         * modules/hard-locale (Depends-on): Likewise.
79792         * modules/makepath (Depends-on): Likewise.
79793         * modules/mountlist (Depends-on): Likewise.
79794         * modules/nanosleep (Depends-on): Likewise.
79795         * modules/posixtm (Depends-on): Likewise.
79796         * modules/quotearg (Depends-on): Likewise.
79797         * modules/readtokens (Depends-on): Likewise.
79798         * modules/readtokens0 (Depends-on): Likewise.
79799         * modules/readutmp (Depends-on): Likewise.
79800         * modules/save-cwd (Depends-on): Likewise.
79801         * modules/strftime (Depends-on): Likewise.
79802         * modules/userspec (Depends-on): Likewise.
79803         * modules/utimecmp (Depends-on): Likewise.
79804         * modules/xgetcwd (Depends-on): Likewise.
79805         * modules/xnanosleep (Depends-on): Likewise.
79806         * modules/xstrtod (Depends-on): Likewise.
79807         * modules/yesno (Depends-on): Likewise.
79808
79809 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
79810
79811         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
79812         needless checks.
79813
79814 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79815
79816         Merge from coreutils.  Among other things,
79817         add bulletproofing for cases where stdin, stdout, or stderr are closed.
79818         * lib/fd-safer.c: New file.
79819         * lib/fcntl-safer.h, open-safer.c: Remove.
79820         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
79821         * lib/dup-safer.c: Include unistd-safer.h first.
79822         Don't include errno.h.
79823         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
79824         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
79825         * lib/file-type.c: Rely on file-type.h change.
79826         * lib/getloadavg.c: Include unistd-safer.h.
79827         (getloadavg): Use safer open.
79828         * lib/getusershell.c: Include "stdio-safer.h".
79829         (getusershell): Use safer fopen.
79830         * lib/long-options.c (long_options): Use NULL rather than 0.
79831         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
79832         'free'.
79833         * lib/modechange.c: Likewise.
79834         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
79835         (MODE_DONE): New constant.
79836         (struct mode_change): Remove 'next' member.
79837         (make_node_op_equals): New function; like the old one of the
79838         same name, except it allocates an array.
79839         (mode_compile, mode_create_from_ref): Use it.
79840         (mode_compile): Allocate result as an array, not a linked list.
79841         Parse octal string ourself, so that we catch mistakes like "+0".
79842         (mode_adjust): Arg is an array, not a linked list.
79843         * lib/modechange.c: Include stat-macros.h, xalloc.h.
79844         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
79845         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
79846         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
79847         Remove.  This is now stat-macros.h's job.
79848         (talloc): Remove.  All callers replaced by xalloc, so that
79849         our invokers don't have to worry about reporting memory failures.
79850         (make_node_op_equals): Remove.
79851         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
79852         New constants.
79853         (struct mode_change): Moved here from modechange.h.
79854         (mode_append_entry): Remove.
79855         (mode_compile): Remove MASKED_OPS arg, since it encouraged
79856         apps to have incorrect behavior.  Use simpler algorithm for head
79857         and tail.  Don't futz with umask; that's now the job of mode_adjust.
79858         Detect more invalid usages rather than having somewhat-random behavior.
79859         Don't insert an "a=" action, as that leads to incorrect behavior.
79860         (mode_compile, mode_create_from_ref): Return NULL on error instead
79861         of an enum, since now there's only one way to have an error.  All
79862         callers changed.
79863         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
79864         at the correct time.  Simplify calculation of "+u" and its ilk.
79865         Don't mishandle "+X".
79866         (mode_free): Remove "register" and localize decls.
79867         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
79868         (struct mode_change): Move to modechange.c; callers don't
79869         need to see this stuff.
79870         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
79871         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
79872         (mode_change, mode_adjust): Reflect the new signatures noted above.
79873         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
79874         that might redefine system include files.
79875         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
79876         (my_usleep): Use NULL rather than (void *) 0.
79877         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
79878         Use siginterrupt to specify that system calls should be interrupted.
79879         (rpl_nanosleep): Move initialization of suspended closer to call of
79880         my_usleep.
79881         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
79882         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
79883         (desirable_utmp_entry): New function.
79884         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
79885         using x2nrealloc, to simplify logic.
79886         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
79887         size calculation.  Do not assume utmp file is a regular file.
79888         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
79889         (READ_UTMP_CHECK_PIDS): New constant.
79890         * lib/save-cwd.c: Include unistd-safer.h.
79891         (save_cwd): Use fd_safer.
79892         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
79893         [!_LIBC] Include "stat-macros.h" instead.
79894         * lib/unistd-safer.h (fd_safer): New decl.
79895
79896 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79897
79898         * modules/getloadavg (Depends-on): Add unistd-safer.
79899         * modules/getusershell (Depends-on): Add stdio-safer.
79900         * modules/lstat (Depends-on): Remove xalloc.
79901         * modules/mkstemp (Depends-on): Add stat-macros.
79902         * modules/modechange (Depends-on): Remove xstrtol.
79903         Add stat-macros, xalloc.
79904         * modules/save-cwd (Depends-on): Add unistd-safer.
79905         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
79906         * modules/unistd-safer (Files): Add lib/fd-safer.c
79907         (Makefile.am): Remove lib_SOURCES.
79908
79909         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
79910         Remove fcntl-safer; unistd-safer supersedes it.
79911
79912 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79913
79914         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
79915         AC_HEADER_STAT.
79916         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
79917         (gl_PREREQ_CHOWN): Remove.
79918         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
79919         it.  Don't require AC_HEADER_STAT.
79920         (gl_PREREQ_LSTAT): Remove.
79921         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
79922         Don't require AC_HEADER_STAT.
79923         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
79924         (gl_PREREQ_RMDIR): Remove.
79925         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
79926         mention stat-macros.h or AC_HEADER_STAT, since we'll make
79927         the stat-macros module a prerequisite.
79928         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
79929         * m4/filemode.m4 (gl_FILEMODE): Likewise.
79930         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
79931         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
79932         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
79933         variable names.
79934         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
79935         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
79936         variable prefixes.
79937         * m4/fcntl-safer.m4: Remove.
79938         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
79939         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
79940         Invoke gl_PREREQ_FD_SAFER.
79941         (gl_PREREQ_FD_SAFER): New macro.
79942         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
79943         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
79944         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
79945         Remove duplicate call to AC_LIBOBJ(readutmp).
79946         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
79947
79948         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
79949         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
79950
79951 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79952
79953         * MODULES.html.sh (Misc): Add byteswap.
79954
79955 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79956
79957         * modules/getcwd (Depends-on): Add extensions.
79958         * modules/openat (Depends-on): Likewise.
79959
79960 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79961
79962         * modules/byteswap: New file.
79963
79964 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79965
79966         * m4/byteswap.m4: New file.
79967
79968 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79969
79970         * lib/byteswap_.h: New file.
79971
79972 2005-04-25  Karl Berry  <karl@gnu.org>
79973
79974         * m4/gettext.m4: Update from GNU gettext 0.14.4.
79975
79976 2005-04-25  Albert Chin  <china@thewrittenword.com>
79977
79978         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
79979         Toolkit C bug.
79980
79981 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
79982
79983         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
79984         (func_ln_if_changed): Remove forcibly for no error message
79985         in case file does not exist.
79986
79987 2005-04-19  Simon Josefsson  <jas@extundo.com>
79988
79989         * gnulib-tool (Options): Make --symlink mean --symbolic.
79990
79991 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
79992
79993         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
79994
79995 2005-04-16  Simon Josefsson  <jas@extundo.com>
79996
79997         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
79998
79999 2005-04-15  Simon Josefsson  <jas@extundo.com>
80000
80001         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
80002
80003 2005-04-15  Simon Josefsson  <jas@extundo.com>
80004
80005         * gnulib-tool: Rename --symlink to --symbolic.
80006
80007 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
80008
80009         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
80010         symbolic links to files instead of copying/moving.  Add --aux-dir,
80011         specifying directory relative --dir where auxiliary build tools
80012         are placed.
80013
80014 2005-04-14  Bruno Haible  <bruno@clisp.org>
80015
80016         * modules/allocsa (License): Change to LGPL.
80017         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
80018
80019 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
80020
80021         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
80022         that "UTC +1 second" continues to work.  Problem reported
80023         by Dmitry V. Levin.
80024         (relunit_snumber): New rule.
80025         (relunit): Use it.
80026
80027 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
80028
80029         * lib/getdate.y (universal_time_zone_table): New constant.
80030         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
80031         universal_time_zone_table.
80032         (lookup_zone): Prefer universal_time_zone_table to
80033         local_time_zone_table, so that "GMT" time stamps are allowed in
80034         London during the summer.  Problem reported by Ian Abbott.
80035
80036 2005-04-12  Jim Meyering  <jim@meyering.net>
80037
80038         * lib/human.c (humblock): Set *options even when returning due to
80039         xstrtoumax conversion failure.  Thanks to a used-uninitialized
80040         warning from gcc-4.
80041
80042 2005-04-09  Jim Meyering  <jim@meyering.net>
80043
80044         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
80045         -Wuninitialized: initialize tm0.tm_year.
80046
80047 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
80048
80049         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
80050         count, since there's no maximum.  All uses changed.
80051         Add member dsts_seen.
80052         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
80053         not being INT_MAX.
80054         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
80055         Use pc_rels_seen to decide whther a date is absolute.
80056
80057         * lib/getdate.y (number): Don't overwrite year.
80058         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
80059         check.
80060
80061 2005-04-02  Simon Josefsson  <jas@extundo.com>
80062
80063         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
80064         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
80065
80066 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
80067
80068         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
80069         where no absolute path name can be longer than PATH_MAX.
80070
80071 2005-03-27  Jim Meyering  <jim@meyering.net>
80072
80073         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
80074
80075 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
80076
80077         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
80078         "one's complement" -> "ones' complement" in comment, as per Knuth.
80079         "value of type" -> "type or expression" in comment.
80080         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
80081
80082 2005-03-26  Jim Meyering  <jim@meyering.net>
80083
80084         Comment nits.
80085         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
80086         Correct typos: s/or/of/.
80087
80088 2005-03-26  Jim Meyering  <jim@meyering.net>
80089
80090         * modules/check-include-files: Move to ../ and rename to...
80091         * check-module: ...this.
80092
80093 2005-03-25  Jim Meyering  <jim@meyering.net>
80094
80095         * modules/xvasprintf (Files): Add xalloc.h.
80096
80097 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
80098
80099         * modules/gettext (Files): config/config.rpath ->
80100         build-aux/config.rpath
80101         * modules/iconv (Files): Likewise.
80102         Problem reported by Oskar Liljeblad.
80103
80104 2005-03-23  Jim Meyering  <jim@meyering.net>
80105
80106         * modules/check-include-files: New script to check for
80107         missing dependencies, multiple includes, etc.
80108
80109         * modules/c-strtold (Depends-on): Add xalloc.
80110         * modules/c-strtod (Depends-on): Add xalloc.
80111         * modules/hash (Depends-on): Add xalloc.
80112         (Files): Remove lib/xalloc.h.
80113
80114         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
80115         * modules/userspec (Files): Add lib/inttostr.h.
80116
80117 2005-03-23  Jim Meyering  <jim@meyering.net>
80118
80119         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
80120
80121 2005-03-22  Jim Meyering  <jim@meyering.net>
80122
80123         * modules/stat-macros: New module.
80124         * modules/canonicalize, modules/euidaccess, modules/file-type,
80125         * modules/filemode, modules/lchown, modules/makepath,
80126         * modules/rmdir, modules/stat: Depend on new stat-macros module
80127         rather than listing lib/stat-macros.h manually.
80128         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
80129
80130 2005-03-22  Jim Meyering  <jim@meyering.net>
80131
80132         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
80133
80134 2005-03-22  Bruno Haible  <bruno@clisp.org>
80135
80136         * config/srclist.txt: Replace target directory 'config' with
80137         'build-aux'.
80138         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
80139         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
80140         ../build-aux/.
80141
80142 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
80143
80144         * modules/chdir-long (Depends-on): Add mempcpy.
80145
80146         * modules/acl, modules/backupfile, modules/c-strtod,
80147         modules/c-strtold, modules/canon-host, modules/canonicalize,
80148         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
80149         modules/exclude, modules/exitfail, modules/file-type,
80150         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
80151         modules/getdate, modules/getline, modules/getpagesize,
80152         modules/getpass, modules/getugroups, modules/group-member,
80153         modules/hard-locale, modules/hash, modules/human, modules/idcache,
80154         modules/inttostr, modules/long-options, modules/makepath,
80155         modules/md5, modules/memcasecmp, modules/memcoll,
80156         modules/modechange, modules/mountlist, modules/path-concat,
80157         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
80158         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
80159         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
80160         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
80161         modules/strftime, modules/strndup, modules/strverscmp,
80162         modules/timespec, modules/unlocked-io, modules/userspec,
80163         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
80164         modules/yesno:
80165         Remove lib_SOURCES line from Makefile.am section, as this is now
80166         done automatically by the corresponding Autoconf macro.
80167
80168 2005-03-21  Jim Meyering  <jim@meyering.net>
80169
80170         Changes imported from coreutils.
80171
80172         * lib/cycle-check.c: Don't include xalloc.h.
80173
80174         * lib/path-concat.c: Don't include assert.h.
80175         (path_concat): Remove assertion that would have triggered
80176         for ABASE starting with more than one slash.
80177         Reported by Andreas Schwab.
80178
80179         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
80180         properly when ABASE is an absolute file name.
80181         Correct the description of this function.
80182         Include <assert.h>.
80183         Add an assertion and a test driver.
80184         This fixes a bug introduced on 2004-07-02.
80185         Andreas Schwab reported the resulting failure of cp --parents:
80186         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
80187
80188 2005-03-21  Jim Meyering  <jim@meyering.net>
80189
80190         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
80191         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
80192
80193 2005-03-21  Jim Meyering  <jim@meyering.net>
80194         and  Paul Eggert  <eggert@cs.ucla.edu>
80195
80196         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
80197         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
80198         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
80199         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
80200         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
80201         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
80202         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
80203         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
80204         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
80205         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
80206         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
80207         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
80208         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
80209         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
80210         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
80211         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
80212         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
80213         for these modules.
80214
80215 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
80216
80217         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
80218         (which shouldn't happen), generate nothing instead of returning 0
80219         immediately, so that nstrftime (NULL, ...) doesn't return 0.
80220
80221 2005-03-16  Bruno Haible  <bruno@clisp.org>
80222
80223         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
80224         HAVE_LONGLONG_64BIT.
80225
80226 2005-03-16  Bruno Haible  <bruno@clisp.org>
80227
80228         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
80229         HAVE_LONGLONG_64BIT.
80230
80231 2005-03-16  Bruno Haible  <bruno@clisp.org>
80232
80233         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
80234         HAVE_LONGLONG_64BIT.
80235
80236 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
80237
80238         * lib/strftime.c (my_strftime): Prepend space to format so that we can
80239         reliably distinguish strftime failure from empty output on POSIX
80240         hosts.
80241
80242 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
80243
80244         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
80245         (iconv_string): Don't guess a size-zero buffer, as that might cause
80246         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
80247         result would be 'too large', where 'too large' is (heuristically)
80248         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
80249         overflow concerns.  This will prevent some unwanted malloc failures
80250         when the inputs are very large.
80251
80252 2005-03-15  Karl Berry  <karl@gnu.org>
80253
80254         * config/srclist.txt (config.rpath): from gettext.
80255         * config/config.rpath: update.
80256
80257 2005-03-15  Bruno Haible  <bruno@clisp.org>
80258
80259         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
80260         to 'negate'.
80261
80262         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
80263         variable.
80264
80265         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
80266         results.
80267
80268 2005-03-14  Simon Josefsson  <jas@extundo.com>
80269
80270         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
80271         <fx@gnu.org>.
80272
80273 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
80274
80275         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
80276         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
80277         intprops.h.
80278         * lib/strtol.c: Likewise.
80279
80280 2005-03-14  Jim Meyering  <jim@meyering.net>
80281
80282         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
80283         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
80284         to be nonzero so that we (and caller) can detect the difference
80285         between a valid zero-length expansion and an error return, even
80286         when the underlying strftime fails before writing anything into
80287         that location.
80288
80289 2005-03-14  Bruno Haible  <bruno@clisp.org>
80290
80291         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
80292         Update from GNU gettext 0.14.3.
80293
80294 2005-03-10  Jim Meyering  <jim@meyering.net>
80295
80296         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
80297
80298 2005-03-10  Jim Meyering  <jim@meyering.net>
80299
80300         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
80301         so that this module works on systems without fchdir.
80302
80303 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
80304
80305         Factor int-properties macros into a single file, except for
80306         glibc-related files.
80307         * lib/intprops.h: New file.
80308         * lib/getloadavg.c: Include it instead of limits.h.
80309         (INT_STRLEN_BOUND): Remove.
80310         * lib/human.c: Include intprops.h.
80311         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
80312         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
80313         302/1000.
80314         * lib/inttostr.h: Include intprops.h instead of limits.h.
80315         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
80316         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
80317         for consistency with intprops.h.
80318         (time_t_is_integer, twos_complement_arithmetic): Use them.
80319         * lib/sig2str.h: Include <signal.h>, intprops.h.
80320         (INT_STRLEN_BOUND): Remove.
80321         * lib/strftime.c (TYPE_SIGNED): Remove.
80322         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
80323         * lib/strtol.c: Adjust comments to match intprops.h.
80324         * lib/userspec.c: Include intprops.h.
80325         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
80326         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
80327         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
80328         instead of rolling our own expressions.
80329         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
80330
80331         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
80332         instead of int.
80333         (my_strftime): Do not mishandle years close to INT_MAX, by doing
80334         the right thing even if adding 1900 would overflow.  Similarly
80335         for tm_mon + 1 and tm_yday + 1.
80336         Make %Y always equivalent to %C%y, and similarly for %G and %g.
80337         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
80338         (DO_SIGNED_NUMBER): New macro.
80339         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
80340
80341 2005-03-07  Bruno Haible  <bruno@clisp.org>
80342
80343         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
80344
80345 2005-03-07  Bruno Haible  <bruno@clisp.org>
80346
80347         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
80348
80349 2005-03-04  Derek R. Price  <derek@ximbiot.com>
80350
80351         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
80352         (func_import): Only replace files via --import when they have actually
80353         changed.
80354
80355 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80356
80357         * m4/mmap-anon.m4: New file.
80358         * m4/pagealign_alloc.m4: New file.
80359
80360 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80361             Bruno Haible  <bruno@clisp.org>
80362
80363         * modules/pagealign_alloc: New file.
80364         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
80365
80366 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80367             Bruno Haible  <bruno@clisp.org>
80368
80369         * lib/pagealign_alloc.h: New file.
80370         * lib/pagealign_alloc.c: New file.
80371
80372 2005-03-03  Bruno Haible  <bruno@clisp.org>
80373
80374         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
80375         Use an all-permissive copyright notice, recommended by RMS.
80376
80377 2005-03-02  Bruno Haible  <bruno@clisp.org>
80378
80379         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
80380         of AIX, the replacement has to be done only after <string.h> is
80381         included, therefore not in config.h. stpncpy.h does the replacement,
80382         and stpncpy.c uses it.
80383
80384 2005-03-02  Bruno Haible  <bruno@clisp.org>
80385
80386         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
80387         stpncpy.c uses it.
80388
80389 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80390
80391         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
80392         The workaround isn't strictly needed for POSIX conformance, and
80393         it's too much of a pain to configure and maintain.  We'll ask
80394         people to fix their kernels instead.
80395         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
80396         (NANOSLEEP_BUG_WORKAROUND): Remove.
80397         (xnanosleep): Remove the workaround.
80398
80399 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80400
80401         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
80402         Reported by Derek Price.
80403         (Include): Add "timespec.h".
80404
80405         * modules/xnanosleep (Depends-on): Remove gethrxtime.
80406
80407 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80408
80409         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
80410         to detect nanosleep bug.
80411
80412 2005-03-01  Bruno Haible  <bruno@clisp.org>
80413
80414         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
80415
80416 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
80417
80418         * modules/gethrxtime: New file.
80419         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
80420         (Depends-on): Add gethrxtime.
80421         (configure.ac): Add gl_XNANOSLEEP.
80422         (Makefile.am): Remove lib_SOURCES line.
80423
80424 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
80425
80426         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
80427         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
80428
80429 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
80430
80431         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
80432         * lib/timespec.h (gettime): Return void, since it always
80433         succeeds now.  All uses changed.
80434         * lib/gettime.c (gettime): Likewise.
80435         [HAVE_NANOTIME]: Prefer nanotime.
80436         Assume gettimeofday succeeds, as POSIX requires.
80437         Assime time () succeeds, since other code already does.
80438         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
80439         (timespec_subtract): Remove.
80440         (NANOSLEEP_BUG_WORKAROUND): New constant.
80441         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
80442         things considerably.  Use it only on GNU/Linux hosts, since the
80443         workaround shouldn't be needed elsewhere.
80444
80445 2005-02-24  Bruno Haible  <bruno@clisp.org>
80446
80447         * modules/gettext (Files): Add m4/glibc2.m4.
80448
80449 2005-02-24  Bruno Haible  <bruno@clisp.org>
80450
80451         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
80452         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
80453         * m4/progtest.m4:
80454         Update from GNU gettext 0.14.2.
80455         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
80456
80457 2005-02-24  Bruno Haible  <bruno@clisp.org>
80458
80459         * lib/localcharset.c: Update from GNU gettext 0.14.2.
80460         * lib/config.charset: Update from GNU gettext 0.14.2.
80461
80462 2005-02-24  Bruno Haible  <bruno@clisp.org>
80463
80464         * lib/gettext.h: Update from GNU gettext 0.14.2.
80465
80466 2005-02-23  Simon Josefsson  <jas@extundo.com>
80467
80468         * m4/iconvme.m4: New file.
80469
80470 2005-02-23  Jim Meyering  <jim@meyering.net>
80471
80472         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
80473         change.
80474         Thanks to Bruno Haible for catching it.
80475
80476 2005-02-22  Simon Josefsson  <jas@extundo.com>
80477
80478         * modules/iconvme: New file.
80479
80480         * MODULES.html.sh: Add iconvme.
80481
80482 2005-02-22  Simon Josefsson  <jas@extundo.com>
80483
80484         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
80485
80486 2005-02-22  Simon Josefsson  <jas@extundo.com>
80487
80488         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
80489
80490 2005-02-22  Jim Meyering  <jim@meyering.net>
80491
80492         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
80493         s/ifndef/ifdef/.
80494
80495 2005-02-20  Neil Conway  <neilc@samurai.com>
80496
80497         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
80498         returned by OSX/Darwin if the specified buffer is not large
80499         enough for the hostname.
80500
80501 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80502
80503         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
80504         pass it to _help, otherwise the latter coredumps trying to
80505         dereference state.root_argp.
80506
80507 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80508
80509         * modules/chdir-long (Depends-on): Add memrchr.
80510         * modules/memrchr (Files): Add lib/memrchr.h.
80511         (Include): "memrchr.h".
80512
80513 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80514
80515         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
80516
80517 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80518
80519         * lib/memrchr.h: New file.
80520         * lib/chdir-long.c: Include it.
80521         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
80522         Don't bother including stddef.h.
80523
80524 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
80525
80526         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
80527         inclusion.
80528         Include <sys/types.h>, for dev_t.
80529         (ME_DUMMY, ME_REMOTE): Move from here....
80530         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
80531         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
80532         Dmitry V. Levin.
80533         Include mountlist.h first, to test the interface.
80534
80535 2005-01-29  Bruno Haible  <bruno@clisp.org>
80536
80537         * lib/progname.c (program_name): Initialize.
80538         Needed when linking statically on MacOS X.
80539
80540 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
80541
80542         Sync from coreutils.
80543         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
80544         (Depends-on): Add c-strtod.
80545         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
80546
80547 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
80548
80549         Sync from coreutils.
80550         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
80551
80552         Remove files that are specific to coreutils.
80553         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
80554
80555 2005-01-28  Bruno Haible  <bruno@clisp.org>
80556
80557         * modules/javacomp: New file.
80558         * MODULES.html.sh (Java): Add javacomp.
80559
80560 2005-01-28  Bruno Haible  <bruno@clisp.org>
80561
80562         * m4/javacomp.m4: New file, from GNU gettext.
80563
80564 2005-01-28  Bruno Haible  <bruno@clisp.org>
80565
80566         * lib/javacomp.sh.in: New file, from GNU gettext.
80567         * lib/javacomp.h: New file, from GNU gettext.
80568         * lib/javacomp.c: New file, from GNU gettext.
80569
80570 2005-01-26  Simon Josefsson  <jas@extundo.com>
80571
80572         * lib/gai_strerror.c: Use GPL in header.
80573
80574 2005-01-26  Bruno Haible  <bruno@clisp.org>
80575
80576         * modules/javaexec: New file.
80577         * MODULES.html.sh (Java): Add javaexec.
80578
80579 2005-01-26  Bruno Haible  <bruno@clisp.org>
80580
80581         * m4/javaexec.m4: New file, from GNU gettext.
80582
80583 2005-01-26  Bruno Haible  <bruno@clisp.org>
80584
80585         * lib/javaexec.sh.in: New file, from GNU gettext.
80586         * lib/javaexec.h: New file, from GNU gettext.
80587         * lib/javaexec.c: New file, from GNU gettext.
80588
80589 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80590
80591         * modules/lchown (Depends-on): Remove lchown.h
80592
80593 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80594
80595         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
80596         must be defined if the header file was not found, in order
80597         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
80598
80599 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80600
80601         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
80602         initializers for struct pentry_state.
80603         (__argp_error): Check return value of __asprintf
80604         (__argp_failure): Translate error message
80605
80606         * lib/argp-parse.c: Removed braces around the expansion of N_()
80607
80608 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80609
80610         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
80611         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
80612         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
80613         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
80614         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
80615         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
80616         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
80617         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
80618         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
80619         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
80620         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
80621         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
80622         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
80623         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
80624         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
80625         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
80626         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
80627         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
80628         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
80629         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
80630         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
80631         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
80632         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
80633         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
80634         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
80635         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
80636         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
80637         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
80638         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
80639         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
80640         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
80641         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
80642         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
80643         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
80644         xstrtol.m4, xstrtoumax.m4, yesno.m4:
80645         Use an all-permissive copyright notice, recommended by RMS.
80646
80647 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
80648
80649         * modules/chdir-long (Depends-on): Remove mempcpy.
80650
80651 2005-01-21  Jim Meyering  <jim@meyering.net>
80652
80653         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
80654         same value as for Solaris 9.
80655
80656         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
80657         component length.  This included changing the parameter to be
80658         of type `char *' rather than `char const *'.
80659         * lib/chdir-long.h (chdir_long): Update prototype.
80660
80661         * lib/openat.c (fdopendir, fstatat): New functions.
80662         * lib/openat.h: Include headers required for use of DIR and struct
80663         stat.
80664         [AT_SYMLINK_NOFOLLOW]: Define.
80665         (fdopendir, fstatat): Add prototypes.
80666
80667 2005-01-21  Bruno Haible  <bruno@clisp.org>
80668
80669         * modules/classpath: New file.
80670         * MODULES.html.sh (Java): Add classpath.
80671
80672 2005-01-21  Bruno Haible  <bruno@clisp.org>
80673
80674         * lib/classpath.h: New file, from GNU gettext.
80675         * lib/classpath.c: New file, from GNU gettext.
80676
80677 2005-01-20  Simon Josefsson  <jas@extundo.com>
80678
80679         * modules/version-etc-fsf: New file.
80680
80681 2005-01-20  Simon Josefsson  <jas@extundo.com>
80682
80683         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
80684         * lib/version-etc.c: Remove version_etc_copyright.
80685         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
80686         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
80687
80688 2005-01-20  Simon Josefsson  <jas@extundo.com>
80689
80690         * lib/base64.h (isbase64): Add.
80691
80692         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
80693         using a unsigned prototype, don't inline.
80694         (base64_decode): Use it.
80695
80696 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80697
80698         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
80699         it.
80700
80701 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80702
80703         * lib/save-cwd.c (save_cwd): Remove code to support the case
80704         where fchdir is missing or flaky.
80705
80706 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80707
80708         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
80709
80710 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
80711
80712         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
80713         AC_LIBSOURCES now does this.
80714         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
80715         with new ullong_max module.
80716
80717 2005-01-19  Bruno Haible  <bruno@clisp.org>
80718
80719         * modules/sh-quote: New file.
80720         * MODULES.html.sh (Executing programs): Add sh-quote.
80721
80722 2005-01-19  Bruno Haible  <bruno@clisp.org>
80723
80724         * lib/sh-quote.h: New file, from GNU gettext.
80725         * lib/sh-quote.c: New file, from GNU gettext.
80726
80727 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
80728
80729         Merge from coreutils.
80730         * m4/ullong_max.m4: New file.
80731         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
80732         (gl_MACROS): Assume localeconv exists.
80733
80734 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
80735
80736         Merge changes from coreutils, as described below in several
80737         changelogs dated today.
80738
80739         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
80740         (O_DIRECTORY): Remove; not needed here, since "." must be
80741         a directory.  All uses removed.
80742         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
80743         universal on Suns, and we also need to test for IRIX.
80744         Revamp code to use 'if' rather than '#if'.
80745         Avoid unnecessary comparison of cwd->desc to 0.
80746
80747         * lib/utimens.c (futimens): Robustify the previous patch, by checking
80748         for known valid error numbers rather than observed invalid ones.
80749
80750 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
80751
80752         * modules/ullong_max: New file.
80753
80754         * modules/chdir-long, modules/openat: New files.
80755         * modules/save-cwd (Depends-on): Depend on chdir-long.
80756         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
80757
80758 2005-01-18  Jim Meyering  <jim@meyering.net>
80759
80760         Merge from coreutils.
80761         * m4/chdir-long.m4, m4/openat.m4: New files.
80762         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
80763         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
80764         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
80765         is sane and DOES follow symlinks.  Besides, testing 20 different
80766         systems found no broken chown implementations.
80767         Prompted by a change in rsync's copy of this macro.
80768         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
80769
80770         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
80771
80772         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
80773         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
80774         NULL-means-set-to-current-time semantics.
80775         Remove temporary file immediately, rather than waiting
80776         for configure's at-exit trap code to do it.
80777
80778 2005-01-18  Jim Meyering  <jim@meyering.net>
80779
80780         * lib/version-etc.c (version_etc_copyright): Update copyright date.
80781
80782         * lib/utimens.c (futimens): Account for the fact that futimes
80783         can also fail with errno == ENOSYS or errno == ENOENT.
80784         Patch from Dmitry V. Levin.
80785
80786         Change the name of the robust chdir function from chdir to chdir_long.
80787         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
80788         (restore_cwd): Use chdir_long, not chdir.
80789         * lib/chdir-long.c: Renamed from chdir.c.
80790         * lib/chdir-long.h: Renamed from chdir.h.
80791         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
80792         Hurd.
80793
80794 2005-01-18  Bruno Haible  <bruno@clisp.org>
80795
80796         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
80797         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
80798         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
80799         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
80800         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
80801         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
80802         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
80803         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
80804         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
80805         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
80806         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
80807         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
80808         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
80809         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
80810         Use an all-permissive copyright notice, recommended by RMS.
80811
80812 2005-01-18  Bob Proulx  <bob@proulx.com>
80813
80814         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
80815         simplify offsetof() macro construct to avoid compile failure with
80816         native HP-UX 11.0 ANSI C compiler.
80817
80818 2005-01-17  Bruno Haible  <bruno@clisp.org>
80819
80820         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
80821         redundant because stpncpy.m4 takes care of it.
80822
80823 2005-01-17  Bruno Haible  <bruno@clisp.org>
80824
80825         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
80826
80827 2005-01-17  Bruno Haible  <bruno@clisp.org>
80828
80829         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
80830         used.
80831
80832 2005-01-17  Bruno Haible  <bruno@clisp.org>
80833
80834         * lib/fwriteerror.h (fwriteerror): Change specification to include
80835         fclose.
80836         * lib/fwriteerror.c: Include <stdbool.h>.
80837         (fwriteerror): At the end, close the file stream. Record whether
80838         stdout was already closed.
80839
80840 2005-01-17  Bruno Haible  <bruno@clisp.org>
80841
80842         * lib/execute.c (environ): Declare if needed.
80843         * lib/pipe.c (environ): Likewise.
80844         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
80845
80846 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80847
80848         * modules/argp: Depend on vsnprintf
80849
80850 2005-01-10  Jim Meyering  <jim@meyering.net>
80851
80852         * modules/closeout (Depends-on): Add atexit.
80853
80854 2005-01-06  Bruno Haible  <bruno@clisp.org>
80855
80856         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
80857
80858 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80859
80860         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
80861         definitions to be after all include files, to avoid collisions.
80862         Problem reported by Bob Proulx.
80863
80864 2005-01-04  Jim Meyering  <jim@meyering.net>
80865
80866         Changes imported from coreutils.
80867         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
80868         as the mkstemp template, use a temporary directory and an
80869         8.3-friendly template to avoid trouble on systems like DJGPP.
80870         Reported by Juan M. Guerrero via Stepan Kasal.
80871         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
80872         close. Remove the temporary directory right away, rather than waiting
80873         for configure's at-exit trap code to do it.
80874         Suggestion from Stepan Kasal.
80875
80876 2005-01-01  Simon Josefsson  <jas@extundo.com>
80877
80878         * gnulib-tool: Print #include directives when --import'ing.
80879
80880 2004-12-28  Simon Josefsson  <jas@extundo.com>
80881
80882         * tests/test-base64.c: Include required header files.  Remove
80883         unused variables.
80884
80885 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
80886
80887         * modules/error (Depends-on): Remove gettext.
80888
80889 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
80890
80891         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
80892         not needed.  This removes a dependency on the gettext module.
80893         [defined _LIBC]: Do not include <libintl.h>; not needed.
80894
80895 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
80896
80897         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
80898         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
80899
80900 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
80901
80902         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
80903         HAVE_DECL_STRTOLD.
80904
80905 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
80906
80907         * modules/getdate (Depends-on): Remove alloca-opt.
80908
80909 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
80910
80911         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
80912
80913 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
80914
80915         * lib/argp-parse.c: Include <stddef.h>.
80916         (alignof, alignto): New macros.
80917         (parser_init): Don't assume that void * is aligned sufficiently
80918         for struct option.
80919
80920         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
80921         need to extend the stack.
80922         (YYINITDEPTH): New macro, so that the initial stack isn't overly
80923         large.
80924
80925 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80926
80927         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
80928
80929 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
80930
80931         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
80932         (2004-10-24) change.  Apparently this was a false alarm.
80933
80934         * modules/getdate: Depend on alloca-opt, not alloca.
80935
80936 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
80937
80938         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
80939         Remove now-obsolete comment about AIX.
80940         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
80941         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
80942         (YYMAXDEPTH): New macro.
80943
80944 2004-12-18  Simon Josefsson  <jas@extundo.com>
80945
80946         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
80947
80948 2004-12-18  Bruno Haible  <bruno@clisp.org>
80949
80950         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
80951
80952 2004-12-18  Bruno Haible  <bruno@clisp.org>
80953
80954         * lib/fatal-signal.c (fatal_signals): Make non-const.
80955         (init_fatal_signals): New function.
80956         (uninstall_handlers, install_handlers): Ignore signals that were set to
80957         SIG_IGN.
80958         (at_fatal_signal): Call init_fatal_signals.
80959         (init_fatal_signal_set): Likewise. Ignore signals that were set to
80960         SIG_IGN.
80961         Reported by Paul Eggert.
80962
80963 2004-12-18  Bruno Haible  <bruno@clisp.org>
80964
80965         * doc/alloca.texi: New file.
80966         * doc/alloca-opt.texi: New file.
80967
80968 2004-12-17  Jim Meyering  <jim@meyering.net>
80969
80970         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
80971         Otherwise, install-sh could exit with improper exit status when
80972         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
80973
80974 2004-12-16  Simon Josefsson  <jas@extundo.com>
80975
80976         * tests/test-base64.c: Add license.
80977
80978 2004-12-15  Stepan Kasal  <address@hidden>
80979
80980         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
80981
80982 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
80983
80984         * modules/getcwd (Files): Add m4/d-ino.m4.
80985         Suggested by Mark D. Baushke.
80986
80987 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
80988
80989         * lib/getdate.y (textint): New member "negative".
80990         (time_zone_hhmm): New function.
80991         Expect 14 shift-reduce conflicts, not 13.
80992         (o_colon_minutes): New rule.
80993         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
80994         (yylex): Set the "negative" member of signed numbers.
80995
80996 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
80997
80998         * doc/getdate.texi (Time of day items, Time zone items):
80999         Describe new formats +00:00, UTC+00:00.
81000
81001 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
81002
81003         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
81004         spurious "-l"s.  Problem reported by Stepan Kasal.
81005
81006 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
81007
81008         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
81009         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
81010
81011 2004-12-04  Simon Josefsson  <jas@extundo.com>
81012
81013         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
81014         Vandoorselaere <yoann@prelude-ids.org>.
81015
81016 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
81017
81018         Changes imported from coreutils.
81019         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
81020         exist.
81021         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
81022
81023 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
81024
81025         Changes imported from coreutils.
81026         * lib/hard-locale.c: Assume <locale.h> exists.
81027         Include "strdup.h".
81028         (GLIBC_VERSION): New macro.
81029         (hard_locale): Assume setlocale exists.
81030         Rewrite to avoid #ifdef.
81031         Use strdup rather than malloc + strcpy.
81032         * lib/human.c: Assume <locale.h> exists.
81033         (human_readable): Assume localeconv exists.
81034
81035 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
81036
81037         * modules/hard-locale (Depends-on): Add strdup.
81038
81039 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
81040
81041         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
81042         convert T2, not T.  (Imported from libc.)
81043
81044 2004-11-30  Simon Josefsson  <jas@extundo.com>
81045
81046         * modules/restrict (License): Change to LGPL.
81047
81048 2004-11-30  Simon Josefsson  <jas@extundo.com>
81049
81050         * m4/restrict.m4: Add copyright and copying conditions.
81051
81052 2004-11-30  Simon Josefsson  <jas@extundo.com>
81053
81054         * m4/base64.m4: New file.
81055
81056 2004-11-30  Simon Josefsson  <jas@extundo.com>
81057
81058         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
81059         base64.
81060
81061         * tests/test-base64.c: New file.
81062
81063         * modules/base64: New file.
81064
81065 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
81066
81067         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
81068         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
81069
81070         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
81071
81072 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
81073
81074         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
81075         (__getcwd.c): Don't restore errno; glibc doesn't.
81076         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
81077         first, falling back to our code only if its results look suspicious.
81078         Ensure that the resulting buffer is only as large as necessary.
81079
81080         * lib/readutmp.c: Include readutmp.h first.
81081         Include <errno.h>, since readutmp.h no longer does that.
81082         * lib/readutmp.h: Don't include <errno.h>,
81083         <sys/param.h>, <time.h>; not needed to establish interface.
81084         (errno): Remove decl.
81085         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
81086         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
81087         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
81088
81089 2004-11-28  Simon Josefsson  <jas@extundo.com>
81090
81091         * lib/base64.h, base64.c: New file.
81092
81093 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
81094
81095         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
81096
81097 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
81098
81099         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
81100         (Depends-on): Remove pathmax, same.  Add mempcpy.
81101         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
81102         (Makefile.am): Append getcwd.h to lib_SOURCES.
81103         (Include): Add getcwd.h.
81104         (Maintainer): Change from Jim Meyering to "all, glibc",
81105         since getdate now uses intended-for-glibc code.
81106         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
81107         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
81108
81109 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
81110
81111         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
81112         HP's ANSI C compiler.
81113         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
81114         Declaring int functions causes warnings on some modern systems and
81115         shouldn't be needed to compile on ancient ones.
81116         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
81117         defined.
81118
81119         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
81120         with the following changes.
81121         (__set_errno): Parenthesize properly.
81122         Include <stdbool.h>.
81123         (MIN, MAX, MATCHING_INO): New macros.
81124         (__getcwd): Define with prototype, not K&R form.
81125         Use heuristics to allocate default buffer on stack if possible.
81126         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
81127         behavior, and to avoid the PATH_MAX limit when computing
81128         ../../../../...
81129         Use MATCHING_INO to compare inode number to file.
81130         Check for arithmetic overflow in size calculations.
81131         Fix bug in reallocation of dot array that caused getcwd to fail
81132         on directories nested deeper than 75.
81133         Be more careful about saving errno on error.
81134         Do not use realloc; use only free+malloc, as this is a bit
81135         more flexible and avoids a needless copy operation.
81136         Do not inspect st_dev and st_ino for symbolic links; POSIX
81137         doesn't specify the latter.
81138         Check for closedir errors.
81139         Avoid needless casts.
81140         Use "#ifdef weak_alias" around weak_alias, to be like other
81141         glibc code.
81142         The following changes to getcwd.c have effect only when used in
81143         gnulib; they have no effect inside glibc proper.
81144         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
81145         as alloca isn't used.
81146         (alloca, __alloca): Likewise.
81147         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
81148         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
81149         unconditionally, as gnulib assumes C89 or better.
81150         Do not include <sys/param.h>.
81151         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
81152         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
81153         better.
81154         (NULL) [!defined NULL]: Remove; we assume C89 or better.
81155         Include <dirent.h> in a way that is compatible with modern Autoconf.
81156         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
81157         New macros, if not already defined.
81158         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
81159         Use "_LIBC", not "defined _LIBC", for consistency.
81160         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
81161         a mempcpy module.
81162         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
81163         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
81164         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
81165         credit only to Jim Meyering and adjust the copyright dates.
81166         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
81167         <stdlib.h>, <unistd.h>, "pathmax.h".
81168         Instead, include "xgetcwd.h" (first) and "getcwd.h".
81169         (INITIAL_BUFFER_SIZE): Remove.
81170         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
81171
81172 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
81173
81174         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
81175         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
81176         Use the _ONCE methods, for efficiency.
81177         Check for fcntl.h.  In test program, include <errno.h>
81178         and <fcntl.h> if available.  Remove old K&R cruft from
81179         test program.  Check for common errors in GNU/Linux,
81180         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
81181         don't do AC_LIBOBJ, as that's getcwd.m4's job.
81182         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
81183         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
81184         name accordingly.
81185         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
81186         accommodate new getcwd.c.
81187         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
81188         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
81189         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
81190         that's all we need now.
81191
81192 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81193
81194         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
81195         argp-parse.c depends on getopt internals, that means we should
81196         always use our getopt, to be on the safe side.
81197         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
81198         order not to spoil the result of an eventual previous invocation
81199         of gl_GETOPT_SUBSTITUTE.
81200
81201 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81202
81203         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
81204         redefinition warnings. To avoid them, include the defines
81205         in `#if !defined __need_getopt ... #endif'. The only place
81206         where __getopt_argv_const is used is in definitions
81207         of getopt_long and getopt_long_only below, which are as well
81208         protected by `#ifndef __need_getopt'.
81209         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
81210         __need_getopt after including <stdio.h> and <unistd.h> These
81211         headers might have defined it.
81212
81213 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
81214
81215         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
81216
81217 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
81218
81219         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
81220         (futimens): New function, which uses futimes if available.
81221         (futimens, utimens): Support timespec==NULL, with same semantics
81222         as utime and utimens.
81223         * lib/utimens.h (futimens): New decl.
81224
81225 2004-11-23  Jim Meyering  <jim@meyering.net>
81226
81227         * lib/getopt_.h: Remove trailing blanks.
81228
81229 2004-11-23  Jim Meyering  <jim@meyering.net>
81230
81231         * lib/__fpending.c: Add comment.
81232
81233 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
81234
81235         * modules/canonicalize (Depends-on): Add xreadlink.
81236         Problem reported by James Youngman.
81237
81238 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
81239
81240         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
81241         New macros.
81242         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
81243         optopt): Use them instead of invoking ## directly; otherwise, the
81244         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
81245
81246 2004-11-19  Bruno Haible  <bruno@clisp.org>
81247
81248         * lib/strtok_r.c: Move comments from here...
81249         * lib/strtok_r.h: ... to here.
81250
81251 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
81252
81253         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
81254         implementations that mishandle size_t overflow.
81255
81256 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
81257
81258         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
81259         might fail.  Problem reported by Yoann Vandoorselaere.
81260         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
81261         implementations that mishandle size_t overflow.
81262
81263 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81264
81265         * modules/canon-host (Depends-on): Add strdup.
81266
81267 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81268
81269         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
81270
81271 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81272
81273         * lib/canon-host.c: Include "strdup.h".
81274         (canon_host): Use getaddrinfo if available, so that IPv6 works.
81275         Use strdup instead of malloc/strcpy to duplicate strings.
81276
81277         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
81278         (human_space_before_unit): New constant.
81279         * lib/human.c (human_readable): Support it.
81280
81281         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
81282         (xgetcwd): Set errno correctly when failing.
81283         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
81284         the failure is actually due to a PATH_MAX problem.
81285
81286         Further getopt changes to make it more likely that glibc will
81287         buy the changes back.
81288         * lib/getopt.c (POSIXLY_CORRECT): New constant.
81289         (getopt): Use it, so to preserve glibc semantic
81290         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
81291         when compiling for libc.
81292         * lib/getopt_.h (__getopt_argv_const): Bring it back.
81293         (getopt_long, getopt_long_only): Use it.
81294
81295         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
81296         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
81297         (getopt): Argv is now char * const *, as per standard.
81298         (_getopt_internal_r, _getopt_internal): Argv is now char **,
81299         not char *__getopt_argv_const *.
81300         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
81301         _getopt_long_only_r): Likewise.
81302         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
81303         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
81304         _getopt_long_r, _getopt_long_only_r): Likewise.
81305         * lib/getopt_.h (__getopt_argv_const): Remove.
81306         (getopt): Argv is now char * const *, as per standard.
81307
81308         * lib/getdate.y (tORDINAL): New token.
81309         (day, relunit): Allow it for relative times.
81310         (relative_time_table): Use tORDINAL for ordinals.
81311
81312 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81313
81314         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
81315         Document that "second" isn't allowed as an ordinal number.
81316
81317 2004-11-16  Jim Meyering  <jim@meyering.net>
81318
81319         * modules/closeout (Depends-on): Add fpending.
81320
81321 2004-11-15  Jim Meyering  <jim@meyering.net>
81322
81323         * lib/closeout.c: Include "__fpending.h" once again.
81324         Include <stdbool.h>.
81325         (close_stdout): Don't fail just because stdout was closed initially,
81326         since some programs don't write to stdout in the normal course of
81327         operation (other than --version and --help), and we don't want this
81328         function to make e.g. `touch file >&-' fail.
81329         But do fail if it was closed and someone has tried to write to it.
81330         E.g., `printf foo >&-' must fail.
81331
81332 2004-11-13  Jim Meyering  <jim@meyering.net>
81333
81334         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
81335
81336 2004-11-12  Simon Josefsson  <jas@extundo.com>
81337
81338         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
81339         small doc fix is still pending.
81340
81341 2004-11-11  Simon Josefsson  <jas@extundo.com>
81342
81343         * modules/strtok_r: New file.
81344
81345         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81346         strtok_r.
81347
81348 2004-11-11  Simon Josefsson  <jas@extundo.com>
81349
81350         * m4/strtok_r.m4: New file.
81351
81352         * m4/getopt.m4: Replace opterr.
81353
81354 2004-11-11  Simon Josefsson  <jas@extundo.com>
81355
81356         * lib/strtok_r.h, strtok_r.c: New file.
81357
81358 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
81359
81360         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
81361         of replacing opterr, getopt, etc.  This should handle the
81362         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
81363
81364 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
81365
81366         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
81367         we can stop lying to compilers about the constness of argv when we
81368         are compiled outside glibc.
81369         (getopt, getopt_long, getopt_long_only): Use it.
81370         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
81371         _getopt_internal, getopt): Likewise.
81372         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
81373         _getopt_long_only_r): Likewise.
81374         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
81375         _getopt_long_r, _getopt_long_only_r): Likewise.
81376
81377         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
81378         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
81379         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
81380         the other external symbols.
81381         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
81382         declaration, since the above renaming now works around collisions.
81383
81384 2004-11-11  Jim Meyering  <jim@meyering.net>
81385
81386         * lib/linebreak.c: Remove trailing blanks.
81387         * lib/alloca_.h: Likewise.
81388         * lib/acosl.c: Likewise.
81389         * lib/euidaccess.c: Likewise.
81390         * lib/allocsa.h: Likewise.
81391
81392 2004-11-10  Simon Josefsson  <jas@extundo.com>
81393
81394         * m4/getaddrinfo.m4: New file.
81395
81396 2004-11-10  Simon Josefsson  <jas@extundo.com>
81397
81398         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
81399
81400 2004-11-10  Simon Josefsson  <jas@extundo.com>
81401
81402         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81403         getaddrinfo.
81404
81405         * modules/getaddrinfo: New file.
81406
81407 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81408
81409         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
81410
81411 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81412
81413         * lib/mktime.c (SHR): New macro, which is a portable
81414         substitute for >> that should work even on Crays.
81415         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
81416         Problem reported by Mark D. Baushke in
81417         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
81418         * lib/getdate.y (SHR): Likewise.
81419         (tm_diff): Use it.
81420         * lib/strftime.c (SHR): Likewise.
81421         (tm_diff): Use it.
81422         * lib/quotearg.c (struct quoting_options): Use unsigned int for
81423         quote_these_too, so that right shifts are well defined.  All uses
81424         changed.
81425
81426 2004-11-10  Jim Meyering  <jim@meyering.net>
81427
81428         Ensure that no close failure goes unreported.
81429         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
81430         return early when it seems there's nothing to flush.
81431         Don't include __fpending.h.
81432
81433 2004-11-10  Jim Meyering  <jim@meyering.net>
81434
81435         * modules/closeout (Depends-on): Remove fpending.
81436
81437 2004-11-10  Jim Meyering  <jim@meyering.net>
81438
81439         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
81440
81441 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
81442
81443         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
81444         gl_FUNC_STRFTIME.
81445         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
81446         and AC_REQUIRE when possible, to avoid duplicate checks.
81447         Check for <wchar.h>.
81448
81449 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
81450
81451         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
81452
81453 2004-11-09  Bruno Haible  <bruno@clisp.org>
81454
81455         * m4/sockpfaf.m4: New file.
81456
81457 2004-11-05  Bruno Haible  <bruno@clisp.org>
81458
81459         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
81460         Reported by Mark D. Baushke <mdb@cvshome.org>.
81461
81462 2004-11-04  Bruno Haible  <bruno@clisp.org>
81463
81464         2004-09-11  Bruno Haible  <bruno@clisp.org>
81465                 * allocsa.valgrind: New file.
81466         2004-02-06  Bruno Haible  <bruno@clisp.org>
81467                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
81468                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
81469                 Reported by Christopher Seip <chris.seip@hp.com>.
81470
81471 2004-11-04  Bruno Haible  <bruno@clisp.org>
81472
81473         * modules/allocsa (Files): Add lib/allocsa.valgrind.
81474         (Makefile.am): Distribute it.
81475
81476 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
81477
81478         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
81479         with errno == ERANGE if the buffer is too small.
81480         Problem reported by Mark D. Baushke.
81481
81482 2004-11-03  Albert Chin  <china@thewrittenword.com>
81483             Paul Eggert  <eggert@cs.ucla.edu>
81484
81485         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
81486         equivalent, substitute $ac_type for equivalent type rather than
81487         blindly using uint32_t *always* which won't work if uint32_t is not
81488         available.  Define _UINT32_T to work around typedef of uint32_t if
81489         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
81490         2.5.1.
81491
81492 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81493
81494         * m4/jm-macros.m4: Sync from coreutils.
81495         (gl_MACROS): Check for mbrlen, for pathchk.
81496         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
81497
81498 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81499
81500         * lib/xreadlink.c (MAXSIZE): New macro.
81501         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
81502         size does not exceed MAXSIZE.  Avoid cast.
81503         As suggested by Mark D. Baushke in
81504         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
81505         if readlink fails with buffer size just under MAXSIZE, try again
81506         with MAXSIZE.
81507
81508 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81509
81510         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
81511
81512 2004-11-02  Derek R. Price  <derek@ximbiot.com>
81513         and  Paul Eggert  <eggert@cs.ucla.edu>
81514
81515         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
81516         (get_date): Overparenthesize to avoid GCC warning.
81517
81518 2004-11-02  Bruno Haible  <bruno@clisp.org>
81519
81520         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
81521         returns void.
81522
81523 2004-11-02  Bruno Haible  <bruno@clisp.org>
81524
81525         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
81526         function returns void.
81527
81528 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
81529
81530         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
81531         fflush_unlocked, flockfile, funlockfile, funlockfile,
81532         fputs_unlocked, putc_unlocked.
81533
81534 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
81535
81536         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
81537         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
81538         already declared.
81539
81540 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81541
81542         * modules/getdate (Files): Add doc/getdate.texi.
81543         (Depends-on): Add setenv, xalloc.
81544
81545 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81546
81547         * lib/getdate.y: Add support for TZ="foo" within a date string.
81548         Fix some bugs near time_t boundaries.  Reject dates with
81549         out-of-range components, e.g., "Sept 31".
81550         Include <stdlib.h>, "setenv.h", "xalloc.h".
81551         (ISDIGIT_LOCALE): Remove; unused.
81552         Note that the TZ and time functions used here are not reentrant.
81553         (mktime_ok, get_tz): New functions.
81554         (TZBUFSIZE): New constant.
81555         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
81556         This requires that we sometimes generate our own TZ="XXX..." setting.
81557
81558 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81559
81560         * doc/getdate.texi: New file, from coreutils with modifications for
81561         the new TZ parsing.
81562
81563 2004-10-27  Derek R. Price  <derek@ximbiot.com>
81564
81565         * lib/mktime.c (not_equal_tm): Remove redundant check.
81566
81567 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
81568
81569         * modules/regex (lib_SOURCES): Add regex.c.
81570         Reported by James Youngman in
81571         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
81572
81573 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
81574
81575         * lib/getdate.y: Use Bison 1.875 features, and some minor
81576         code cleanups.  This change does not affect semantics.
81577         Don't include <stdlib.h>; no longer needed.
81578         Don't include unlocked-io.h; only the "#if TEST" code uses
81579         stdio, and performance isn't crucial there.
81580         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
81581         Bison 1.875 features as described below.
81582         All uses of "PC." replaced by "pc->".
81583         (YYSTYPE): Add a forward declaration.
81584         (yylex, yyerror): Use full prototypes in forward decls.
81585         Use "%pure-parser" rather than obsolescent "%pure_parser".
81586         Use %parse-param and %lex-param instead of obsolescent
81587         YYPARSE_PARAM and YYLEX_PARAM.
81588         (meridian_table, month_and_day_table, time_units_table,
81589         relative_time_table, time_zone_table, military_table,
81590         lookup_zone, lookup_word, get_date):
81591         Use NULL instead of 0 where appropriate.
81592         (to_hour): Avoid abort (), to avoid a dependency on
81593         stdlib.h.
81594         (yyerror, yylex): Now accepts parser_control * arg.
81595         (main) [TEST]: Use '\0' rather than 0 for char.
81596
81597 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
81598
81599         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
81600
81601 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
81602
81603         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
81604         It's now the caller's responsibility to handle the case where
81605         !HAVE_GETPAGESIZE && !defined getpagesize.
81606
81607         * lib/mktime.c (leapyear): Arg is long int, not int.
81608
81609 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
81610
81611         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
81612
81613 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
81614
81615         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
81616         missing.  Problem reported by James Youngman.
81617
81618 2004-10-16  Simon Josefsson  <jas@extundo.com>
81619
81620         * gnulib-tool: Fix comments.  Fix parse problem.
81621         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
81622
81623 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
81624
81625         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
81626         implementation of getopt_long.  Problem reported by Alexander Taler in:
81627         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
81628
81629 2004-10-15  Bruno Haible  <bruno@clisp.org>
81630
81631         * gnulib-tool: Untabify. Initialize supplied_libname.
81632         (func_usage): More homogenous output.
81633         (func_modules_transitive_closure, func_modules_to_filelist,
81634         func_emit_lib_Makefile_am): New functions.
81635         (func_import): New function, extracted from big case statement. Use
81636         func_get_license, func_modules_transitive_closure,
81637         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
81638         opt_lgpl. Don't use test -a, as it's not portable.
81639         (func_create_testdir): Use func_modules_transitive_closure,
81640         func_modules_to_filelist, func_emit_lib_Makefile_am.
81641
81642 2004-10-15  Bruno Haible  <bruno@clisp.org>
81643
81644         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
81645
81646 2004-10-15  Bruno Haible  <bruno@clisp.org>
81647
81648         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
81649         the portions belonging to each module.
81650         Suggested by Derek Robert Price <derek@ximbiot.com>.
81651
81652 2004-10-12  Simon Josefsson  <jas@extundo.com>
81653
81654         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
81655         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
81656         to real functions.
81657
81658 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81659
81660         * modules/vsnprintf: New file.
81661
81662 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81663
81664         * m4/vsnprintf.m4: New file.
81665
81666 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81667
81668         * lib/vsnprintf.h: New file.
81669         * lib/vsnprintf.c: New file.
81670
81671 2004-10-11  Bruno Haible  <bruno@clisp.org>
81672
81673         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
81674         vsnprintf.
81675
81676 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
81677
81678         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
81679
81680 2004-10-07  Bruno Haible  <bruno@clisp.org>
81681
81682         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
81683         fits into the provided buffer.
81684
81685 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
81686
81687         * lib/diacrit.c, diacrit.h: Add GPL notice.
81688
81689         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
81690         notice.
81691         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
81692         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
81693         This avoids a potential constant-folding bug.
81694
81695 2004-10-05  Bruno Haible  <bruno@clisp.org>
81696
81697         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
81698         for the declaration of strsep.
81699
81700 2004-10-05  Bruno Haible  <bruno@clisp.org>
81701
81702         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
81703
81704 2004-10-04  Simon Josefsson  <jas@extundo.com>
81705
81706         * modules/memmem: New file.
81707         * tests/test-memmem.c: New file.
81708         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
81709
81710 2004-10-04  Simon Josefsson  <jas@extundo.com>
81711
81712         * m4/memmem.m4: New file.
81713
81714 2004-10-04  Simon Josefsson  <jas@extundo.com>
81715
81716         * lib/memmem.h: New file.
81717         * lib/memmem.c: New file, taken from glibc.
81718
81719 2004-10-04  Simon Josefsson  <jas@extundo.com>
81720
81721         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
81722         '#ifdef USE_UNLOCKED_IO'.
81723
81724 2004-10-04  Simon Josefsson  <jas@extundo.com>
81725
81726         * config/srclist.txt: Add memmem from glibc.
81727
81728 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81729
81730         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
81731
81732         * modules/argmatch, modules/argp, modules/closeout, modules/error,
81733         modules/exclude, modules/getdate, modules/getline,
81734         modules/getndelim2, modules/getpass, modules/getpass-gnu,
81735         modules/getusershell, modules/linebuffer, modules/md5,
81736         modules/mountlist, modules/posixtm, modules/readtokens,
81737         modules/readutmp, modules/regex, modules/sha1,
81738         modules/version-etc, modules/yesno:
81739         Remove dependency on unlocked-io.
81740
81741 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81742
81743         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
81744
81745         * m4/unlocked-io.m4: Add copyright notice.
81746         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
81747
81748 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81749
81750         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
81751         * lib/xmalloc.c (xmemdup): Likewise.
81752         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
81753         XFREE): Remove these long-obsolescent macros.
81754         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
81755         * lib/xstrdup.c: Remove.
81756
81757         * lib/regex.c (re_comp): Cast gettext return value to char *,
81758         Problem reported by Martin Neitzel via Mark D. Baushke.
81759
81760 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81761
81762         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
81763         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
81764         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
81765         regex.c, sha1.c, version-etc.c, yesno.c:
81766         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
81767         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
81768         the includer's responsibility.
81769
81770         Sync from coreutils.
81771
81772         * lib/modechange.c (mode_compile): Don't decrement a pointer that
81773         points to the start of a string, as the C Standard says the
81774         resulting behavior is undefined.
81775
81776         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
81777         simple -> simple_backups, numbered_existing ->
81778         numbered_existing_backups, numbered -> numbered_backups
81779         to avoid shadowing problems.  All uses changed.
81780         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
81781         * lib/backupfile.c (check_extension, numbered_backup):
81782         Rename locals to avoid shadowing 'basename'.
81783         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
81784         once.
81785
81786         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
81787         * lib/.cvsignore: Add getopt.h.
81788
81789 2004-10-04  Bruno Haible  <bruno@clisp.org>
81790
81791         * modules/README: New file.
81792         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
81793         not a module.
81794
81795 2004-10-02  Jim Meyering  <jim@meyering.net>
81796
81797         * lib/dirfd.h, getpagesize.h: Add copyright notice.
81798
81799 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81800
81801         * modules/strsep: New file.
81802
81803 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81804
81805         * m4/strsep.m4: New file.
81806
81807 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81808
81809         * lib/strsep.h: New file.
81810         * lib/strsep.c: New file.
81811
81812 2004-10-01  Simon Josefsson  <jas@extundo.com>
81813
81814         * lib/snprintf.c (snprintf): Handle size==0.
81815
81816 2004-10-01  Simon Josefsson  <jas@extundo.com>
81817             Bruno Haible  <bruno@clisp.org>
81818
81819         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
81820         (snprintf): Declare 'args'.
81821
81822 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
81823
81824         * lib/snprintf.c: Remove comments as to why each header is needed.
81825
81826 2004-10-01  Bruno Haible  <bruno@clisp.org>
81827
81828         * MODULES.html.sh: Add strsep.
81829
81830 2004-09-30  Simon Josefsson  <jas@extundo.com>
81831
81832         * modules/snprintf: New file.
81833
81834 2004-09-30  Simon Josefsson  <jas@extundo.com>
81835
81836         * m4/snprintf.m4: New file.
81837
81838 2004-09-30  Simon Josefsson  <jas@extundo.com>
81839
81840         * lib/snprintf.h, lib/snprintf.c: New files.
81841
81842 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81843
81844         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
81845         (hol_entry_help): Never translate an empty string.
81846         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
81847         * lib/argp.h (OPTION_NO_TRANS): New option.
81848
81849 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
81850
81851         * modules/argp (Maintainer): Replace Simon Josefsson
81852         by Sergey Poznyakoff.
81853
81854 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
81855
81856         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
81857         changes merged back into glibc.
81858
81859 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
81860
81861         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
81862
81863 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
81864
81865         * lib/xvasprintf.c: Include xalloc.h.
81866         (xvasprintf): Use xalloc_die, not xmalloc_die.
81867
81868 2004-09-29  Bruno Haible  <bruno@clisp.org>
81869
81870         * modules/alloca-opt: New file, derived from modules/alloca.
81871         * modules/allocsa: Depend on alloca-opt instead of alloca.
81872         * modules/setenv: Likewise.
81873         * modules/vasnprintf: Likewise.
81874         * MODULES.html.sh: Add alloca-opt.
81875
81876 2004-09-28  Simon Josefsson  <jas@extundo.com>
81877
81878         * gnulib-tool: New parameter --lgpl, to asseert that modules are
81879         LGPL, and to replace license template from GPL to LGPL.
81880
81881 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
81882
81883         * modules/dummy: Change license to LGPL.
81884
81885 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
81886
81887         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
81888
81889 2004-09-24  Simon Josefsson  <jas@extundo.com>
81890
81891         * modules/minmax (License): Change from GPL to LGPL.
81892
81893 2004-09-23  Simon Josefsson  <jas@extundo.com>
81894
81895         * gnulib-tool (--import): Typo.
81896
81897 2004-09-23  Simon Josefsson  <jas@extundo.com>
81898
81899         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
81900
81901 2004-09-22  Bruno Haible  <bruno@clisp.org>
81902
81903         * modules/*: Add 'License' field.
81904         * gnulib-tool: Accept --extract-license option.
81905         (func_get_license): New function.
81906
81907 2004-09-21  Bruno Haible  <bruno@clisp.org>
81908
81909         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
81910         Reported by Simon Josefsson.
81911
81912 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
81913
81914         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
81915         gl_AC_TYPE_LONG_LONG.
81916
81917 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
81918
81919         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
81920
81921 2004-09-18  Simon Josefsson  <jas@extundo.com>
81922         and  Paul Eggert  <eggert@cs.ucla.edu>
81923
81924         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
81925         calls with autoreconf.  Define GL_LIB.
81926
81927 2004-09-14  Karl Berry  <karl@gnu.org>
81928
81929         * config/srclist.txt: unsync setenv.c, sigh.
81930
81931 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
81932
81933         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
81934         Problem reported by Bruno Haible in:
81935         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
81936
81937 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
81938
81939         * config/srclist.txt: Comment out argp-pvh.c.
81940
81941 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
81942
81943         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
81944         in case some system header has #define'd it.  Problem reported by
81945         Soeren D. Schulze in
81946         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
81947
81948 2004-09-09  Karl Berry  <karl@gnu.org>
81949
81950         * regex.[ch]: delete from the root.  These were supposed to be
81951                 synced with emacs cvs, but this has not happened for about
81952                 a year, and anyway nothing else uses emacs regex.[ch].
81953                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
81954                 lib/regex[.ch] is untouched.
81955
81956 2004-09-09  Bruno Haible  <bruno@clisp.org>
81957
81958         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
81959
81960 2004-09-09  Bruno Haible  <bruno@clisp.org>
81961
81962         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
81963         modifications.
81964         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
81965
81966 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
81967
81968         * modules/xvasprintf: New file.
81969         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
81970
81971 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
81972
81973         * lib/xvasprintf.h: New file.
81974         * lib/xvasprintf.c: New file.
81975         * lib/xasprintf.c: New file.
81976
81977 2004-09-08  Bruno Haible  <bruno@clisp.org>
81978
81979         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
81980
81981 2004-09-08  Bruno Haible  <bruno@clisp.org>
81982
81983         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
81984         length is > INT_MAX.
81985         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
81986         more.
81987
81988 2004-09-08  Bruno Haible  <bruno@clisp.org>
81989
81990         * lib/stdint_.h: New file, taken from GNU clisp.
81991
81992 2004-09-08  Bruno Haible  <bruno@clisp.org>
81993             Oskar Liljeblad  <oskar@osk.mine.nu>
81994
81995         * modules/stdint: New file.
81996         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
81997
81998 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81999
82000         Import from coreutils.
82001         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
82002         strings on unbounded length.  alloca's performance benefits aren't
82003         that important here.
82004         (V_STRDUP): Remove.
82005         (parse_with_separator): New function, with most of the internals
82006         of the old parse_user_spec.  Allow user to omit both user and group,
82007         for compatibility with FreeBSD.
82008         Clone only the user name, not the entire spec.
82009         Do not set *uid, *gid unless entirely successful.
82010         Avoid memory leak in some failing cases.
82011         Fix regression for USER.GROUP reported by Dmitry V. Levin in
82012         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
82013         (parse_user_spec): Rewrite to use parse_with_separator.
82014
82015 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82016
82017         * modules/userspec: Don't depend on alloca.
82018
82019 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82020
82021         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
82022
82023 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
82024
82025         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
82026         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
82027         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
82028
82029 2004-08-16  Simon Josefsson  <jas@extundo.com>
82030
82031         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
82032         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
82033         Add --dry-run for --import.
82034         Let user provided command line parameters override configure.ac
82035         settings.
82036
82037 2004-08-12  Simon Josefsson  <jas@extundo.com>
82038
82039         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
82040         as discussed with Paul Eggert in threads rooted at
82041         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
82042         and
82043         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
82044         Before, the test was empty, and relied on ELIDE_CODE in source
82045         code.)
82046         (gl_PREREQ_GETOPT): New macro.
82047         (gl_GETOPT): Use them.
82048
82049 2004-08-12  Simon Josefsson  <jas@extundo.com>
82050
82051         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
82052         * lib/getopt_.h: Renamed from getopt.h.
82053
82054 2004-08-12  Simon Josefsson  <jas@extundo.com>
82055
82056         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
82057         Change default library name from libfoo to libgnu.
82058         Now, if you have a configure.ac that says:
82059                 gl_SOURCE_BASE(gl)
82060                 gl_M4_BASE(gl/m4)
82061                 gl_MODULES(error getopt etcetera)
82062                 gl_INIT
82063         you can import all you need by running:
82064                 ../gnulib/gnulib-tool --import
82065
82066         * modules/getopt (Files): Rename getopt.h to getopt_.h.
82067         (Makefile.am): Rewrite, use logic from argz.
82068         (Include): Use <getopt.h> instead of "getopt.h".
82069
82070 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82071
82072         * modules/argp (Files): Add m4/unlocked-io.m4.
82073         (Depends-on): Add extensions.
82074
82075 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82076
82077         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
82078         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
82079         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
82080         Check for program_invocation_name, program_invocation_short_name,
82081         flockfile, funlockfile, features.h, _getopt_long_only_r.
82082
82083 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82084
82085         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
82086         its complicated substitute.
82087         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
82088         and program_invocation_name.
82089         (__argp_basename) [!_LIBC]: Remove; the only use was
82090         replaced by its body.
82091         (__argp_short_program_name): Change condition from
82092         !defined __argp_short_program_name to
82093         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
82094         to match argp-namefrob.h.
82095         (__argp_failure): Don't assume strerror_r returns char *.
82096         * lib/argp-parse.c (N_): Define unconditionally.
82097         (argp_default_options): Fill out initializers with 0 to avoid
82098         gcc warnings.
82099
82100 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82101
82102         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
82103         getopt1.c.
82104
82105 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
82106
82107         Merge from coreutils.
82108
82109         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
82110
82111         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
82112         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
82113
82114 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
82115
82116         Merge from coreutils.
82117
82118         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
82119         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
82120         for Reliant Unix 5.43.
82121
82122         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
82123         (union fooround): Use uintmax_t, not long int.
82124         The rest is a merge from libc:
82125         [defined _LIBC]: Include <shlib-compat.h>.
82126         (_obstack) [defined _LIBC]: Remove after 2.3.4.
82127
82128         * lib/settime.c (settime): Recode to avoid warning with
82129         Sun Forte C 6U2.
82130
82131         * lib/strverscmp.c: Convert to UTF-8.
82132
82133 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
82134
82135         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
82136         m4/uintmax_t.m4.
82137
82138 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
82139
82140         * modules/xalloc-die: New file.
82141         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
82142
82143         * modules/md5 (Files): Add m4/uint32_t.m4.
82144         * modules/sha1: Renamed from modules/sha.
82145         (Files):
82146         Rename lib/sha.h to lib/sha1.h.
82147         Rename lib/sha.c to lib/sha1.c.
82148         Rename m4/sha.m4 to m4/sha1.m4.
82149         (lib_SOURCES): Likewise.
82150         (configure.ac): Rename gl_SHA to gl_SHA1.
82151         (Include): sha.h -> sha1.h.
82152
82153 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
82154
82155         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
82156         * m4/sha1.m4: Renamed from sha.m4.
82157         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
82158
82159 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
82160
82161         * lib/obstack.h (obstack_empty_p):
82162         Don't assume that chunk->contents is suitably aligned.
82163         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
82164         Likewise. Problem reported by Benno in
82165         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
82166
82167         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
82168         readable.  This could be improved further but it'd take some work.
82169
82170 2004-08-08  Simon Josefsson  <jas@extundo.com>
82171
82172         * modules/xgethostname (Depends-on): Remove exit and error (not
82173         used).
82174
82175         * modules/getpass-gnu: Add getpass.h.
82176         (Depends-on): Add stdbool.
82177         * modules/getpass: Add getpass.h.
82178
82179 2004-08-08  Simon Josefsson  <jas@extundo.com>
82180
82181         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
82182         Check getpass declaration.
82183
82184 2004-08-08  Simon Josefsson  <jas@extundo.com>
82185
82186         * lib/xgethostname.c: Don't include error.h (not used).
82187
82188         * lib/getpass.h: Add.
82189         * lib/getpass.c: Include getpass.h first.
82190
82191 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
82192
82193         * lib/xalloc-die.c: New file.
82194         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
82195         All uses removed.
82196         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
82197         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
82198         xalloc-die.c.
82199         (_, N_, xalloc_die): Move to xalloc-die.c.
82200         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
82201         so that we needn't mess with xalloc_msg_memory_exhausted.
82202
82203         * lib/sha1.h: Renamed from sha.h.
82204         (SHA1_H): Renamed from _SHA_H.
82205         (sha1_ctx): Renamed from sha_ctx.
82206         (sha1_init_ctx): Renamed from sha_init_ctx.
82207         (sha1_process_block): Renamed from sha_process_block.
82208         (sha1_process_bytes): Renamed from sha_process_bytes.
82209         (sha1_finish_ctx): Renamed from sha_finish_ctx.
82210         (sha1_read_ctx): Renamed from sha_read_ctx.
82211         (sha1_stream): Renamed from sha_stream.
82212         (sha1_buffer): Renamed from sha_buffer.
82213         * lib/sha1.c: Likewise; renamed from sha.c.
82214         Do not include <sys/types.h>.
82215         Include <stddef.h> rather than <stdlib.h>.
82216
82217 2004-08-08  Bruno Haible  <bruno@clisp.org>
82218
82219         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
82220         FILESYSTEM_PREFIX_LEN.
82221         * lib/progreloc.c: Likewise.
82222         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
82223
82224 2004-08-06  Simon Josefsson  <jas@extundo.com>
82225
82226         * modules/progname (Depends-on): Don't depend on stdbool.
82227
82228 2004-08-06  Simon Josefsson  <jas@extundo.com>
82229
82230         * modules/getsubopt: New file.
82231         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82232         getsubopt.
82233
82234 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
82235
82236         More merge from coreutils.
82237
82238         * m4/utimens.m4, m4/utimecmp.m4: New files.
82239         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
82240         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
82241         prereq.m4, sha.m4: Import changes from coreutils.
82242
82243 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
82244
82245         More merge from coreutils.
82246         * modules/raise, modules/readtokens0, modules/utimens:
82247         * modules/utimecmp, module/xnanosleep: New files.
82248         * modules/strftime: Add lib/strftime.h.
82249         Change include from <time.h> to "strftime.h".
82250         * modules/yesno: Add lib/yesno.h.
82251         * modules/backupfile: Remove lib/addext.c.
82252         * modules/euidaccess: Add stat-macros.h.
82253         * modules/canonicalize, modules/euidaccess,
82254         modules/filemode, modules/lchown, modules/makepath,
82255         modules/rmdir, modules/stat: Likewise.
82256
82257 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
82258
82259         Merge from tar.
82260         * lib/argp-help.c (make_hol, hol_append): Don't assume that
82261         SIZE_MAX is a valid preprocessor constant.
82262         (__argp_basename): Change from "#ifndef _LIBC"
82263         to "#ifndef __argp_short_program_name", so that
82264         we don't compile these functions for tar.
82265
82266         More merges from coreutils.
82267         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
82268         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
82269         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
82270         * lib/addext.c: Remove; no longer needed.
82271         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
82272         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
82273         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
82274         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
82275         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
82276         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
82277         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
82278         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
82279         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
82280         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
82281         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
82282         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
82283         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
82284         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
82285         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
82286         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
82287         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
82288         Import changes from coreutils.
82289
82290 2004-08-05  Simon Josefsson  <jas@extundo.com>
82291
82292         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
82293
82294 2004-08-05  Simon Josefsson  <jas@extundo.com>
82295
82296         * m4/getsubopt.m4: New file.
82297
82298 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82299
82300         Merge from coreutils.
82301
82302         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
82303         * m4/getcwd-path-max.m4: New files.
82304
82305         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
82306         FILESYSTEM_PREFIX_LEN ->
82307         FILE_SYSTEM_PREFIX_LEN.
82308         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
82309         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
82310         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
82311         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
82312
82313         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
82314         prerequisite modules now handle the DOS stuff.
82315         Don't check for unistd.h.
82316
82317 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82318
82319         Merge from coreutils.
82320
82321         * lib/.gdb-history: Remove; this doesn't belong here.
82322
82323         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
82324         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
82325         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
82326         * lib/getcwd.c: New files.
82327
82328         * lib/dirname.h: Include <stdbool.h>.
82329         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
82330         for consistency with POSIX terminology.  All uses changed.
82331         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
82332         (strip_trailing_slashes): Use bool for booleans.
82333         * lib/stripslash.c (strip_trailing_slashes): Likewise.
82334
82335         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
82336         sometimes returns a positive errno value even when it succeeds.
82337         (print_errno_message) [!LIBC]: Fall back on strerror if
82338         __strerror_r fails.
82339
82340         * lib/path-concat.c (mempcpy): Don't define if a system header defines
82341         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
82342         (longest_relative_suffix): New function.
82343         (path_concat): Use it.  Assume first argument is not NULL.
82344         Port to DOS.  Omit redundant separators.
82345         Report an error instead of returning NULL.
82346         Use mempcpy instead of memcpy.
82347         (xpath_concat): Remove: not declared or used.
82348
82349         * lib/same.h: Include <stdbool.h>
82350         (same_name): Return bool, not int.
82351         * lib/same.c (same_name): Likewise.
82352         (errno): Don't declare; we assume C89 or better now.
82353
82354         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
82355         if not already defined.
82356
82357         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
82358         * lib/dup-safer.c (errno): Likewise.
82359
82360 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82361
82362         Merge from coreutils.
82363         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
82364         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
82365         * modules/path-concat: Don't depend on strdup.
82366
82367 2004-08-03  Simon Josefsson  <jas@extundo.com>
82368
82369         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
82370         * lib/progname.h: Don't include stdbool.h.
82371
82372 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82373
82374         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
82375         * MODULES.html.sh (func_all_modules): Remove fatal.
82376
82377 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82378
82379         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
82380
82381 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82382
82383         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
82384         working.
82385
82386 2004-08-02  Simon Josefsson  <jas@extundo.com>
82387
82388         * lib/getsubopt.h: New file, with comments from Bruno Haible.
82389         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
82390         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
82391
82392 2004-08-01  Simon Josefsson  <jas@extundo.com>
82393
82394         * lib/xgetdomainname.c: Include stdlib.h, for free().
82395
82396 2004-07-19  Bruno Haible  <bruno@clisp.org>
82397
82398         * MODULES.html.sh (func_all_modules): Add dummy.
82399
82400 2004-07-16  Simon Josefsson  <jas@extundo.com>
82401
82402         * modules/dummy: New file.
82403
82404 2004-07-16  Simon Josefsson  <jas@extundo.com>
82405
82406         * lib/dummy.c: New file.
82407
82408 2004-07-16  Bruno Haible  <bruno@clisp.org>
82409
82410         * lib/backupfile.h: Add extern "C" for C++.
82411         * lib/closeout.h: Likewise.
82412         * lib/copy-file.h: Likewise.
82413         * lib/findprog.h: Likewise.
82414         * lib/full-write.h: Likewise.
82415         * lib/pathname.h: Likewise.
82416         * lib/progname.h: Likewise.
82417         * lib/stpcpy.h: Likewise.
82418         * lib/stpncpy.h: Likewise.
82419         * lib/strcase.h: Likewise.
82420         * lib/strstr.h: Likewise.
82421         * lib/xalloc.h: Likewise.
82422
82423         * lib/mbswidth.h: Add extern "C" for C++.
82424         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
82425
82426 2004-07-13  Robert Millan  <robertmh@gnu.org>
82427
82428         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
82429
82430 2004-07-09  Simon Josefsson  <jas@extundo.com>
82431
82432         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
82433         failed without this.)
82434
82435 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
82436
82437         * modules/chown (Files): Add lib/fchown-stub.c, since
82438         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
82439
82440 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
82441
82442         * lib/fchown-stub.c: New file.
82443
82444 2004-06-24  Jim Meyering  <jim@meyering.net>
82445
82446         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
82447
82448 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82449
82450         * modules/argz: Omit "#include".
82451
82452         * MODULES.html.sh (func_all_modules): Add calloc, to match
82453         2004-06-01 addition of calloc module.
82454
82455 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82456
82457         * m4/argz.m4: New file, which is autoupdated from libtool.
82458
82459 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82460
82461         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
82462         libtool.
82463
82464 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82465
82466         * config/srclist-update: Don't insist on "USA." before the
82467         close-comment, as libtool omits the period and puts the */ on a
82468         separate line.
82469         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
82470         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
82471
82472 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
82473
82474         * modules/argz: New file.
82475         * MODULES.html.sh (func_all_modules): Add argz.
82476
82477 2004-06-12  Jim Meyering  <jim@meyering.net>
82478         and  Paul Eggert  <eggert@cs.ucla.edu>
82479
82480         * modules/hash (Files): Add lib/xalloc.h.
82481         * modules/pipe (Depends-on): Add wait-process.
82482         * modules/stat (Depends-on): Add xalloc.
82483         * modules/userspec (Files): Add lib/userspec.h.
82484         * modules/xstrto
82485
82486         Upgrade from gettext-0.13.
82487         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
82488         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
82489         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
82490
82491 2004-06-10  Jim Meyering  <jim@meyering.net>
82492
82493         * lib/calloc.c: New file.
82494
82495 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
82496
82497         * lib/getdate.y (yylex): Allow space between sign and number.
82498         Problem reported by Dan Jacobson.
82499
82500 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
82501
82502         Merge from coreutils CVS.
82503
82504         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
82505         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
82506         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
82507         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
82508         xstrtol.m4: Fix copyright date and/or serial number.
82509
82510         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
82511         See if we need an fchown replacement.
82512         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
82513         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
82514         and use the replacement function if we detect either defect.
82515
82516         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
82517         gl_UTIMECMP.
82518
82519 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
82520         and  Jim Meyering  <jim@meyering.net>
82521
82522         Merge from coreutils CVS.
82523
82524         * lib/stat-macros.h: New file, with contents from file-type.h
82525         and coreutils' system.h.
82526         * lib/file-type.c: Include "stat-macros.h".
82527         * lib/file-type.h (file_type): Move all macro definitions to new file,
82528         stat-macros.h.
82529
82530         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
82531         Wrap old code with this conditional.
82532         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
82533         function that does not dereference symlinks.
82534         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
82535
82536         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
82537         dependency problems.
82538         (xreadlink): Accept new arg SIZE, for efficiency.
82539         All decls and uses changed.
82540         * lib/xreadlink.h: Include <stddef.h>, for size_t.
82541
82542         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
82543         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
82544
82545         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
82546         sysexits.h.
82547
82548 2004-06-01  Jim Meyering  <jim@meyering.net>
82549
82550         * m4/calloc.m4: New file.
82551
82552 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
82553
82554         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
82555         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
82556         Also, fix a typo in a diagnostic.
82557
82558 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
82559
82560         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
82561         or AC_FUNC_REALLOC.
82562
82563 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
82564
82565         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
82566         macros to be defined.
82567         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
82568         the allocator returns NULL because the requested size is zero.
82569
82570 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82571
82572         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
82573         var.  Add comment explaining why libc still defines it.  This
82574         merges the following patch from glibc:
82575         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
82576
82577 2004-05-20  Andreas Schwab  <schwab@suse.de>
82578
82579         * m4/free.m4: Replace free if it not known to work, not the other
82580         way round.
82581
82582 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
82583
82584         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
82585         present in glibc since revision 1.1 of this file.
82586         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
82587         obstack_alignment_mask, obstack_alloc, obstack_base,
82588         obstack_blank, obstack_blank_fast, obstack_chunk_size,
82589         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
82590         obstack_grow0, obstack_init, obstack_int_grow,
82591         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
82592         obstack_next_free, obstack_object_size, obstack_ptr_grow,
82593         obstack_ptr_grow_fast, obstack_room): Remove declarations of
82594         nonexistent functions.
82595
82596 2004-05-18  Karl Berry  <karl@gnu.org>
82597
82598         * config/srclist.txt: break link for vasnprintf.c.
82599
82600 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
82601
82602         Port obstack to the AS/400, where pointers are 16 bytes wide and
82603         you cannot cast an integer to a valid pointer.  This patch is
82604         currently waiting to be integrated into glibc; see
82605         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
82606
82607         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
82608         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
82609         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
82610         (struct obstack): temp member is now a union of a pointer and
82611         an integer, instead of an integer.  All integer uses changed.
82612         This does not affect the physical layout of struct obstack,
82613         except on hosts (like the AS/400) where the size or alignment of
82614         void * is greater than that of ptrdiff_t.
82615         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
82616         __STDC__)]: Store temporary in pointer member of union, not
82617         integer member.
82618         * lib/obstack.c: Include <stddef.h>, for offsetof.
82619         (struct fooalign): Remove; it doesn't need a name.
82620         (union fooround): Change double to long double, and add void *.
82621         (DEFAULT_ALIGNMENT): Use offsetof to compute.
82622         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
82623         not a macro.  Hence the values are always int; so remove all
82624         casts-to-int in uses.
82625
82626 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
82627
82628         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
82629         we can get this patch merged into glibc.
82630
82631 2004-05-17  Derek R. Price  <derek@ximbiot.com>
82632             Paul Eggert  <eggert@cs.ucla.edu>
82633
82634         * m4/argp: Depend on alloca.
82635
82636 2004-05-17  Derek R. Price  <derek@ximbiot.com>
82637             Paul Eggert  <eggert@cs.ucla.edu>
82638
82639         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
82640         freecoding.
82641
82642 2004-05-17  Bruno Haible  <bruno@clisp.org>
82643
82644         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
82645         precision that consists of a '.' followed by an empty digit string.
82646         Patch by Tor Lillqvist <tml@iki.fi>.
82647
82648 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
82649
82650         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
82651         for backward compatibility with older code.  We need our own
82652         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
82653         it under some other name, and our alloca.h will define it.
82654
82655 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
82656             Derek Price  <derek@ximbiot.com>
82657
82658         * lib/alloca.c: Include <alloca.h>, to get our interface.
82659         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
82660         include <alloca.h> first.  Use C89 prototype for alloca; this
82661         requires including <stddef.h> for size_t.  Use extern "C" if C++.
82662         Use #elif for simplicity, since we can assume C89 now.
82663         Don't try to source the system alloca.h since it will not be found
82664         and to prevent recursively including its replacement.
82665         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
82666         * lib/regex.c: Likewise.
82667
82668 2004-05-16  Derek Price  <derek@ximbiot.com>
82669             Paul Eggert  <eggert@cs.ucla.edu>
82670
82671         getline cleanup.  This changes the getndelim2 API: both order of
82672         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
82673         no delimiter).
82674
82675         * lib/getline.c: Don't include stddef.h or stdio.h, since our
82676         interface does that.
82677         (getline): Always use getdelim, so that we don't have two
82678         copies of this code.
82679         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
82680         if available.
82681         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
82682         (GETNDELIM2_MAXIMUM): New macro.
82683         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
82684         instead of the old practice of delim2==0.  All callers changed.
82685         Return -1 on overflow, instead of returning junk.
82686         Do not set *linesize unless allocation succeeds.
82687         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
82688         that we include sys/types.h.
82689         * lib/getnline.h: Likewise.
82690         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
82691         (getndelim2): Reorder arguments.
82692         * lib/getnline.c (getnline, getndelim):
82693         Don't discard the NMAX argument.
82694         (getnline): Invoke getndelim, to avoid code duplication.
82695         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
82696         of (size_t) -1 by callers of the getnline family.
82697
82698 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
82699
82700         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
82701         Check for gettimeofday.
82702         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
82703         Check for settimeofday, stime.
82704
82705 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
82706
82707         * lib/nanosleep.c (suspended): Change its type from int to
82708         sig_atomic_t volatile.
82709         (first_call): Make it private to rpl_nanosleep, and have it
82710         be zero initially as that's a bit faster.
82711         (my_usleep): Round up fractional times instead of truncating them,
82712         as this is the usual meaning for 'sleep'.
82713
82714         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
82715         doesn't work.
82716         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
82717         (ENOSYS): Define if not defined.
82718         (settime): Fall back on stime if it exists and settimeofday fails.
82719         But don't bother with fallbacks if a method fails with errno == EPERM.
82720
82721 2004-05-11  Jim Meyering  <jim@meyering.net>
82722
82723         Prior to this change, the save_cwd caller required read access to the
82724         current directory on most systems (ones with the fchdir function).
82725
82726         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
82727         fails, try write-only, and finally, resort to using xgetcwd.
82728
82729 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
82730
82731         * lib/obstack.c, obstack.h: Import changes from libc.
82732
82733 2004-04-28  Bruno Haible  <bruno@clisp.org>
82734
82735         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
82736         also implicitly appends .exe to executables.
82737         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
82738         accepts Windows pathnames.
82739         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
82740         Treat Cygwin like Windows, since it now accepts Windows pathnames.
82741         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
82742         Treat Cygwin like Windows, since it now accepts Windows pathnames.
82743         Reported by Derek Robert Price <derek@ximbiot.com>.
82744
82745 2004-04-21  Karl Berry  <karl@gnu.org>
82746
82747         * config/srclist.txt (localcharset.c): break sync.
82748
82749 2004-04-20  Paul Eggert  <eggert@twinsun.com>
82750
82751         * m4/host-os.m4: Add a copyright notice.
82752
82753 2004-04-20  Jim Meyering  <jim@meyering.net>
82754
82755         Change UTILS_ to gl_ in AC_DEFINE'd names.
82756         Change utils_- and jm_-prefixed variables, too.
82757         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
82758         UTILS_FUNC_MKDIR_TRAILING_SLASH.
82759         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
82760
82761         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
82762         Don't emit trailing blanks.
82763         Also rename jm_-prefixed variables to have gl_ prefix.
82764
82765         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
82766         Also rename jm_-prefixed variables to have gl_ prefix.
82767
82768         * m4/jm-macros.m4: Reflect the renamings.
82769         * m4/prereq.m4: Likewise.
82770
82771 2004-04-20  Jim Meyering  <jim@meyering.net>
82772
82773         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
82774         memory.
82775
82776 2004-04-20  Jim Meyering  <jim@meyering.net>
82777             Bruno Haible  <bruno@clisp.org>
82778
82779         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
82780         memory when realloc fails.
82781
82782 2004-04-19  Jim Meyering  <jim@meyering.net>
82783
82784         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
82785         now that readutmp.c may call `free (0)'.
82786
82787 2004-04-19  Bruno Haible  <bruno@clisp.org>
82788
82789         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
82790         * m4/inttypes_h.m4: Likewise.
82791         * m4/stdint_h.m4: Likewise.
82792         * m4/intmax_t.m4: Likewise.
82793         * m4/uintmax_t.m4: Likewise.
82794
82795 2004-04-18  Jim Meyering  <jim@meyering.net>
82796
82797         * m4/prereq.m4: Don't forbid jm_ prefix.
82798
82799         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
82800         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
82801         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
82802         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
82803         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
82804         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
82805         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
82806         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
82807         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
82808         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
82809         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
82810         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
82811         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
82812         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
82813         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
82814         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
82815         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
82816         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
82817         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
82818
82819 2004-04-18  Jim Meyering  <jim@meyering.net>
82820
82821         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
82822         failure, don't leak memory and do call END_UTMP_ENT.
82823
82824 2004-04-16  Jim Meyering  <jim@meyering.net>
82825
82826         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
82827         coreutils' stat program.
82828         (gl_PREREQ): Don't require jm_PREREQ_STAT.
82829
82830 2004-04-11  Paul Eggert  <eggert@twinsun.com>
82831
82832         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
82833         C89.
82834         (CHAR_BIT): Remove, since we assume C89.
82835         Include <stdint.h> if available, as per current Autoconf CVS advice.
82836
82837 2004-03-31  Jim Meyering  <jim@meyering.net>
82838
82839         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
82840         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
82841         * m4/xalloc.m4: Likewise.
82842
82843 2004-03-30  Paul Eggert  <eggert@twinsun.com>
82844
82845         Merge from coreutils.
82846
82847         * m4/inttostr.m4: New file.
82848         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
82849         Require AM_STDBOOL_H and gl_TIMESPEC instead.
82850         Require gl_CLOCK_TIME.
82851         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
82852
82853 2004-03-30  Paul Eggert  <eggert@twinsun.com>
82854
82855         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
82856         not bool, to be more consistent with Unix conventions.
82857         Suggested by Bruno Haible.
82858
82859         Merge from coreutils.
82860
82861         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
82862         * lib/umaxtostr.c: New files.
82863
82864         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
82865         the usual <time.h> dance.
82866         (get_date): Change signature to support fractional time stamps.
82867         All callers changed.
82868         * lib/getdate.y: Include "getdate.h" first, as we can now
82869         assume C89 and don't need to worry about 'const'.
82870         Similarly, include "unlocked-io.h" near start, not in middle.
82871         Include <limits.h>.
82872         (textint.value): Use long int rather than int.
82873         (textint.digits): Use size_t rather than int.
82874         (BILLION, LOG10_BILLION): New constants.
82875         (parser_control): New member rel_ns.  Members day_ordinal,
82876         time_zone, month, day, hour, minutes, rel_year, rel_month,
82877         rel_day, rel_hour, rel_minutes, rel_seconds
82878         are now long int, not int.  Member seconds is now struct timespec,
82879         not int.  New member timespec_seen.  Members dates_seen, days_seen,
82880         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
82881         not int.
82882         (%union.intval): Now long int, not int.
82883         New member timespec.
82884         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
82885         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
82886         (spec): Now is a timespec or an item list.
82887         (timespec, items): New nonterminals.
82888         (time, rel, relunit, number, get_date):
82889         Add support for fractional seconds.
82890         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
82891         (gmtime, localtime, mktime): Remove decls; not needed with C89.
82892         (to_hour): First arg is now long int, not int.
82893         (to_year): Returns long int, not int.
82894         Don't treat year -70 like 70.
82895         (tm_diff): Returns long int, not int.
82896         (lookup_word): Use bool instead of int when appropriate.
82897         (yylex): Use size_t for count, not int.
82898         Detect overflow when parsing large integer constants.
82899         Add support for fractions.
82900         (get_date): Make pointers 'const' if possible.
82901         Use more-portable code to detect integer overflow.
82902         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
82903         Don't use ctime; it's not reliable if the year has >4 digits.
82904
82905         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
82906         This is for compatibility with BSD.
82907
82908         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
82909         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
82910         From coreutils' system.h.
82911
82912         * lib/userspec.c: Don't include "posixver.h".
82913         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
82914         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
82915         compatible extension.  Simplify code by removing a boolean int
82916         that was always nonzero if a string was nonnull.
82917
82918 2004-03-30  Jim Meyering  <jim@meyering.net>
82919
82920         Merge from coreutils.
82921
82922         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
82923         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
82924         on some systems one must include <grp.h> before it.
82925         Reported by Christian Krackowizer.
82926
82927 2004-03-30  Jim Meyering  <jim@meyering.net>
82928
82929         Merge from coreutils.
82930
82931         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
82932
82933         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
82934         an empty input stream.
82935
82936         * lib/readtokens.c: Include <stdbool.h>.
82937         (readtoken): Use `size_t' rather than int/long.
82938         All callers adjusted.
82939         Use `bool' rather than `int' where appropriate.
82940         Use memset rather than an explicit loop.
82941         Use x2nrealloc rather than xrealloc.
82942         Allow the use of `\0' as a delimiter.
82943         (readtokens): Likewise.
82944         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
82945
82946 2004-03-30  Jim Meyering  <jim@meyering.net>
82947
82948         * m4/realloc.m4: Remove file, since now it does no more than
82949         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
82950         the `configure.ac' section of module/realloc.
82951         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
82952
82953 2004-03-30  Bruno Haible  <bruno@clisp.org>
82954
82955         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
82956         nonnull.
82957
82958 2004-03-29  Paul Eggert  <eggert@twinsun.com>
82959
82960         Merge changes to getloadavg.c from coreutils and Emacs.
82961
82962         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
82963         Define to an expression, not to the empty string.
82964         Include cloexec.h and xalloc.h.
82965         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
82966         Use set_cloexec_flag rather than rolling our own.
82967         * lib/cloexec.c, lib/cloexec.h: New files.
82968
82969 2004-03-29  Paul Eggert  <eggert@twinsun.com>
82970
82971         * m4/cloexec.m4: New file.
82972
82973 2004-03-18  Paul Eggert  <eggert@twinsun.com>
82974
82975         * lib/getopt.h: Sync with libc CVS.
82976
82977 2004-03-18  Paul Eggert  <eggert@twinsun.com>
82978             Bruno Haible  <bruno@clisp.org>
82979
82980         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
82981         mbswidth.
82982
82983 2004-03-18  Paul Eggert  <eggert@twinsun.com>
82984             Bruno Haible  <bruno@clisp.org>
82985
82986         * lib/mbswidth.h: Include <wchar.h> only if
82987         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
82988         <wchar.h>.
82989         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
82990
82991 2004-03-09  Paul Eggert  <eggert@twinsun.com>
82992
82993         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
82994         Sync with libc CVS.
82995         * lib/getopt_int.h: New file, also synced from libc.
82996
82997 2004-03-09  Paul Eggert  <eggert@twinsun.com>
82998
82999         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
83000         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
83001         Bring back getopt.c, getopt.h, getopt1.c.
83002
83003 2004-03-07  Paul Eggert  <eggert@twinsun.com>
83004
83005         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
83006         All uses changed.  Check for sa_sigaction member; this fixes
83007         a bug first reported by Jason Andrade in
83008         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
83009
83010 2004-03-07  Paul Eggert  <eggert@twinsun.com>
83011
83012         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
83013         '#if' expressions.  Unlike the code it replaces, it does not
83014         depend on (defined _SC_PAGESIZE).  However, it does depend on
83015         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
83016         first reported by Jason Andrade in
83017         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
83018
83019 2004-02-25  Simon Josefsson  <jas@extundo.com>
83020
83021         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
83022
83023 2004-02-25  Simon Josefsson  <jas@extundo.com>
83024
83025         * lib/strdup.h: New file.
83026         * lib/strdup.c: Include it.
83027         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
83028         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
83029
83030 2004-02-23  Karl Berry  <karl@gnu.org>
83031
83032         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
83033         (from fencepost.gnu.org:/gd/gnuorg).
83034
83035 2004-02-23  Karl Berry  <karl@gnu.org>
83036
83037         * config/srclistvars.sh (GNUORG) [karl]: redefine.
83038         * config/srclist.txt: add maintain/standards documents.
83039
83040 2004-02-18  Bruno Haible  <bruno@clisp.org>
83041
83042         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
83043         Reported by Derek Robert Price <derek@ximbiot.com>.
83044
83045 2004-02-16  Karl Berry  <karl@gnu.org>
83046
83047         * config/mkinstalldirs, install-sh: update from automake.
83048
83049 2004-02-06  Karl Berry  <karl@gnu.org>
83050
83051         * m4/po.m4: update from gettext 0.14.1.
83052
83053 2004-02-06  Karl Berry  <karl@gnu.org>
83054
83055         * lib/config.charset: update from gettext 0.14.1.
83056
83057 2004-02-05  Paul Eggert  <eggert@twinsun.com>
83058
83059         Add comments and code, prompted by suggestions from Bruno Haible
83060         for sh-quote.
83061         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
83062         describing the enum quoting_style values.
83063         * lib/quotearg.c (quotearg_alloc): New function.
83064         (quotearg_buffer_restyled): Treat lone { and } as special.
83065         Treat = as special.  Work around bug with older shells
83066         that "see" a '\' that is really the 2nd byte of a multibyte char.
83067         Quote empty string with shell_quoting_style.
83068
83069 2004-02-03  Bruno Haible  <bruno@clisp.org>
83070
83071         * m4/pipe.m4: New file, from GNU gettext.
83072
83073 2004-02-03  Bruno Haible  <bruno@clisp.org>
83074
83075         * lib/pipe.h: New file, from GNU gettext.
83076         * lib/pipe.c: New file, from GNU gettext.
83077
83078 2004-01-27  Bruno Haible  <bruno@clisp.org>
83079
83080         * m4/execute.m4: New file, from GNU gettext.
83081
83082 2004-01-27  Bruno Haible  <bruno@clisp.org>
83083
83084         * lib/execute.h: New file, from GNU gettext.
83085         * lib/execute.c: New file, from GNU gettext.
83086         * lib/w32spawn.h: New file, from GNU gettext.
83087
83088 2004-01-24  Paul Eggert  <eggert@twinsun.com>
83089
83090         Merge from diffutils.
83091
83092         * lib/file-type.c (file_type): Add typed memory objects.
83093         * lib/file-type.h (S_TYPEISTMO): New macro.
83094
83095         * lib/c-stack.h (c_stack_action): Remove argv argument.
83096         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
83097         (die): Don't calculate message unless segv_action returns.
83098         (get_stack_location, min_address_from_argv, max_address_from_argv,
83099         volatile stack_base, volatile_stack_size): Remove.
83100         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
83101         that every segmentation violation is a stack overflow.  (Ouch!)
83102         See Debian bug 136249 (still outstanding) for more info about why
83103         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
83104
83105 2004-01-24  Paul Eggert  <eggert@twinsun.com>
83106
83107         Exit-status fix from coreutils.
83108
83109         Use exit_failure consistently in place of EXIT_FAILURE,
83110         so that program exit statuses are consistent on failure.
83111
83112         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
83113         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
83114         * lib/argmatch.h: Comment fix to match the above.
83115         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
83116         Now a macro referring to exit_failure, instead of a separate
83117         variable.  Include "exitfail.h" to get it.
83118         * lib/xstrtol.h: Include "exitfail.h".
83119         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
83120
83121         * lib/long-options.c (parse_long_options): Use prototype
83122         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
83123         for clarity.
83124
83125 2004-01-21  Jim Meyering  <jim@meyering.net>
83126
83127         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
83128         so as not to conflict with a different-sized __mktime_internal
83129         function in GNU libc.
83130         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
83131         Problem building statically-linked `ls' reported by Michael Brunnbauer.
83132
83133 2004-01-20  Karl Berry  <karl@gnu.org>
83134
83135         * config/config.guess: update from config.
83136
83137         * config/srclistvars.sh: GNUWWWLICENSES for karl.
83138
83139 2004-01-20  Bruno Haible  <bruno@clisp.org>
83140
83141         Safer stack allocation.
83142         * lib/setenv.c: Include allocsa.h.
83143         (alloca): Remove fallback definition.
83144         (freea): Remove macro.
83145         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
83146         instead of freea.
83147
83148 2004-01-20  Bruno Haible  <bruno@clisp.org>
83149
83150         * m4/eealloc.m4: New file, from GNU gettext.
83151
83152 2004-01-20  Bruno Haible  <bruno@clisp.org>
83153
83154         * m4/allocsa.m4: New file, from GNU gettext.
83155
83156 2004-01-20  Bruno Haible  <bruno@clisp.org>
83157
83158         * lib/xallocsa.h: New file, from GNU gettext.
83159         * lib/xallocsa.c: New file, from GNU gettext.
83160
83161 2004-01-20  Bruno Haible  <bruno@clisp.org>
83162
83163         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
83164
83165 2004-01-20  Bruno Haible  <bruno@clisp.org>
83166
83167         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
83168         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
83169         specially.
83170
83171 2004-01-20  Bruno Haible  <bruno@clisp.org>
83172
83173         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
83174         patch.
83175
83176 2004-01-20  Bruno Haible  <bruno@clisp.org>
83177
83178         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
83179
83180 2004-01-20  Bruno Haible  <bruno@clisp.org>
83181
83182         * lib/eealloc.h: New file.
83183
83184 2004-01-20  Bruno Haible  <bruno@clisp.org>
83185
83186         * lib/binary-io.h: Avoid warnings on Cygwin.
83187
83188 2004-01-20  Bruno Haible  <bruno@clisp.org>
83189
83190         * lib/allocsa.h: New file, from GNU gettext.
83191         * lib/allocsa.c: New file, from GNU gettext.
83192
83193 2004-01-18  Karl Berry  <karl@gnu.org>
83194
83195         * doc/gpl.texi, doc/lgpl.texi: new files.
83196
83197 2004-01-18  Karl Berry  <karl@gnu.org>
83198
83199         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
83200         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
83201
83202 2004-01-15  Paul Eggert  <eggert@twinsun.com>
83203
83204         Merge from coreutils.
83205
83206         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
83207         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
83208         (gl_DEFAULT_POSIX2_VERSION): Move
83209         the documentation from 'configure' into 'config.hin',
83210         so that 'configure --help' isn't burdened by it and
83211         we don't have to worry about its formatting there.
83212         Reword the documentation so that it's more succinct
83213         and can be run together into a single paragraph.
83214         * m4/same.m4 (gl_SAME): Check for pathconf.
83215
83216 2004-01-15  Paul Eggert  <eggert@twinsun.com>
83217
83218         Merge from coreutils.
83219
83220         * lib/posixver.c: Include posixver.h.
83221
83222         * lib/same.c: Include <stdbool.h>, <limits.h>.
83223         (_POSIX_NAME_MAX): Define if not defined.
83224         (MIN): New macro.
83225         (same_name): If file names are silently truncated, report
83226         that the file names are the same if they are the same after
83227         the silent truncation.
83228
83229         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
83230         conversion function.
83231         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
83232         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
83233         longer needed.
83234
83235 2004-01-15  Jim Meyering  <jim@meyering.net>
83236
83237         Merge from coreutils.
83238
83239         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
83240         if no library is required.
83241         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
83242         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
83243         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
83244         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
83245         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
83246         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
83247         value, $ac_cv_search_crypt, if it's "none required".
83248         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
83249         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
83250         not gl_FUNC_GETLOADAVG.
83251         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
83252         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
83253
83254 2004-01-15  Jim Meyering  <jim@meyering.net>
83255
83256         Merge from coreutils.
83257
83258         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
83259         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
83260         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
83261
83262         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
83263         optional configure-time default.
83264
83265         * lib/version-etc.c (version_etc_copyright): Update copyright date.
83266
83267         * lib/xreadlink.c (xreadlink): Correct outdated comment.
83268
83269 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
83270
83271         Merge from coreutils.
83272
83273         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
83274         value, $ac_cv_search_nanosleep, if it's "none required".
83275
83276 2004-01-14  Paul Eggert  <eggert@twinsun.com>
83277
83278         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
83279         with like-named macro in fnmatch.c.
83280         (EXT): Use an internal constant instead.
83281
83282         Merge fnmatch patches from glibc.
83283         * lib/fnmatch.c (mbsinit): Remove define.
83284         Add libc_hidden_ver (__fnmatch, fnmatch).
83285         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
83286         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
83287
83288 2004-01-14  Karl Berry  <karl@gnu.org>
83289
83290         * config/install-sh: update from automake.
83291
83292 2004-01-13  Karl Berry  <karl@gnu.org>
83293
83294         * config/install-sh: update from automake.
83295
83296 2004-01-09  Karl Berry  <karl@gnu.org>
83297
83298         * config/install-sh: update from automake.
83299
83300 2004-01-05  Karl Berry  <karl@gnu.org>
83301
83302         * config/config.{sub,guess}: update from config.
83303
83304 2003-12-31  Karl Berry  <karl@gnu.org>
83305
83306         * config/depcomp: update from automake.
83307
83308 2003-12-14  Karl Berry  <karl@gnu.org>
83309
83310         * lib/config.charset: update from gettext-runtime.
83311
83312 2003-12-03  Paul Eggert  <eggert@twinsun.com>
83313
83314         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
83315         Bug reported by Alfred M. Szmidt.
83316
83317 2003-12-03  Bruno Haible  <bruno@clisp.org>
83318
83319         * m4/gettext.m4: Upgrade from gettext-0.13.
83320         * m4/po.m4: Upgrade from gettext-0.13.
83321         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
83322         * m4/intmax.m4: New file, from gettext-0.13.
83323         * m4/printf-posix.m4: New file, from gettext-0.13.
83324
83325 2003-11-29  Karl Berry  <karl@gnu.org>
83326
83327         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
83328
83329 2003-11-25  Paul Eggert  <eggert@twinsun.com>
83330             Bruno Haible  <bruno@clisp.org>
83331
83332         * lib/printf-parse.h: Don't include sys/types.h.
83333         (ARG_NONE): New macro.
83334         (char_directive): Change type of *arg_index fields to size_t.
83335         * lib/printf-parse.c: Don't include sys/types.h.
83336         (SSIZE_MAX): Remove macro.
83337         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
83338         Remove unnecessary overflow check.
83339         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
83340         fields.
83341
83342 2003-11-25  Bruno Haible  <bruno@clisp.org>
83343
83344         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
83345
83346 2003-11-25  Bruno Haible  <bruno@clisp.org>
83347
83348         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
83349         gt_TYPE_SSIZE_T.
83350
83351 2003-11-24  Paul Eggert  <eggert@twinsun.com>
83352
83353         * modules/alloca: Remove dependency on xalloc.
83354
83355 2003-11-24  Paul Eggert  <eggert@twinsun.com>
83356
83357         * lib/alloca.c: Remove dependency on xalloc module.
83358         (xalloc_die): Remove.
83359         (memory_full) [!defined emacs]: New macro.
83360         [!defined emacs]: Don't include xalloc.h.
83361         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
83362         address arithmetic overflows.  Change datatypes a bit to avoid
83363         unnecessary casts.
83364
83365 2003-11-22  Jim Meyering  <jim@meyering.net>
83366
83367         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
83368         s/size/size_t/.
83369
83370 2003-11-21  Karl Berry  <karl@gnu.org>
83371
83372         * config/config.{sub,guess}: update from config.
83373
83374 2003-11-18  Karl Berry  <karl@gnu.org>
83375
83376         * config/config.{sub,guess}: update from config.
83377
83378         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
83379
83380 2003-11-17  Paul Eggert  <eggert@twinsun.com>
83381
83382         * README: Mention that S+T cannot overflow if S is the size of
83383         an existing object and T is sufficiently small.
83384
83385 2003-11-17  Jim Meyering  <jim@meyering.net>
83386
83387         On systems without utime and without a utimes function capable of
83388         dealing with a NULL struct utimbuf* argument, this utime replacement
83389         could -- in unusual circumstances -- leak a file descriptor.
83390         * lib/utime.c: Include <unistd.h> and <errno.h>.
83391         (utime_null): Be sure to close `fd' and to preserve errno.
83392         Reported by Geoff Collyer via Arnold Robbins.
83393
83394 2003-11-17  Bruno Haible  <bruno@clisp.org>
83395
83396         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
83397         (Depends-on): Add xsize.
83398
83399 2003-11-17  Bruno Haible  <bruno@clisp.org>
83400
83401         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
83402
83403 2003-11-17  Bruno Haible  <bruno@clisp.org>
83404
83405         * lib/vasnprintf.c (alloca): Remove fallback definition.
83406         (freea): Remove definition.
83407         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
83408         Reported by Paul Eggert.
83409
83410 2003-11-16  Paul Eggert  <eggert@twinsun.com>
83411             Bruno Haible  <bruno@clisp.org>
83412
83413         Protect against address arithmetic overflow.
83414         * lib/printf-args.h: Include stddef.h.
83415         (arguments): Change type of field 'count' to size_t.
83416         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
83417         'unsigned int' where appropriate.
83418         * lib/printf-parse.h: Include sys/types.h.
83419         (char_directive): Change type of *arg_index fields to ssize_t.
83420         (char_directives): Change type of fields 'count', max_*_length to
83421         size_t.
83422         * lib/printf-parse.c: Include sys/types.h and xsize.h.
83423         (SSIZE_MAX): Define fallback value.
83424         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
83425         instead of 'int' where appropriate. Check a_allocated, d_allocated
83426         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
83427         * lib/vasnprintf.c: Include xsize.h.
83428         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
83429         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
83430         overflow. Avoid wraparound when converting a width or precision from
83431         decimal to binary.
83432
83433 2003-11-16  Bruno Haible  <bruno@clisp.org>
83434
83435         Update from GNU gettext.
83436         * lib/printf-parse.c: Generalize to it can be compiled for wide
83437         strings.
83438         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
83439         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
83440         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
83441         SNPRINTF): New macros.
83442         Don't include <alloca.h> if the file is used inside libintl.
83443         (local_wcslen): New function, for Solaris 2.5.1.
83444         (VASNPRINTF): Use it instead of wcslen.
83445
83446 2003-11-16  Bruno Haible  <bruno@clisp.org>
83447
83448         * lib/xsize.h (xmax): New function.
83449         (xsum, xsum3, xsum4): Declare as "pure" functions.
83450
83451 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83452
83453         * modules/xalloc (Files): Undo latest change, since xalloc.h
83454         no longer needs SIZE_MAX or PTRDIFF_MAX.
83455
83456 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83457
83458         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
83459         gl_PTRDIFF_MAX.
83460
83461 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83462
83463         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
83464         "return", to pacify some unknown compiler.  Problem reported
83465         by Joerg Schilling.
83466
83467 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83468
83469         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
83470         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
83471         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
83472         heuristic is just as accurate as far as we know, and it removes a
83473         dependency on size_max.m4 and ptrdiff_max.m4.
83474
83475 2003-11-11  Bruno Haible  <bruno@clisp.org>
83476
83477         * modules/xsize (Files): Add m4/size_max.m4.
83478         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
83479
83480 2003-11-11  Bruno Haible  <bruno@clisp.org>
83481
83482         * m4/size_max.m4: New file.
83483         * m4/ptrdiff_max.m4: New file.
83484         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
83485         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
83486         (gl_XALLOC): Invoke it.
83487
83488 2003-11-11  Bruno Haible  <bruno@clisp.org>
83489
83490         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
83491         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
83492         defined.
83493
83494 2003-11-10  Paul Eggert  <eggert@twinsun.com>
83495
83496         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
83497         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
83498         rejected some allocations of exactly SIZE_MAX - 2 bytes.
83499         From Bruno Haible.
83500         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
83501         not (size_t) -1, since it's defined here.
83502
83503 2003-11-09  Karl Berry  <karl@gnu.org>
83504
83505         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
83506
83507 2003-11-06  Paul Eggert  <eggert@twinsun.com>
83508
83509         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
83510         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
83511         Reject sizes of exactly SIZE_MAX bytes.
83512         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
83513         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
83514
83515 2003-11-05  Bruno Haible  <bruno@clisp.org>
83516
83517         * lib/xsize.h: Include limits.h, to avoid a possible collision with
83518         SIZE_MAX defined in <limits.h> on Solaris.
83519
83520 2003-11-04  Jim Meyering  <jim@meyering.net>
83521
83522         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
83523         variable names, rather than @VAR@.
83524         * modules/poll: Likewise.
83525
83526 2003-11-04  Bruno Haible  <bruno@clisp.org>
83527
83528         * modules/xsize: New file.
83529         * modules/linebreak: Depend on xsize.
83530         * MODULES.html.sh (func_all_modules): Add xsize.
83531
83532 2003-11-04  Bruno Haible  <bruno@clisp.org>
83533
83534         * m4/xsize.m4: New file.
83535
83536 2003-11-04  Bruno Haible  <bruno@clisp.org>
83537
83538         * lib/xsize.h: New file.
83539         * lib/linebreak.c: Include xsize.h.
83540         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
83541         argument for overflow.
83542         Suggested by Paul Eggert.
83543
83544 2003-11-03  Karl Berry  <karl@gnu.org>
83545
83546         * config/config.{guess,sub}: update from config.
83547
83548 2003-11-03  Jim Meyering  <jim@meyering.net>
83549
83550         * modules/userspec (lib_SOURCES): Add userspec.h.
83551         (Include): Add "userspec.h".
83552         Improve description.
83553
83554 2003-11-03  Jim Meyering  <jim@meyering.net>
83555
83556         * lib/userspec.c: Include "userspec.h".
83557         * lib/userspec.h: New file.
83558
83559 2003-11-03  Bruno Haible  <bruno@clisp.org>
83560
83561         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
83562
83563 2003-11-03  Bruno Haible  <bruno@clisp.org>
83564
83565         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
83566         available, to avoid (extremely rare) race condition.
83567         Suggested by Paul Eggert.
83568
83569 2003-11-02  Karl Berry  <karl@gnu.org>
83570
83571         * config/srclist.txt (vasprintf.c): sync broken, sigh.
83572
83573 2003-10-31  Paul Eggert  <eggert@twinsun.com>
83574
83575         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
83576         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
83577         (read_filesystem_list): Set and use me_type_malloced.
83578         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
83579         whatever the type happens to be), for brevity and consistency.
83580         Check for size calculation overflow on Alphas running OSF/1.
83581
83582 2003-10-31  Jim Meyering  <jim@meyering.net>
83583
83584         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
83585
83586         * lib/linebuffer.c: Include <string.h> for declaration of memset.
83587
83588 2003-10-30  Paul Eggert  <eggert@twinsun.com>
83589             Bruno Haible  <bruno@clisp.org>
83590
83591         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
83592         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
83593
83594 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83595
83596         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
83597         netbsd*-gnu*.  Suggested by Robert Millan.
83598
83599 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83600
83601         * modules/group-member: Depend on stdbool.
83602
83603 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83604
83605         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
83606
83607 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83608
83609         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
83610         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
83611         after the 'gnu' in these cases.  This fixes some bugs in the
83612         previous change, and is based on suggestions by Robert Millan.
83613
83614 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83615
83616         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
83617         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
83618         no longer needed.
83619         * lib/quotearg.c (quotearg_n_options): Use it.
83620         * lib/group-member.c: Include <stdbool.h>.
83621         (free_group_info): Arg is now const *; don't free arg.
83622         (get_group_info): Now returns bool and accepts struct group_info *,
83623         rather than returning a malloc'ed struct group_info *.
83624         All uses changed.  Check for overflow in internal size calculation.
83625
83626         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
83627         rather than xmalloc/xrealloc.
83628         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
83629         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
83630         conformance bug: the old code used a pointer after freeing the
83631         storage that it addressed.
83632         * lib/hash.c (hash_initialize): Simplify the code by using
83633         xalloc_oversized rather than doing it by hand.
83634         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
83635         the buffer preserved.  Use free and xmalloc instead.
83636         * lib/quotearg.c (quotearg_n_options): Likewise.
83637         Use a simpler test for size overflow.  Don't use xalloc_oversized
83638         because unsigned int might be wider than size_t (!); this suggests
83639         that we should switch from unsigned int to size_t for slot numbers.
83640
83641 2003-10-28  Paul Eggert  <eggert@twinsun.com>
83642
83643         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
83644         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
83645         NetBSD kernels.  Requested by Richard Stallman.
83646
83647 2003-10-27  Paul Eggert  <eggert@twinsun.com>
83648
83649         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
83650         to allocate the returned structure.  Do not allocate a subarray,
83651         as x2nrealloc will do that.
83652         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
83653         instead of xnrealloc.
83654         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
83655
83656 2003-10-27  Bruno Haible  <bruno@clisp.org>
83657
83658         * lib/stdbool_.h: Better support for BeOS.
83659
83660 2003-10-26  Paul Eggert  <eggert@twinsun.com>
83661
83662         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
83663         now uses inline.
83664
83665 2003-10-26  Paul Eggert  <eggert@twinsun.com>
83666
83667         * lib/xalloc.h (xalloc_oversized): New static inline function, for
83668         callers that want to do their own size-overflow checking.  Include
83669         <stdbool.h>, since xalloc_oversized returns bool.
83670         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
83671         to use xalloc_oversized.
83672
83673         Add two functions x2realloc, x2nrealloc, for programs that grow
83674         arrays dynamically by doubling their sizes.
83675         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
83676         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
83677         New functions.
83678
83679         Port to C99 semantics for 'inline' of external functions.
83680         Bug reported by Bruno Haible.
83681         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
83682         with the old contents of xnmalloc.
83683         (xnmalloc, xmalloc): Use it.
83684         (xnrealloc_inline): New static inline function,
83685         with the old contents of xnrealloc.
83686         (xnrealloc, xrealloc): Use it.
83687
83688         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
83689         that.
83690
83691 2003-10-26  Karl Berry  <karl@gnu.org>
83692
83693         * config/srclist.txt (COPYING.DOC): no longer available from
83694         /gd/gnuorg; don't know where the ultimate source is.
83695
83696 2003-10-25  Paul Eggert  <eggert@twinsun.com>
83697
83698         Fix several address-calculation bugs in the hash modules,
83699         plus some minor code cleanup.
83700
83701         * lib/hash.h: Include <stdbool.h>, for bool.
83702         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
83703         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
83704         hash_get_n_entries, hash_get_max_bucket_length,
83705         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
83706         hash_rehash): Use size_t rather than unsigned.
83707         * lib/hash.c (struct hash_table, hash_get_n_buckets,
83708         hash_get_n_buckets_used, hash_get_n_entries,
83709         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
83710         hash_get_entries, hash_do_for_each, hash_string, is_prime,
83711         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
83712         Likewise.
83713         (SIZE_MAX): Define if not defined.
83714         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
83715         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
83716         hash_print):
83717         Use const * when possible.
83718         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
83719         (check_tuning): Fix bug: if tuning parameters were very close to
83720         0 or 1, rounding errors could have caused subscript violations.
83721         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
83722         (hash_initialize): Add 'fail:' label
83723         to free table and return NULL, and use it to simplify code.
83724         Use calloc rather than clearing the storage ourself.
83725         (hash_initialize, hash_rehash): Check for arithmetic overflow in
83726         buffer size calculations.
83727         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
83728         Include <stddef.h>, for size_t.
83729         * lib/hash-pjw.c (hash_pjw): Likewise.
83730         Switch to method described by Bruno Haible.
83731         Include <limits.h>, for CHAR_BIT.
83732         (SIZE_BITS): New macro.
83733
83734 2003-10-23  Paul Eggert  <eggert@twinsun.com>
83735
83736         * m4/getline.m4 (AM_FUNC_GETLINE):
83737         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
83738         hosts.  Problem reported by Derek Robert Price in
83739         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
83740         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
83741         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
83742
83743 2003-10-21  Paul Eggert  <eggert@twinsun.com>
83744
83745         * lib/getndelim2.c (getndelim2): When size calculation overflows,
83746         ceiling the allocation at NMAX bytes rather than silently
83747         discarding input bytes before NMAX is reached.  This makes
83748         a difference only if NMAX exceeds SIZE_MAX / 2.
83749
83750         * lib/obstack.c: Merge from glibc.
83751         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
83752         Add libc_hidden_def (_obstack_newchunk).
83753         (_obstack_free) [! defined _LIBC]: Remove.
83754         [defined _LIBC]: Make a strong alias from obstack_free, rather than
83755         a clone of the function body.
83756         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
83757         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
83758
83759         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
83760         glibc.
83761         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
83762         arg to memcpy.
83763
83764         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
83765         (obstack_ptr_grow_fast, obstack_int_grow_fast):
83766         Don't use lvalue casts, as GCC plans to remove support for them
83767         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
83768         was also present in the non-GCC version, indicating that this
83769         code had always been buggy and had never been widely used.
83770         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
83771         Use the fast variant of each macro, rather than copying the
83772         definiens of the fast variant; that way, we'll be more likely to
83773         catch future bugs in the fast variants.
83774
83775 2003-10-20  Bruno Haible  <bruno@clisp.org>
83776
83777         * modules/wait-process: New file.
83778         * MODULES.html.sh (func_all_modules): Add wait-process.
83779
83780 2003-10-20  Bruno Haible  <bruno@clisp.org>
83781
83782         * m4/wait-process.m4: New file.
83783
83784 2003-10-20  Bruno Haible  <bruno@clisp.org>
83785
83786         * lib/wait-process.h: New file, from GNU gettext.
83787         * lib/wait-process.c: New file, from GNU gettext.
83788
83789 2003-10-19  Jim Meyering  <jim@meyering.net>
83790
83791         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
83792         HPUX 10.20.
83793
83794 2003-10-18  Karl Berry  <karl@gnu.org>
83795
83796         * config/config.guess: update from config.
83797
83798 2003-10-16  Paul Eggert  <eggert@twinsun.com>
83799
83800         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
83801         (getgroups): First arg is int, not size_t.
83802         Don't let 'free' mangle errno.
83803
83804 2003-10-16  Paul Eggert  <eggert@twinsun.com>
83805
83806         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
83807
83808 2003-10-16  Karl Berry  <karl@gnu.org>
83809
83810         * config/config.{guess,sub}: update from config.
83811
83812 2003-10-16  Jim Meyering  <jim@meyering.net>
83813
83814         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
83815         memcpy.
83816
83817 2003-10-15  Paul Eggert  <eggert@twinsun.com>
83818
83819         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
83820         (SIZE_MAX): Remove.
83821         (new_exclude, add_exclude_file): Initial size no longer needs to
83822         be a power of 2.
83823         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
83824         our own address arithmetic overflow checking.
83825
83826         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
83827         (fnmatch): Do not alloca more than 2000 wide characters;
83828         instead, use malloc for large buffers.
83829         Check for address arithmetic overflow, and return -1
83830         with errno set to ENOMEM in that case.
83831         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
83832         (NEW_PATTERN): Do not alloca more than 8000 bytes;
83833         instead, return -1.  Check for address arithmetic overflow.
83834
83835 2003-10-14  Paul Eggert  <eggert@twinsun.com>
83836
83837         Handle invalid suffixes and overflow independently, so that
83838         callers can treat them independently as needed.  Fix some bugs in
83839         suffix handling, e.g., "100k@" was not diagnosed as an invalid
83840         suffix for a human-readable blocksize.  The major caller-visible
83841         change is the addition of a new
83842         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
83843         that both overflow and suffix chars were found.
83844
83845         * lib/human.c (humblock): Don't check separately for invalid suffix
83846         char; that is xstrtoumax's job (now that its bug is fixed).
83847         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
83848         INTMAX_MAX]: New macros.
83849         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
83850         TYPE_MAXIMUM): New macros.
83851         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
83852         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
83853         if overflow occurs, as it's what __strtol does and it's more useful
83854         in practice.
83855         (__xstrtol): If __strtol reports some error other than ERANGE,
83856         reflect it to the caller as LONGINT_INVALID.  If it reports
83857         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
83858         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
83859         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
83860         value.
83861         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
83862         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
83863         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
83864         [defined UINTMAX_MAX]: New macros.
83865
83866 2003-10-14  Bruno Haible  <bruno@clisp.org>
83867
83868         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
83869
83870 2003-10-14  Bruno Haible  <bruno@clisp.org>
83871
83872         * m4/sig_atomic_t: New file, from GNU gettext.
83873         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
83874
83875 2003-10-14  Bruno Haible  <bruno@clisp.org>
83876
83877         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
83878         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
83879         Also use volatile where needed.
83880
83881 2003-10-12  Paul Eggert  <eggert@twinsun.com>
83882
83883         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
83884         Change maintainer from Bruno Haible to 'all'.
83885
83886 2003-10-12  Paul Eggert  <eggert@twinsun.com>
83887
83888         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
83889
83890 2003-10-12  Paul Eggert  <eggert@twinsun.com>
83891
83892         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
83893         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
83894         and define in terms of the other primitives.
83895         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
83896         (SIZE_MAX): Define if not already defined.
83897         (array_size_overflow): New function.
83898         (xalloc_die): Abort instead of exiting if 'error' returns.
83899         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
83900         (xmalloc, xrealloc): Use them.
83901         (xcalloc): Check for address arithmetic overflow.
83902         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
83903         a bit faster than strcpy.
83904
83905 2003-10-10  Simon Josefsson  <jas@extundo.com>
83906
83907         * modules/argp (Depends-on): Add restrict and strcase.
83908
83909 2003-10-10  Simon Josefsson  <jas@extundo.com>
83910
83911         * m4/argp.m4: Add AC_C_INLINE.
83912
83913 2003-10-08  Paul Eggert  <eggert@twinsun.com>
83914
83915         Merge getpass from libc, plus a few fixes.
83916
83917         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
83918         Include <stdbool.h>.
83919         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
83920         __fsetlocking to empty.
83921         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
83922         do include <bits/libc-lock.h>.
83923         Do not include <fcntl.h>; not needed.
83924         [_LIBC]: Include <wchar.h>.
83925         (NOTCANCEL_MODE): New macro.
83926         (flockfile, funlockfile) [_LIBC]: New macros.
83927         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
83928         [!_LIBC]: New macros.
83929         (call_fclose): New function.
83930         (getpass): Use it.  Save tty stream separately; this simplifies the
83931         code and makes it more reliable if stdin happens to equal stdout.
83932         Invoke __fsetlocking on tty.
83933         Handle thread cancellation if needed.
83934         Namespace cleanup (use __tcgetattr, __getline).
83935         Use bool for Booleans.
83936         [USE_IN_LIBIO]: Handle wide streams.
83937         [!_LIBC]: Unconditionally do the fseek, since we don't know what
83938         stream might go where.
83939
83940         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
83941         doesn't have to include <stdio.h> before us.
83942         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
83943         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
83944         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
83945         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
83946         if not declared, so that we can use getpass.c code from libc without
83947         rewriting it.
83948         (flockfile, ftrylockfile, funlockfile): New macros.
83949
83950 2003-10-08  Paul Eggert  <eggert@twinsun.com>
83951
83952         * modules/getpass: Depend on stdbool.
83953
83954 2003-10-08  Paul Eggert  <eggert@twinsun.com>
83955
83956         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
83957
83958 2003-10-07  Karl Berry  <karl@gnu.org>
83959
83960         * config/config.{guess,sub}: update from config.
83961
83962 2003-10-06  Jim Meyering  <jim@meyering.net>
83963             Bruno Haible  <bruno@clisp.org>
83964
83965         This lets translators provide better translations for the
83966         "Written by ..." part of --version output.
83967         * lib/version-etc.h: Include stdarg.h.
83968         (version_etc_copyright): Declare as readonly.
83969         (version_etc): Make this function variadic with a NULL-terminated list
83970         of author name strings.
83971         (version_etc_va): New declaration.
83972         * lib/version-etc.c: Include stdarg.h, stdlib.h.
83973         (version_etc_copyright): Declare as readonly.
83974         (version_etc_va): New function. Provide a different translatable string
83975         for each possible number of authors < 10. Abbreviate when there are 10
83976         authors or more.
83977         (version_etc): Make this function variadic. Call version_etc_va.
83978         Suggestion from Gary V. Vaughan.
83979
83980         * lib/long-options.h (parse_long_options): Change prototype: the
83981         authors string is moved to the end and becomes variadic.
83982         * lib/long-options.c: Include stdarg.h.
83983         (parse_long_options): Make this function variadic, too.
83984         Call version_etc_va, not version_etc.
83985
83986 2003-10-06  Bruno Haible  <bruno@clisp.org>
83987
83988         * modules/version-etc-2: Remove file.
83989         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
83990
83991 2003-10-06  Bruno Haible  <bruno@clisp.org>
83992
83993         * modules/fatal-signal: New file.
83994         * MODULES.html.sh (func_all_modules): Add fatal-signal.
83995
83996 2003-10-06  Bruno Haible  <bruno@clisp.org>
83997
83998         * m4/fatal-signal.m4: New file.
83999         * m4/signalblocking.m4: New file, from GNU gettext.
84000
84001 2003-10-06  Bruno Haible  <bruno@clisp.org>
84002
84003         * lib/version-etc-2.h: Remove file.
84004         * lib/version-etc-2.c: Remove file.
84005
84006 2003-10-06  Bruno Haible  <bruno@clisp.org>
84007
84008         * lib/fatal-signal.h: New file, from GNU gettext.
84009         * lib/fatal-signal.c: New file, from GNU gettext.
84010
84011 2003-10-05  Paul Eggert  <eggert@twinsun.com>
84012
84013         * README: Rework advice for preventing empty .o files.
84014         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
84015         not <sys/types.h>.
84016
84017 2003-10-04  Karl Berry  <karl@gnu.org>
84018
84019         * lib/argp*: update from libc.
84020
84021 2003-10-04  Karl Berry  <karl@gnu.org>
84022
84023         * config/config.{guess,sub}: update from config.
84024
84025 2003-10-02  Bruno Haible  <bruno@clisp.org>
84026
84027         * modules/lchown (Include): Add lchown.h.
84028         * modules/time_r (Include): Use "..." syntax.
84029         * modules/xgetdomainname (Include): Add xgetdomainname.h.
84030
84031 2003-10-01  Simon Josefsson  <jas@extundo.com>
84032
84033         * MODULES.html.sh (func_all_modules): Move gethostname from section
84034         'based on' to section 'lacking' POSIX:2001.
84035
84036 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
84037
84038         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
84039         to output mode on the same stream.
84040
84041 2003-09-29  Paul Eggert  <eggert@twinsun.com>
84042
84043         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
84044         Fix arg typo in previous patch.
84045
84046 2003-09-28  Jim Meyering  <jim@meyering.net>
84047
84048         * lib/error.c: Correct cpp indentation.
84049
84050 2003-09-27  Paul Eggert  <eggert@twinsun.com>
84051
84052         * modules/free: New file.
84053
84054 2003-09-27  Paul Eggert  <eggert@twinsun.com>
84055
84056         * m4/free.m4: New file.
84057
84058 2003-09-27  Paul Eggert  <eggert@twinsun.com>
84059
84060         * lib/minmax.h (MIN, MAX)
84061         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
84062         Omit the special code that used __typeof__, since we worry that
84063         it could be more trouble than it's worth.  See:
84064         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
84065         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
84066
84067         * lib/free.c: New file.
84068
84069 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
84070
84071         Trivial fixes to Makefile.am parts of module listings.
84072         * modules/strstr: Append strstr.h to lib_SOURCES.
84073         * modules/strcase: Likewise, for strcase.h.
84074
84075 2003-09-27  Karl Berry  <karl@gnu.org>
84076
84077         * config/mkinstalldirs: update from automake.
84078
84079 2003-09-26  Paul Eggert  <eggert@twinsun.com>
84080
84081         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
84082         (error_tail): Do not loop, reallocating temporary buffer, since
84083         the output cannot contain more wide characters than the input
84084         contains bytes, the size must be big enough already.  This avoids
84085         one potential size overflow calculation.  Check for size overflow
84086         when calculating temporary buffer size.  Free temporary buffer
84087         when done, if it was allocated with malloc; this plugs a memory
84088         leak.  Remove casts from void * to pointers, that are no longer
84089         needed now that we're assuming C89 or better.
84090
84091         Merge error changes from glibc.
84092
84093         * lib/error.c, error.h: Update copyright notice header to match glibc.
84094         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
84095         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
84096         Disable cancellation while printing error.
84097         * lib/error.h: Prepend __ to parameter names.
84098
84099 2003-09-26  Jim Meyering  <jim@meyering.net>
84100
84101         * lib/error.c (error_tail): Move some declarations
84102         into inner scope where the local variables are used.
84103
84104 2003-09-26  Bruno Haible  <bruno@clisp.org>
84105
84106         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
84107         stpncpy().
84108         Don't define stpncpy through config.h; it's now done through stpncpy.h.
84109
84110 2003-09-26  Bruno Haible  <bruno@clisp.org>
84111
84112         * lib/stpncpy.h (gnu_stpncpy): New declaration.
84113         (stpncpy): Define as alias for gnu_stpncpy.
84114         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
84115
84116 2003-09-25  Simon Josefsson  <jas@extundo.com>
84117
84118         * lib/xgetdomainname.h: New file.
84119         * lib/xgetdomainname.c: New file.
84120
84121 2003-09-25  Simon Josefsson  <jas@extundo.com>
84122             Bruno Haible  <bruno@clisp.org>
84123
84124         * modules/getdomainname: New file.
84125         * modules/xgetdomainname: New file.
84126         * MODULES.html.sh (func_all_modules): Add getdomainname,
84127         xgetdomainname.
84128
84129 2003-09-25  Simon Josefsson  <jas@extundo.com>
84130             Bruno Haible  <bruno@clisp.org>
84131
84132         * m4/getdomainname.m4: New file.
84133
84134 2003-09-25  Simon Josefsson  <jas@extundo.com>
84135             Bruno Haible  <bruno@clisp.org>
84136
84137         * lib/getdomainname.h: New file.
84138         * lib/getdomainname.c: New file.
84139
84140 2003-09-25  Karl Berry  <karl@gnu.org>
84141
84142         * lib/argp-fmtstream.c, argp-help.c: update from libc.
84143
84144 2003-09-25  Karl Berry  <karl@gnu.org>
84145
84146         * config/install-sh: update from automake.
84147
84148 2003-09-25  Bruno Haible  <bruno@clisp.org>
84149
84150         * modules/version-etc-2: New file, from modules/version-etc with
84151         modifications.
84152         * MODULES.html.sh (func_all_modules): Add version-etc-2.
84153
84154 2003-09-25  Bruno Haible  <bruno@clisp.org>
84155
84156         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
84157         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
84158
84159 2003-09-24  Simon Josefsson  <jas@extundo.com>
84160
84161         * modules/xgethostname: Add xgethostname.h.
84162
84163 2003-09-24  Paul Eggert  <eggert@twinsun.com>
84164
84165         * lib/linebuffer.c (freebuffer): Don't free the argument, just
84166         the buffer associated with the argument.  Bug reported by
84167         Simon Josefsson.
84168
84169 2003-09-24  Paul Eggert  <eggert@twinsun.com>
84170
84171         * README: Document assumptions that 'int' is at least 32 bits
84172         wide, that integer arithmetic is 2's complement without overflow,
84173         that there are no holes in integer values, that adding sizes of
84174         two nonoverlapping objects can't overflow, and that all-bits-zero
84175         yields scalar zero.  Fix spelling and capitalization typos.
84176
84177 2003-09-19  Karl Berry  <karl@gnu.org>
84178
84179         * lib/argp.h: update from libc.
84180
84181 2003-09-17  Paul Eggert  <eggert@twinsun.com>
84182
84183         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
84184         to avoid spurious warnings like "AC_RUN_IFELSE was called before
84185         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
84186
84187 2003-09-17  Paul Eggert  <eggert@twinsun.com>
84188
84189         * gnulib-tool: Use "test -h", not "test -L", for portability
84190         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
84191         (tags_regexp): Remove, since \| doesn't conform to POSIX.
84192         (sed_extract_prog): Issue s commands one-by-one, rather than
84193         using \| in one s command.
84194
84195 2003-09-16  Paul Eggert  <eggert@twinsun.com>
84196
84197         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
84198         input error, instead of returning NULL the next time we are called
84199         (and therefore losing track of errno).
84200
84201 2003-09-16  Bruno Haible  <bruno@clisp.org>
84202
84203         * gnulib-tool (func_create_testdir): Warn about duplicated
84204         dependencies.
84205
84206 2003-09-15  Paul Eggert  <eggert@twinsun.com>
84207
84208         * modules/argmatch, modules/fatal, modules/obstack,
84209         modules/xalloc, modules/xgethostname: Sort dependencies by
84210         importance, not alphabetically.
84211
84212 2003-09-15  Paul Eggert  <eggert@twinsun.com>
84213
84214         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
84215         fails, so that the caller gets the proper errno.
84216
84217         * lib/readutmp.c (read_utmp): Likewise.
84218         Check for fstat error.  Close stream and free storage
84219         when failing.
84220
84221 2003-09-14  Karl Berry  <karl@gnu.org>
84222
84223         * config/srclist.txt (strdup.c): disable for c89 changes.
84224
84225 2003-09-14  Jim Meyering  <jim@meyering.net>
84226
84227         * lib/getloadavg.c: Correct cpp indentation.
84228         * lib/strdup.c: Likewise.
84229         * lib/vasnprintf.c: Likewise.
84230
84231 2003-09-14  Bruno Haible  <bruno@clisp.org>
84232
84233         * modules/fwriteerror: New file.
84234         * MODULES.html.sh (func_all_modules): Add fwriteerror.
84235
84236 2003-09-14  Bruno Haible  <bruno@clisp.org>
84237
84238         * lib/fwriteerror.h: New file.
84239         * lib/fwriteerror.c: New file.
84240
84241 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84242
84243         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
84244         modules/xgethostname, modules/xalloc: Depend on exit.
84245
84246 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84247
84248         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
84249
84250         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
84251         and AC_MINIX, too, so that their extensions are available.
84252
84253         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
84254         This macro has been superseded by gl_BACKUPFILE.
84255
84256         More patches to assume C89 or better.
84257
84258         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
84259
84260         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
84261         unconditionally.
84262         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
84263         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
84264         Include <string.h>, <stdlib.h> unconditionally.
84265         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
84266         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
84267         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
84268         headers or for string.h.
84269         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
84270         or strtoul.
84271
84272         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
84273         headers.
84274         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
84275         * m4/userspec.m4 (gl_USERSPEC): Likewise.
84276         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
84277         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
84278         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
84279         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
84280         memcpy, memset.
84281         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
84282         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
84283         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
84284         strtol.
84285         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
84286         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
84287         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
84288         strtoul.
84289
84290 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84291
84292         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
84293         * lib/obstack.c [!defined _LIBC]: Likewise.
84294         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
84295         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
84296         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
84297
84298         More changes to assume C89 or better.
84299
84300         * lib/error.c (error_tail): Assume vprintf.
84301
84302         * lib/argmatch.c (getenv): Remove decl.
84303         * lib/progreloc.c (get_full_program_name): Define via prototype.
84304         * lib/setenv.c (clearenv): Likewise.
84305         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
84306         needed.
84307         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
84308         (malloc, memcpy): Remove decls.
84309         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
84310         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
84311         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
84312         (memcpy): Remove macro.
84313         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
84314         (__P): Remove.  All uses removed.
84315         (PTR): Remove.  All uses changed to void *.
84316         (CHAR_BIT, NULL): Remove.
84317         (spaces, zeros, memset_space, memset_zero)
84318         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
84319         Remove.
84320         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
84321         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
84322         Define with prototype.
84323         Remove now-unnecessary prototype decl.
84324         (extra_args_spec): Assume ANSI C.  All uses changed.
84325         (extra_args_spec_iso): Remove.
84326         (my_strftime, emacs_strftimeu): Define via prototype.
84327         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
84328         unconditionally.
84329         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
84330         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
84331         (strtoul, strtol): Remove decls.
84332         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
84333         LONG_MAX): Remove.
84334         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
84335         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
84336         (LOCALE_PARAM_PROTO): New macro.
84337         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
84338         (INTERNAL (strtol), strtol): Define with a prototype.
84339         (PARAMS): Remove.  All uses removed.
84340         * lib/tempname.c: Include <string.h> unconditionally.
84341         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
84342         * lib/xgethostname.c (main): Define with a prototype.
84343         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
84344         Include <stdlib.h> unconditionally.
84345         (calloc, malloc, realloc, free): Remove decls.
84346         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
84347         Include <stdlib.h> unconditionally.  Sort include file names.
84348         (strtod): Remove.
84349         (xstrtod): Define with a prototype.
84350         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
84351         (strtol, strtoul): Remove decls.
84352
84353 2003-09-11  Paul Eggert  <eggert@twinsun.com>
84354
84355         More patches to assume C89 or better.
84356         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
84357         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
84358         string.h, memchr, STDC_HEADERS.
84359
84360 2003-09-11  Paul Eggert  <eggert@twinsun.com>
84361
84362         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
84363         Include <stdlib.h>, <string.h> unconditionally.
84364         Remove now-unnecessary cast to char *.
84365         * lib/strnlen.c: Include <string.h> unconditionally.
84366         * lib/yesno.c (yesno): Define with a prototype.
84367
84368 2003-09-11  Bruno Haible  <bruno@clisp.org>
84369
84370         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
84371
84372 2003-09-10  Jim Meyering  <jim@meyering.net>
84373
84374         * lib/error.c: Correct indentation of cpp directives.
84375
84376 2003-09-10  Bruno Haible  <bruno@clisp.org>
84377
84378         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
84379         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
84380         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
84381         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
84382         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
84383         <stdlib.h> and <string.h> checks.
84384         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
84385         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
84386
84387 2003-09-10  Bruno Haible  <bruno@clisp.org>
84388
84389         * lib/strcspn.c: Include <string.h> unconditionally.
84390         * lib/strpbrk.c: Include <string.h> unconditionally.
84391         * lib/strstr.c: Include <string.h> unconditionally.
84392         * lib/unicodeio.c: Include <string.h> unconditionally.
84393         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
84394         * lib/unsetenv.c: Likewise.
84395         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
84396         * lib/yesno.c: Include <stdlib.h> unconditionally.
84397         (rpmatch): Add prototype.
84398
84399 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84400
84401         More patches to assume C89 or better.
84402         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
84403         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
84404         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
84405         or for string.h.
84406         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
84407         stdlib.h.
84408         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
84409         C headers.
84410         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
84411         string.h.
84412         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
84413         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
84414         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
84415         or for string.h.
84416         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
84417         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
84418         C headers.
84419         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
84420         memcpy.
84421         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
84422         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
84423         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
84424         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
84425         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
84426         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
84427         string.h, free.
84428         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
84429         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
84430         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
84431         C headers, or for string.h.
84432         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
84433         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
84434         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
84435         headers, memory.h, stdlib.h, string.h, strings.h.
84436         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
84437         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
84438         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
84439         strchr.
84440         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
84441         headers, memory.h, string.h.
84442         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
84443         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
84444         free.
84445         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
84446         headers.
84447         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
84448         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
84449         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
84450         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
84451         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
84452
84453 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84454
84455         More K&R removal.
84456
84457         * lib/acosl.c (main): Use a prototype.
84458         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
84459         tanl.c: Likewise.
84460
84461         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
84462
84463         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
84464         (getopt, etopt_long, getopt_long_only, _getopt_internal)
84465         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
84466         with a prototype.
84467         * lib/getopt.c (const): Remove macro.
84468         Include <string.h> unconditionally.
84469         (my_index): Remove; all uses changed to strchr.
84470         (strlen): Remove decl.
84471         (exchange): Remove forward decl; no longer needed.
84472         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
84473         Define with prototype.
84474         * lib/getopt1.c (const): Remove macro.
84475         (getopt_long, getopt_long_only, main): Define with prototype.
84476
84477         * lib/getugroups.c: Include <string.h> unconditionally.
84478
84479         * lib/getusershell.c: Include <stdlib.h> unconditionally.
84480         (getusershell, setusershell, endusershell, readname, main):
84481         Define with prototypes.
84482
84483         * lib/group-member.c: Include group-member.h first.
84484         Include <stdlib.h> unconditionally.
84485
84486         * lib/hard-locale.c: Include hard-locale.h first.
84487         Include <stdlib.h>, <string.h> unconditionally.
84488
84489         * lib/hash.c (free, malloc): Remove decls.
84490         Include <stdlib.h> unconditionally.
84491
84492         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
84493         (getenv): Do not declare.
84494
84495         * lib/idcache.c: Include <string.h> unconditionally.
84496
84497         * lib/long-options.c: Include long-options.h first, to test interface.
84498         Include <stdlib.h> unconditionally.
84499
84500         * lib/makepath.c: Include makepath.h first, to test interface.
84501         Include <stdlib.h> and <string.h> unconditionally.
84502
84503         * lib/linebuffer.c: Include <stdlib.h>.
84504         (free): Remove decl.
84505
84506         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
84507         stddef.h. rpl_malloc returns void *, not char *.
84508         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
84509         prototype.
84510
84511         * lib/md5.h: Include <limits.h> unconditionally.
84512         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
84513         (__P): Remove; all uses removed.
84514         * lib/md5.c: Include "md5.h" first.
84515         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
84516         md5_buffer, md5_process_bytes, md5_process_block):
84517         Define with prototypes.
84518         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
84519         * lib/sha.c: Include "sha.h" first.
84520         Include <stdlib.h>, <string.h> unconditionally.
84521
84522         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
84523         * lib/memcmp.c (__ptr_t): Likewise.
84524         * lib/memrchr.c (__ptr_t): Likewise.
84525         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
84526         Include <string.h> unconditionally.
84527         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
84528         * lib/memchr.c: Include <stdlib.h> unconditionally.
84529         * lib/memchr.c (LONG_MAX): Remove.
84530         * lib/memrchr.c (LONG_MAX): Likewise.
84531         * lib/memchr.c (__memchr): Define via a prototype.
84532         * lib/memrchr.c (__memrchr): Likewise.
84533         * lib/memcmp.c (__P): Remove, and remove all uses.
84534         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
84535         Remove forward decls; no longer needed.
84536         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
84537         Use types required by C89 in prototype.
84538
84539         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
84540         * lib/savedir.c: Likewise.
84541         * lib/mkdir.c (free): Remove decl.
84542         * lib/rmdir.c (rmdir): Define with a prototype.
84543         * lib/savedir.c: Include savedir.h first, to test interface.
84544
84545         * lib/mktime.c (STDC_HEADERS): Remove.
84546         Include <stdlib.h>, <string.h> unconditionally.
84547
84548         * lib/modechange.c: Include <stdlib.h> unconditionally.
84549         (malloc): Remove decl.
84550
84551         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
84552         (free): Remove decl.
84553
84554         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
84555         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
84556         (This type really should be intptr_t, but that's a C99ism.)
84557         (_obstack_memcpy): Remove: all uses changed to memcpy.
84558         Include <string.h> unconditionally.
84559         (struct obstack): Assume __STDC__ for types of members
84560         chunkfun, freefun, extra_arg.
84561         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
84562         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
84563         obstack_begin, obstack_specify_allocation,
84564         obstack_specify_allocation_with_arg, obstack_chunkfun,
84565         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
84566         Remove unprototyped decls and the macros that use them.
84567         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
84568         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
84569         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
84570         (defined __STDC__ && __STDC__)]:
84571         Remove nonprototyped code.
84572         Include <stdlib.h> unconditionally.
84573         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
84574         _obstack_allocated_p, _obstack_free, obstack_free,
84575         _obstack_memory_used, print_and_abort):
84576         Define using prototypes.
84577         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
84578         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
84579         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
84580         obstack_next_free, obstack_object_size, obstack_room) [0]:
84581         Remove unused, unprototyped code.
84582
84583         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
84584
84585         * lib/physmem.c (physmem_total, physmem_available, main): Define
84586         with prototypes.
84587
84588         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
84589         (main): Define with a prototype.
84590
84591         * lib/posixver.c (getenv): Remove decl.
84592
84593         * lib/putenv.c (malloc): Returns void *, not char *.
84594         Include <string.h> unconditionally.
84595         (strchr, memcpy, NULL): Do not define.
84596
84597         * lib/readtokens.c: Include readtokens.h first, to test interface.
84598         Include <stdlib.h>, <string.h> unconditionally.
84599         (init_tokenbuffer): Define with a prototype.
84600
84601         * lib/regex.c (PARAMS): Remove.  All uses removed.
84602         All uses of _RE_ARGS removed, too.
84603         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
84604         unconditionally.
84605         (bzero): Assume memset exists.
84606         (memcmp, memcpy, NULL): Remove.
84607         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
84608         char, or assignments to local vars of type signed char.
84609         (init_syntax_once, PREFIX(extract_number_and_incr),
84610         PREFIX(print_partial_compiled_pattern),
84611         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
84612         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
84613         PREFIX(regex_grow_registers), PREFIX(regex_compile),
84614         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
84615         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
84616         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
84617         wcs_compile_range, byte_compile_range, truncate_wchar,
84618         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
84619         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
84620         count_mbs_length, wcs_re_match_2_internal,
84621         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
84622         PREFIX(alt_match_null_string_p),
84623         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
84624         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
84625         regfree, PREFIX(extract_number)): Define with prototype.  Remove
84626         now-unnecessary declaration, if any.
84627         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
84628         regcomp, regexec):
84629         Remove now-unnecessary casts among pointer types.
84630         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
84631
84632         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
84633         (free): Remove decl.
84634
84635         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
84636
84637         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
84638         (free): Remove decl.
84639
84640         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
84641         * lib/xgetcwd.c: Likewise.
84642
84643         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
84644         (free): Remove decl.
84645
84646         * lib/strchrnul.c (strchrnul): Define with a prototype.
84647         Fix bug: c_in was not converted to char before searching.
84648
84649         The following changes are not K&R related:
84650
84651         * lib/group-member.h: Include <sys/types.h>, so that this file is
84652         self-contained.
84653         * lib/makepath.h: Likewise.
84654
84655         * lib/getusershell.c (readname, default_index, line_size, readname):
84656         Use size_t, not int, for sizes.
84657         (readname): If the size overflows, report an error instead of
84658         looping forever.
84659
84660 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84661
84662         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
84663         libc.
84664
84665 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84666
84667         * README: New section: portability guidelines.
84668
84669 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
84670
84671         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
84672         C89 spec.
84673
84674 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
84675
84676         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
84677
84678 2003-09-08  Paul Eggert  <eggert@twinsun.com>
84679
84680         Assume C89 or better; remove K&R cruft.
84681         A few of these changes were first proposed by Derek Robert Price
84682         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
84683
84684         * lib/addext.c: Include <string.h> unconditionally.
84685         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
84686         Don't declare getenv or malloc.
84687
84688         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
84689         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
84690         (NULL): Remove.
84691         (find_stack_direction, alloca): Use prototypes.
84692
84693         * lib/atexit.c (atexit): Define using a prototype.
84694
84695         * lib/basename.c, dirname.c, stripslash.c:
84696         Include <string.h> unconditionally.
84697
84698         * lib/bcopy.c: Include <stddef.h>.
84699         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
84700
84701         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
84702
84703         * lib/error.h (error, error_at_line, error_print_progname)
84704         [! (defined (__STDC__) && __STDC__)]: Remove decls.
84705         * lib/error.c: Include error.h first, to check interface.
84706         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
84707         (VA_START): Remove; all uses changeed to va_start.
84708         (exit, strerror): Remove decls.
84709         (error_print_progname): Prototype uncondionally.
84710         Don't include <errno.h>; no longer needed.
84711         (private_strerror): Remove.
84712         (error_tail): Always define.
84713         (error, error_at_line): Assume C89 or better; always use prototypes.
84714         * lib/fatal.c: Include "fatal.h" first, to test interface.
84715         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
84716         (VA_START): Remove; all uses changed to va_start.
84717         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
84718         this case.
84719         (exit): Remove decl.
84720         (fatal): Prototype unconditionally.  Assume va_start works.
84721         Abort at end, to pacify gcc.
84722
84723         * lib/euidaccess.c (main): Define with a prototype.
84724
84725         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
84726
84727         * lib/exitfail.c: Include <stdlib.h> unconditionally.
84728
84729         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
84730         prototypes.
84731         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
84732         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
84733         (getenv): Remove decl.
84734         (fnmatch): Define using a prototype.
84735         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
84736         (FCT): Define using a prototype.
84737
84738         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
84739
84740         * lib/gethostname.c: Include <stddef.h>.
84741         (gethostname): Define with prototype.  Length is size_t, not int.
84742
84743 2003-09-08  Paul Eggert  <eggert@twinsun.com>
84744
84745         Assume C89 or better; remove K&R cruft.
84746         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
84747         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
84748         string.h, getenv, malloc.
84749         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
84750         headers.
84751         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
84752         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
84753         do not check for strerror.
84754         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
84755         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
84756         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
84757         do not check for doprnt or vprintf.
84758         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
84759         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
84760
84761 2003-09-08  Paul Eggert  <eggert@twinsun.com>
84762
84763         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
84764         getversion.c should have been removed then, but was accidentally
84765         preserved.
84766
84767         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
84768         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
84769
84770 2003-09-08  Karl Berry  <karl@gnu.org>
84771
84772         * config/config.sub, config.guess, srclistvars.sh: update from savannah
84773                 config, forget about prep.
84774
84775         * config/depcomp, missing: update from automake.
84776
84777 2003-09-07  Paul Eggert  <eggert@twinsun.com>
84778
84779         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
84780         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
84781
84782 2003-09-07  Paul Eggert  <eggert@twinsun.com>
84783
84784         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
84785         copy_tm_result.  Bug reported by Simon Josefsson in
84786         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
84787
84788 2003-09-06  Paul Eggert  <eggert@twinsun.com>
84789
84790         * m4/time_r.m4: New file.
84791         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
84792         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
84793         is. Check for timegm declaration.
84794         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
84795         Do not check for gmtime_r.
84796         Replace mktime if __mktime_internal does not exist and if mktime
84797         hasn't been replaced already.
84798
84799 2003-09-06  Paul Eggert  <eggert@twinsun.com>
84800
84801         * lib/time_r.c, lib/time_r.h: New files.
84802
84803         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
84804         __localtime_r.
84805         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
84806         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
84807
84808         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
84809         __gmtime_r.
84810         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
84811         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
84812         Include <time_r.h>.
84813
84814         * lib/timegm.c: Switch to glibc implementation, with the following
84815         changes:
84816         [defined HAVE_CONFIG_H]: Include <config.h>.
84817         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
84818         (__mktime_internal) [!defined _LIBC]: New decl.
84819         (__gmtime_r) [!defined _LIBC]: New macro and function.
84820         (timegm): Use a prototype, since gnulib assumes C89.
84821         Do not bother declaring tmp to be const, as it's not really usefu.
84822         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
84823         (timegm): Declare only if HAVE_DECL_TIMEGM.
84824
84825 2003-09-06  Paul Eggert  <eggert@twinsun.com>
84826
84827         * MODULES.html.sh (func_all_modules): Add time_r.
84828         * modules/time_r: New file.
84829         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
84830         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
84831
84832 2003-09-03  Paul Eggert  <eggert@twinsun.com>
84833
84834         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
84835         Bug reported by Lute Kamstra in
84836         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
84837
84838         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
84839         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
84840         course with correspondingly smaller numbers for tomorrow and
84841         yesterday.  From Tadayoshi Funaba.  Originally installed into
84842         sh-utils on 1999-08-07, but the patch got lost (I guess during the
84843         coreutils merge?).
84844
84845 2003-08-31  Simon Josefsson  <jas@extundo.com>
84846
84847         * modules/timegm: New file.
84848         * MODULES.html.sh (func_all_modules): Add timegm.
84849
84850 2003-08-31  Simon Josefsson  <jas@extundo.com>
84851
84852         * m4/timegm.m4: New file.
84853
84854 2003-08-31  Simon Josefsson  <jas@extundo.com>
84855
84856         * lib/timegm.h: New file.
84857         * lib/timegm.c: New file.  Based on
84858         wget-1.8.2/src/http.c:mktime_from_utc.
84859
84860 2003-08-31  Karl Berry  <karl@gnu.org>
84861
84862         * lib/argp.h: update from libc.
84863
84864 2003-08-28  Bruno Haible  <bruno@clisp.org>
84865
84866         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
84867         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
84868         followed by '#define fnmatch fnmatch_posix' gives an error.
84869
84870 2003-08-28  Bruno Haible  <bruno@clisp.org>
84871
84872         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
84873         warning on QNX, which defines O_BINARY to 000000.
84874
84875 2003-08-27  Jim Meyering  <jim@meyering.net>
84876
84877         * m4/mkstemp.m4: Require that the system mkstemp be able to create
84878         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
84879         would fail after 32.  Reported by Danny Levinson.  Details here:
84880         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
84881
84882 2003-08-24  Bruno Haible  <bruno@clisp.org>
84883
84884         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
84885         MSVC7 <stdio.h> is included later.
84886
84887 2003-08-22  Simon Josefsson  <jas@extundo.com>
84888
84889         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
84890
84891 2003-08-20  Karl Berry  <karl@gnu.org>
84892
84893         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
84894
84895 2003-08-20  Bruno Haible  <bruno@clisp.org>
84896
84897         * modules/progname: New file.
84898         * MODULES.html.sh (func_all_modules): Add progname.
84899
84900 2003-08-20  Bruno Haible  <bruno@clisp.org>
84901
84902         * lib/progname.h: New file, from GNU gettext.
84903         * lib/progname.c: New file, from GNU gettext.
84904         * lib/progreloc.c: New file, from GNU gettext.
84905
84906 2003-08-19  Jim Meyering  <jim@meyering.net>
84907
84908         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
84909         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
84910
84911 2003-08-19  Bruno Haible  <bruno@clisp.org>
84912
84913         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
84914         more.
84915
84916 2003-08-19  Bruno Haible  <bruno@clisp.org>
84917
84918         * lib/xstrdup.c: Assume <string.h> exists.
84919
84920 2003-08-18  Paul Eggert  <eggert@twinsun.com>
84921
84922         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
84923         in makefile rules.
84924
84925 2003-08-18  Jim Meyering  <jim@meyering.net>
84926
84927         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
84928         * m4/lib-ld.m4: Likewise.
84929
84930 2003-08-18  Jim Meyering  <jim@meyering.net>
84931
84932         * lib/setenv.h: Indent nested cpp directive.
84933         * lib/vasnprintf.c: Remove trailing blanks.
84934
84935 2003-08-17  Simon Josefsson  <jas@extundo.com>
84936
84937         * modules/xstrndup: New file.
84938         * MODULES.html.sh (func_all_modules): Add xstrndup.
84939
84940 2003-08-17  Simon Josefsson  <jas@extundo.com>
84941
84942         * modules/argp: Fix autoconf macro name. Add more dependencies.
84943
84944 2003-08-17  Simon Josefsson  <jas@extundo.com>
84945
84946         * m4/xstrndup.m4: New file.
84947
84948 2003-08-17  Simon Josefsson  <jas@extundo.com>
84949
84950         * m4/argp.m4: New file.
84951
84952 2003-08-17  Simon Josefsson  <jas@extundo.com>
84953             Bruno Haible  <bruno@clisp.org>
84954
84955         * lib/xstrndup.h: New file.
84956         * lib/xstrndup.c: New file.
84957
84958 2003-08-17  Bruno Haible  <bruno@clisp.org>
84959
84960         * modules/strndup (Files, Include): Add lib/strndup.h.
84961
84962 2003-08-17  Bruno Haible  <bruno@clisp.org>
84963
84964         * modules/euidaccess (Files): Add lib/euidaccess.h.
84965
84966 2003-08-17  Bruno Haible  <bruno@clisp.org>
84967
84968         * lib/strndup.h: New file.
84969
84970 2003-08-17  Bruno Haible  <bruno@clisp.org>
84971
84972         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
84973         like AC_GNU_SOURCE.
84974         * modules/extensions (configure.ac): Comment out the invocation of
84975         gl_USE_SYSTEM_EXTENSIONS.
84976
84977 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84978
84979         Merges from coreutils, etc.
84980         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
84981         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
84982         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
84983         fixing a typo.
84984         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
84985         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
84986
84987 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84988
84989         Document merge from coreutils.
84990         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
84991         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
84992         * modules/utime: Add m4/utimes-null.m4.
84993
84994 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84995
84996         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
84997         space, undoing this 2003-08-12 change:
84998         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
84999
85000 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85001
85002         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
85003         strtoul.c from libc, undoing this 2003-08-12 change:
85004         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
85005
85006 2003-08-16  Jim Meyering  <jim@meyering.net>
85007
85008         Merges from coreutils.
85009         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
85010         prefix.  Adjust cache variables similarly.  Create 500 rather than
85011         just 300 files, to exercise bug on Darwin6.5, too.
85012         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
85013         $missing_dir.
85014         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
85015         AM_SYS_POSIX_TERMIOS.
85016         Reported by mkc@mathdogs.com.
85017         Also change use of $am_cv_sys_posix_termios
85018         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
85019         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
85020         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
85021         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
85022         in /proc/mounts until it finds one with matching device number.  This
85023         is unnecessary when the FILE argument *is* a mount point.  No stat call
85024         is necessary in that case.  So, disable the statvfs-testing code on
85025         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
85026         as RedHat bug# 84846.
85027         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
85028         to 1MB, so as not to render systems with no stack size limit (e.g.,
85029         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
85030         Include <unistd.h>.  On some systems,
85031         it is required for the definition of _SC_PAGESIZE.
85032
85033 2003-08-16  Jim Meyering  <jim@meyering.net>
85034
85035         Merge from coreutils.
85036         * lib/xstrtoimax.c: #else #if -> #elif.
85037         * lib/xstrtoumax.c: Likewise.
85038
85039 2003-08-16  Jim Meyering  <jim@meyering.net>
85040
85041         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
85042         * m4/utimes.m4: Removed.
85043         * m4/utimes-null.m4: Renamed from utimes.m4.
85044
85045         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
85046         to 1MB, so as not to render systems with no stack size limit (e.g.,
85047         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
85048         Include <unistd.h>.  On some systems,
85049         it is required for the definition of _SC_PAGESIZE.
85050
85051 2003-08-16  Jim Meyering  <jim@meyering.net>
85052         and Paul Eggert  <eggert@cs.ucla.edu>
85053
85054         Merges from coreutils, etc.
85055
85056         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
85057         using the latest version from cvs.  This avoids problems with #line
85058         directives using a vendor (Sun) compiler.
85059         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
85060         Don't set GETGROUPS_LIB here; now it's
85061         done via getgroups.m4's wrapper function.
85062         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
85063         rather than just in sh-util/configure.in, so that the
85064         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
85065         same.
85066         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
85067         AC_FUNC_GETLOADAVG where to find getloadavg.c.
85068         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
85069         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
85070         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
85071         Remove code that is now done by the newly-required macros.
85072         Append $(EXEEXT) to DF_PROG.
85073         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
85074         Do not invoke or require the following here,
85075         since prereq.m4 or some gnulib .m4 now does this for us:
85076         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
85077         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
85078         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
85079         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
85080         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
85081         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
85082         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
85083         AC_FUNC_OBSTACK.
85084         Do not replace the following functions, as this is now the job
85085         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
85086         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
85087         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
85088         atexit getpass, strdup, getpagesize.
85089         Replace 'raise'.
85090         Do not check for the following functions, as this is now the job
85091         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
85092         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
85093         setregid.
85094         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
85095         Check for sys/sysctl.h.
85096         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
85097         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
85098         of checking for ssize_t ourselves.
85099
85100         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
85101         Require every macro that gnulib/modules/* suggests for us.
85102         (jm_PREREQ_ADDEXT): New macro.
85103         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
85104         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
85105
85106         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
85107         (gl_PHYSMEM): Use it.
85108         Also check for `table' function.
85109         Check for new headers and functions.
85110         Add check for sys/sysmp.h.
85111         With suggestions from Kaveh Ghazi.
85112         Ignore headers that are present but cannot be compiled.  This
85113         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
85114         C 5.4.
85115
85116 2003-08-15  Paul Eggert  <eggert@twinsun.com>
85117
85118         Document merge from coreutils.
85119         * modules/userspec: Depend on posixver.
85120         * modules/strftime: Depend on tzset.
85121
85122 2003-08-15  Paul Eggert  <eggert@twinsun.com>
85123
85124         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
85125         rather than tab, after '#' in shell-script copyright notices.
85126         Suggested by Bruno Haible.
85127
85128 2003-08-15  Paul Eggert  <eggert@twinsun.com>
85129
85130         * config/srclist-update: Use three spaces, rather than tab, after '#'
85131         in shell-script copyright notices.  Suggested by Bruno Haible.
85132         Remove unnecessary parenthesization in regular expression.
85133
85134 2003-08-15  Jim Meyering  <jim@meyering.net>
85135
85136         Merge from coreutils.
85137         * lib/xgethostname.c: Include <stdlib.h>.
85138         (xghostname): Don't exit for anything other than memory-related
85139         failure; just return NULL.
85140         * lib/userspec.c: Include "posixver.h".
85141         (parse_user_spec): Accept `.' as a separator only
85142         in pre-POSIX-200112 mode.
85143         * lib/strtoimax.c: Use #elif rather than #else #if.
85144         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
85145         Remove function, now that we can rely on a working tzset function.
85146         [!_LIBC]: Ensure that the required autoconf test has been run.
85147         [!defined _NL_CURRENT && HAVE_STRFTIME]:
85148         Use underlying_strftime for %r.
85149         * lib/sha.c: Merge in some clean-up and optimization changes from
85150         glibc.
85151         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
85152         Ensure that it is a multiple of 64.
85153         Rearrange loop exit tests so as to avoid performing an
85154         additional fread after encountering an error or EOF.
85155         * lib/realloc.c: Update copyright date.
85156
85157 2003-08-15  Jim Meyering  <jim@meyering.net>
85158         and Paul Eggert  <eggert@twinsun.com>
85159
85160         Merge from coreutils.
85161         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
85162         member but strut utmpx does not.  Needed for AIX 4.3.3.
85163         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
85164
85165 2003-08-15  Jim Meyering  <jim@meyering.net>
85166         and Paul Eggert  <eggert@cs.ucla.edu>
85167
85168         Merges from coreutils, etc.
85169         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
85170         Require gl_FUNC_TZSET_CLOBBER.
85171         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
85172         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
85173         members.
85174
85175 2003-08-14  Paul Eggert  <eggert@twinsun.com>
85176
85177         Help the merge from coreutils.
85178         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
85179         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
85180         * m4/tzset.m4: Use it too.
85181
85182 2003-08-14  Paul Eggert  <eggert@twinsun.com>
85183
85184         * modules/tzset: New file.
85185
85186 2003-08-14  Jim Meyering  <jim@meyering.net>
85187
85188         Merges from coreutils.
85189         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
85190         variable names, rather than @FNMATCH_H@.
85191         * modules/alloca: Likewise for $(ALLOCA_H).
85192
85193         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
85194         the three copies of the literal target, `fnmatch.h'.
85195         * modules/alloca (alloca.h): Likewise.
85196
85197 2003-08-14  Jim Meyering  <jim@meyering.net>
85198
85199         Merge from coreutils.
85200         * m4/tzset.m4: New file.
85201         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
85202         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
85203         otherwise, AIX 5.1 systems would end up using the latter.
85204         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
85205         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
85206         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
85207         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
85208
85209 2003-08-14  Jim Meyering  <jim@meyering.net>
85210
85211         Merge from coreutils.
85212         * lib/obstack.h: Whitespace changes.
85213         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
85214         and xcalloc return values.
85215         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
85216         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
85217         hang on OSF/1 5.1 for DIR on both local and remote file systems.
85218         Reported by (and fix confirmed by) Nelson H. F. Beebe.
85219         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
85220         error from mntctl.
85221         Use mntctl's return value to drive the entry-processing loop, since
85222         we can't rely on the value of the vmt_length member in the last
85223         entry.  On some systems doing so could result in exhausting
85224         virtual memory.  Based in part on a patch from Mike Jetzer.
85225
85226 2003-08-14  Jim Meyering  <jim@meyering.net>
85227         and Paul Eggert  <eggert@twinsun.com>
85228
85229         Merges from coreutils, plus other fixes.
85230         * lib/physmem.c: Merge in portability changes from gcc/libiberty
85231         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
85232         for credits and details.  Thanks to Kaveh Ghazi for helping
85233         to keep these files in sync.
85234         (ARRAY_SIZE): Define it.
85235         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
85236         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
85237         (memcasecmp): Don't assume size_t fits in unsigned int.
85238         Remove casts and duplicate code.
85239         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
85240         (memcpy): Remove definition.
85241         Merge in some clean-up and optimization changes from glibc.
85242         [BLOCKSIZE]: Move definition to top of file.
85243         Ensure that it is a multiple of 64.
85244         Rearrange loop exit tests so as to avoid performing an
85245         additional fread after encountering an error or EOF.
85246         * lib/md5.h (md5_uintptr): Define.
85247         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
85248         return to the initial working directory.  Preserve errno
85249         for caller.
85250         * lib/idcache.c: Include "xalloc.h".
85251         (xmalloc, xrealloc): Remove decls.
85252         (getuser): Remove casts no longer required in C89.
85253         * lib/human.c: Include stdio.h, for sprintf.
85254         * lib/group-member.c: Include "xalloc.h".
85255         (xmalloc, xrealloc): Remove decls.
85256         (get_group_info): Remove casts no longer required in C89.
85257         * lib/getusershell.c (readname): Remove casts no longer required in
85258         C89.
85259         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
85260         * lib/getline.c: Whitespace fix, from coreutils.
85261
85262 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85263
85264         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
85265         Check for isascii.
85266
85267         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
85268         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
85269         Undo previous (whitespace-only) change.
85270
85271 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85272
85273         * lib/exclude.c: Include <ctype.h>
85274         (IN_CTYPE_DOMAIN): New macro.
85275         (is_space): New fn.
85276         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
85277         and empty lines.
85278
85279         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
85280         Undo previous (whitespace-only) change.
85281
85282 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85283
85284         * config/srclist-update: Change update back to the old behavior,
85285         leaving whitespace alone.  Use one 'sed' command rather than a
85286         pipeline.
85287         (fixlicense): Now a variable, not a function.
85288         (remove_trailing_blanks): Remove.
85289         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
85290         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
85291         Undo previous (whitespace-only) change.
85292
85293 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85294
85295         Merge from coreutils.
85296         * modules/euidaccess: Add lib_SOURCES, include for new
85297         file euidaccess.h
85298
85299 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85300
85301         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
85302         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
85303         Normalize leading white space and remove trailing white space.
85304
85305         Merge from coreutils
85306         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
85307
85308         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
85309         0.12.1.  These files are now being upgraded automatically by
85310         ../config/srclist-update.
85311
85312 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85313
85314         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
85315         Normalize leading white space and remove trailing white space.
85316         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
85317         notice, as per ../config/srclist-update.
85318
85319         Merge from coreutils.
85320         * lib/euidaccess.h: New file.
85321         * lib/euidaccess.c: Include it.
85322         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
85323         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
85324         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
85325
85326 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85327
85328         * config/srclist-update: Add copyright notice.
85329         (remove_id_lines, remove_trailing_blanks): New constants.
85330         (fixfile): Use them to normalize spacing a bit in copied files.
85331         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
85332         Normalize leading white space and remove trailing white space.
85333
85334         * config/texinfo.tex: Sync with texinfo.
85335
85336         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
85337         strtoul.c from libc, to merge coreutils whitespace changes.
85338
85339         * config/srclist.txt: Get the following m4 files from gettext:
85340         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
85341         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
85342         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
85343         wint_t.m4.
85344
85345 2003-08-12  Karl Berry  <karl@gnu.org>
85346
85347         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
85348         been made.
85349
85350 2003-08-11  Paul Eggert  <eggert@twinsun.com>
85351
85352         * modules/gnu-source, m4/gnu-source.m4:
85353         Remove; we're assuming Autoconf 2.54 or later now.
85354         Suggested by Bruno Haible.
85355         * MODULES.html.sh (func_all_modules): Remove gnu-source.
85356
85357 2003-08-11  Bruno Haible  <bruno@clisp.org>
85358
85359         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
85360
85361 2003-08-11  Bruno Haible  <bruno@clisp.org>
85362
85363         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
85364         (vasnprintf): Use it instead of wcslen.
85365
85366 2003-08-11  Bruno Haible  <bruno@clisp.org>
85367
85368         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
85369         value to ensure that _Bool promotes to int. Use #define for _Bool when
85370         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
85371
85372 2003-08-10  Karl Berry  <karl@gnu.org>
85373
85374         * lib/regex.h: update from libc (whitespace fix).
85375
85376 2003-08-09  Paul Eggert  <eggert@twinsun.com>
85377
85378         Merge some files from coreutils.  These changes were
85379         originally made by Jim Meyering.
85380         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
85381         many older Unixes require this.
85382         * lib/alloca.c (alloca): Remove cast to argument of free;
85383         no longer needed in C89.
85384         * lib/alloca_.h, regex.h: Fix white space to match
85385         what GNU indent does.
85386
85387 2003-08-09  Paul Eggert  <eggert@twinsun.com>
85388
85389         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
85390         apparently Emacs's Unicode mode got confused before my 2003-08-05
85391         checkin.
85392
85393 2003-08-08  Paul Eggert  <eggert@twinsun.com>
85394
85395         * m4/extensions.m4: New file.
85396         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
85397         Require gl_USE_SYSTEM_EXTENSIONS.
85398         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
85399         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
85400
85401 2003-08-08  Paul Eggert  <eggert@twinsun.com>
85402
85403         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
85404         * modules/extensions, modules/gnu-source: New files.
85405         * modules/timespec, modules/unlocked-io: Depend on extensions.
85406
85407 2003-08-07  Paul Eggert  <eggert@twinsun.com>
85408
85409         * modules/restrict: New file.
85410         * MODULES.html.sh (func_all_modules): Add restrict.
85411         * modules/regex: Depend on restrict.
85412
85413 2003-08-07  Paul Eggert  <eggert@twinsun.com>
85414
85415         * m4/restrict.m4: New file.
85416         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
85417
85418 2003-08-07  Bruno Haible  <bruno@clisp.org>
85419
85420         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
85421         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
85422
85423 2003-08-07  Bruno Haible  <bruno@clisp.org>
85424
85425         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
85426         makes the module 'getndelim2' compatible with the module 'getline'.
85427
85428 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85429
85430         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
85431         byte with "\201" to avoid glitches when editing that source file
85432         with multi-gnome-terminal.
85433
85434 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85435
85436         * lib/bumpalloc.h: Remove.
85437
85438 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85439
85440         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
85441         * modules/bumpalloc: Remove.
85442
85443 2003-08-04  Paul Eggert  <eggert@twinsun.com>
85444
85445         * lib/getloadavg.c: Change copyright notice and spacing to conform to
85446         GNU coding style.
85447
85448         Merge from coreutils.
85449         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
85450         1. From glibc.
85451         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
85452         from Karl Berry, implemented by Jim Meyering.
85453         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
85454         from Dmitry V. Levin.
85455         Remove anachronistic cast of xrealloc.
85456         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
85457         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
85458         type. Otherwise, it wouldn't compile with at least /bin/cc on
85459         ymp-cray-unicos9.0.2.X.
85460         Combine two mostly-identical uses of alloca into one.
85461         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
85462
85463 2003-08-04  Dave Love  <d.love@dl.ac.uk>
85464
85465         [From Emacs.]
85466
85467         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
85468         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
85469         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
85470         obsolete NLIST_NAME_UNION.
85471         [__GNU__]: Undef BSD and FSCALE.
85472         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
85473
85474 2003-08-03  Paul Eggert  <eggert@twinsun.com>
85475
85476         * lib/stdbool_.h (_Bool): Make it signed char, instead of
85477         an enum type, so that it's guaranteed to promote to int.  See:
85478         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
85479
85480 2003-08-03  Karl Berry  <karl@gnu.org>
85481
85482         * config/depcomp: update from automake.
85483
85484 2003-07-31  Paul Eggert  <eggert@twinsun.com>
85485
85486         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
85487         (strerror): Don't assume that a printable int fits in 14 bytes.
85488
85489 2003-07-31  Bruno Haible  <bruno@clisp.org>
85490
85491         * modules/getpass-gnu: New file.
85492         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
85493
85494 2003-07-31  Bruno Haible  <bruno@clisp.org>
85495
85496         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
85497
85498 2003-07-24  Karl Berry  <karl@gnu.org>
85499
85500         * config/missing: update from automake.
85501
85502 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
85503             Bruno Haible  <bruno@clisp.org>
85504
85505         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
85506         * lib/getline.c (getline, getdelim): Likewise.
85507         Remove _GNU_SOURCE define; now it's defined in config.h through
85508         m4/getline.m4.
85509
85510 2003-07-23  Karl Berry  <karl@gnu.org>
85511
85512         * config/config.sub: update from prep.
85513
85514 2003-07-22  Paul Eggert  <eggert@twinsun.com>
85515
85516         * modules/xalloc (Depends-on): Add exitfail.
85517         * modules/xmemcoll: Likewise.
85518
85519 2003-07-22  Paul Eggert  <eggert@twinsun.com>
85520
85521         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
85522         over-parenthesization in macros.
85523
85524         Sync with coreutils.
85525
85526         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
85527         required by C99.
85528
85529         Use `exit_failure' for xalloc and xmemcoll instead of their own
85530         private exit-failure variables.
85531         * lib/xalloc.h (xalloc_exit_failure): Remove.
85532         * lib/xmalloc.c: Likewise.  Include exitfail.h.
85533         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
85534         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
85535         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
85536         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
85537
85538 2003-07-20  Jim Meyering  <jim@meyering.net>
85539
85540         * modules/closeout (Depends-on): Add exitfail.
85541         Suggestion from Bruno Haible.
85542
85543 2003-07-19  Karl Berry  <karl@gnu.org>
85544
85545         * config/config.sub: update from prep.
85546
85547 2003-07-18  Paul Eggert  <eggert@twinsun.com>
85548
85549         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
85550         Remove.
85551         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
85552         to test that it can stand by itself.  Include "exitfail.h".
85553         Clients should set exit_failure instead.
85554         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
85555
85556 2003-07-18  Bruno Haible  <bruno@clisp.org>
85557
85558         * modules/getndelim2: New file.
85559         * modules/getline: Share files with module getndelim2.
85560         * modules/getnline: Depend on getndelim2 instead of sharing files with
85561         it. Add getnline.c to lib_SOURCES.
85562         * MODULES.html.sh (func_all_modules): Add getndelim2.
85563
85564 2003-07-18  Bruno Haible  <bruno@clisp.org>
85565
85566         * m4/getndelim2.m4: New file.
85567         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
85568         invoke gl_PREREQ_GETNDELIM2.
85569         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
85570         gl_PREREQ_GETNDELIM2.
85571         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
85572         gl_GETNDELIM2.
85573
85574 2003-07-18  Bruno Haible  <bruno@clisp.org>
85575
85576         * lib/getndelim2.h: New file.
85577         * lib/getndelim2.c: Make into a module of its own. Include config.h,
85578         getndelim2.h.
85579         (getndelim2): Make non-static. Change return type to ssize_t.
85580         * lib/getline.h: Change argument names.
85581         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
85582         * lib/getnline.c: Include getndelim2.h.
85583
85584 2003-07-18  Andreas Schwab  <schwab@suse.de>
85585
85586         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
85587
85588 2003-07-17  Karl Berry  <karl@gnu.org>
85589
85590         * config/config.sub: update from prep.
85591
85592 2003-07-17  Bruno Haible  <bruno@clisp.org>
85593
85594         * modules/getnline: New file.
85595         * modules/getline: Add lib/getndelim2.c to source file list.
85596         * MODULES.html.sh (func_all_modules): Add getnline.
85597
85598 2003-07-17  Bruno Haible  <bruno@clisp.org>
85599
85600         * m4/getnline.m4: New file.
85601
85602 2003-07-17  Bruno Haible  <bruno@clisp.org>
85603
85604         * m4/Makefile.am.in: Remove file.
85605         * m4/Makefile.am: Remove file.
85606         * m4/Makefile.in: Remove file.
85607
85608 2003-07-17  Bruno Haible  <bruno@clisp.org>
85609
85610         * lib/getnline.h: New file.
85611         * lib/getnline.c: New file.
85612         * lib/getndelim2.c: New file, extracted from getline.c.
85613         (getndelim2): Renamed from getdelim2, with added nmax argument.
85614         * lib/getline.c: Include getndelim2.c.
85615         (getdelim2): Moved out to getndelim2.c.
85616         (getline, getdelim): Update.
85617
85618 2003-07-17  Bruno Haible  <bruno@clisp.org>
85619
85620         * lib/Makefile.am: Remove file.
85621         * lib/Makefile.in: Remove file.
85622
85623 2003-07-17  Bruno Haible  <bruno@clisp.org>
85624
85625         * configure.in: Remove file.
85626         * Makefile.in: Remove file.
85627
85628 2003-07-17  Bruno Haible  <bruno@clisp.org>
85629
85630         * MODULES.html.sh: Put the </BODY> right before </HTML>.
85631
85632 2003-07-16  Karl Berry  <karl@gnu.org>
85633
85634         * config/srclist-update: was running fixlicense twice, which caused
85635                 texinfo.tex to be nullified for some reason.  Simplify,
85636                 $gplsrc is no longer needed as far as I can see?
85637
85638 2003-07-16  Jim Meyering  <jim@meyering.net>
85639
85640         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
85641
85642 2003-07-15  Paul Eggert  <eggert@twinsun.com>
85643
85644         * config/srclist.txt: Get the following files from gettext-runtime/intl
85645         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
85646         ref-del.sin.  From Bruno Haible.
85647         * config/srclist-update (fixfile): Change grep pattern again, since the
85648         previous fix didn't work (there was another trailing $).  Use
85649         '[$]' to escape the $s.
85650
85651 2003-07-15  Karl Berry  <karl@gnu.org>
85652
85653         * lib/vasnprintf.c: update from gettext.
85654
85655 2003-07-15  Karl Berry  <karl@gnu.org>
85656
85657         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
85658         gets expanded when surrounded by '$'.
85659
85660 2003-07-15  Jim Meyering  <jim@meyering.net>
85661
85662         * modules/save-cwd: Don't depend on error.  From Derek Price.
85663
85664 2003-07-15  Jim Meyering  <jim@meyering.net>
85665
85666         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
85667
85668 2003-07-14  Simon Josefsson  <jas@extundo.com>
85669
85670         * modules/mempcpy: New file.
85671         * MODULES.html.sh (func_all_modules): Add mempcpy.
85672
85673 2003-07-14  Simon Josefsson  <jas@extundo.com>
85674
85675         * m4/mempcpy.m4: New file.
85676
85677 2003-07-14  Simon Josefsson  <jas@extundo.com>
85678
85679         * lib/mempcpy.h: New file.
85680         * lib/mempcpy.c: New file.
85681
85682 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85683
85684         * modules/getdate, modules/posixtm: Depend on mktime.
85685
85686 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85687
85688         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
85689         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
85690         unicodeio.c, unicodeio.h, unlocked-io.h:
85691         Switch from LGPL to GPL.
85692
85693 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85694
85695         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
85696         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
85697         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
85698         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
85699         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
85700         updated automatically by ../config/srclist-update.  This changes
85701         their license from LPGL to GPL.
85702
85703 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85704
85705         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
85706         assumed to refer to the root of the most recent stable gettext version.
85707         * config/srclistvars.sh: Add defaults for eggert.
85708         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
85709         Match "This program" as well as "The program".  This is needed
85710         for gettext.
85711
85712 2003-07-14  Jim Meyering  <jim@meyering.net>
85713
85714         Don't emit diagnostics.  Let callers do that.
85715         * lib/save-cwd.c: Don't include "error.h".
85716         (save_cwd): Don't call error.  Ensure that errno is valid
85717         when returning nonzero.
85718
85719         * lib/save-cwd.h (restore_cwd): Update prototype.
85720         * lib/save-cwd.c (restore_cwd): Remove two parameters.
85721         Simplify.  Don't call error upon failure.  Let callers do that.
85722         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
85723         when auditing is enabled.  But don't bother updating the #if.
85724
85725 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
85726
85727         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
85728         it breaks C++ compilation.
85729         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
85730
85731 2003-07-10  Simon Josefsson  <jas@extundo.com>
85732
85733         * modules/strchrnul (Makefile.am): Add strchrnul.h.
85734
85735 2003-07-10  Jim Meyering  <jim@meyering.net>
85736
85737         * m4/clock_time.m4: Remove trailing blank.
85738         * m4/intmax_t.m4: Likewise.
85739
85740 2003-07-10  Jim Meyering  <jim@meyering.net>
85741
85742         * lib/vasnprintf.c: Remove trailing blanks.
85743         Make cpp indentation consistent.
85744
85745 2003-07-09  Paul Eggert  <eggert@twinsun.com>
85746
85747         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
85748         posixver.c, strftime.c, strnlen.c, strverscmp.c:
85749         Switch from LGPL to GPL.
85750
85751 2003-07-09  Paul Eggert  <eggert@twinsun.com>
85752
85753         * config/srclist.txt: Sort sublists.  Add
85754         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
85755         that differ from gnulib for one reason or another; we'd like this list
85756         to be smaller but for now let's document what we have.
85757
85758 2003-07-08  Paul Eggert  <eggert@twinsun.com>
85759
85760         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
85761         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
85762         and sweeter "eval x=$x".
85763         * config/srclist.txt: Get lib/argp* from glibc.
85764
85765 2003-07-07  Paul Eggert  <eggert@twinsun.com>
85766
85767         * lib/mktime.c: Fix some boundary cases and remove need for floating
85768         point.
85769
85770         Issue a compile-time diagnostic if time_t is floating point, or if
85771         two's complement arithmetic is not in effect, or if arithmetic
85772         right shift does not propagate the sign.  These assumptions were
85773         all in the original code but they weren't checked.
85774
85775         (TIME_T_MIDPOINT, verify): New macros.
85776         (__isleap): Remove; it has integer overflow problems.
85777         (leapyear): New function, without those problems.
85778         (ydhms_tm_diff): Remove; splitting into two parts.
85779         (ydhms_diff): New function, containing the arithmetic part of
85780         the old ydhms_tm_diff function.  Issue a compile-time
85781         diagnostic if we are not using C99 integer division.
85782         Avoid casts when possible.
85783         (guess_time_tm): New function, containing the checking part of
85784         the old ydhms_tm_diff function.  Return the new value, rather than
85785         the difference between it and the old.  Accept a new argument T
85786         so that *T specifies the old value.  Check for overflow in the result.
85787
85788         (__mktime_internal): Use a time_t offset, not a long int offset.
85789         This undoes the 2003-06-04 change, which is no longer needed now
85790         that we have better overflow checking.
85791         (localtime_offset): Likewise.
85792
85793         (__mktime_internal): Avoid harmful overflow on hosts where time_t
85794         and long are 64-bit but int is only 32-bit.
85795         (ydhms_diff): Use long int to store year1 and yday1.
85796         Issue a compile-time diagnostic if long int is not wide enough.
85797
85798         (__mktime_internal): Use long int to store adjusted year and yday.
85799         Use plain C rather than preprocessor commands, if that doesn't
85800         affect efficiency.
85801         Check for overflow (and try to repair) after each probe
85802         rather than checking only at the very end.  This avoids some bugs
85803         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
85804         does not equal GMT offset at maximum time).
85805         Use integer to check for overflow rather than floating point; this
85806         is more portable to non-IEEE hosts, and is a tad faster.
85807         When we detect that we are oscillating between two values,
85808         don't check whether tm_isdst has the requested value, since
85809         we already know the answer.  When tm_isdst has the wrong value,
85810         use a different heuristic to find the right one, based on the
85811         extreme values actually observed in practice in tz2003a,
85812         rather than the (overly optimistic) "previous 3 calendar quarters".
85813
85814         (not_equal_tm, print_tm, check_result): Use "const T" rather than
85815         "T const" to accommodate glibc style.
85816         (check_result): Use less-confusing report format.  "long" -> "long int.
85817         (main): Likewise.
85818         Don't loop if the iteration overflows time_t.
85819         Allow a negative step in the iteration.
85820
85821 2003-07-06  Karl Berry  <karl@gnu.org>
85822
85823         * config/depcomp: update from automake.
85824         * config/config.sub: update from prep.
85825
85826 2003-07-03  Karl Berry  <karl@gnu.org>
85827
85828         * config/config.guess: update from prep.
85829
85830 2003-07-01  Paul Eggert  <eggert@twinsun.com>
85831
85832         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
85833         xreadlink.c now includes it unconditionally.
85834
85835 2003-07-01  Paul Eggert  <eggert@twinsun.com>
85836
85837         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
85838         having it depend on HAVE_SYS_TYPES_H.
85839
85840 2003-07-01  Bruno Haible  <bruno@clisp.org>
85841
85842         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
85843         <sys/types.h> should be sufficient.
85844         Reported by Paul Eggert.
85845
85846 2003-06-26  Karl Berry  <karl@gnu.org>
85847
85848         * config/depcomp: update from automake.
85849
85850 2003-06-26  Bruno Haible  <bruno@clisp.org>
85851
85852         * modules/human: Depend on module stdbool.
85853
85854 2003-06-25  Bruno Haible  <bruno@clisp.org>
85855
85856         * modules/readlink: New file.
85857         * modules/xreadlink: Depend on it.
85858         * MODULES.html.sh (func_all_modules): Add readlink.
85859
85860 2003-06-25  Bruno Haible  <bruno@clisp.org>
85861
85862         * m4/readlink.m4: New file.
85863
85864 2003-06-25  Bruno Haible  <bruno@clisp.org>
85865
85866         * lib/readlink.c: New file.
85867
85868 2003-06-22  Karl Berry  <karl@gnu.org>
85869
85870         * config/srclist.txt: update mkinstalldirs from automake.
85871         * config/mkinstalldirs: update.
85872
85873 2003-06-22  Bruno Haible  <bruno@clisp.org>
85874
85875         Portability to mingw32.
85876         * m4/ssize_t.m4: New file, from GNU gettext.
85877         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
85878         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
85879
85880 2003-06-22  Bruno Haible  <bruno@clisp.org>
85881
85882         * modules/safe-read: Add m4/ssize_t.m4.
85883         * modules/xreadlink: Add m4/ssize_t.m4.
85884
85885 2003-06-20  Bruno Haible  <bruno@clisp.org>
85886
85887         Assume C89, so PARAMS isn't needed.
85888         * lib/unicodeio.h (PARAMS): Remove.
85889         * lib/unicodeio.c: Don't use PARAMS.
85890
85891 2003-06-18  Karl Berry  <karl@gnu.org>
85892
85893         * config/config.{guess,sub}: update from prep.
85894
85895 2003-06-18  Jim Meyering  <jim@meyering.net>
85896
85897         Merge changes from coreutils.
85898         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
85899         Remove explicit declarations of xmalloc and realloc.
85900         Include xalloc.h.
85901         (read_utmp): Remove anachronistic cast of xmalloc.
85902
85903 2003-06-17  Paul Eggert  <eggert@twinsun.com>
85904
85905         Assume C89, so PARAMS isn't needed.
85906         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
85907         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
85908         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
85909         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
85910         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
85911         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
85912         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
85913         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
85914         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
85915         lib/xstrtod.h, lib/xstrtol.h: Likewise.
85916         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
85917         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
85918         no longer needed. Anyway, config.h should always be included before any
85919         other file.
85920
85921 2003-06-11  Simon Josefsson  <jas@extundo.com>
85922
85923         * modules/sysexits: New file.
85924         * MODULES.html.sh (func_all_modules): Add sysexits.
85925
85926 2003-06-11  Simon Josefsson  <jas@extundo.com>
85927
85928         * lib/sysexit_.h: New file.
85929
85930 2003-06-11  Derek Price  <derek@ximbiot.com>
85931
85932         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
85933         necessary.
85934
85935 2003-06-11  Bruno Haible  <bruno@clisp.org>
85936
85937         * m4/sysexits.m4: New file.
85938
85939 2003-06-10  Simon Josefsson  <jas@extundo.com>
85940
85941         * lib/argp.h: New file, from glibc.
85942         * lib/argp-ba.c: New file, from glibc.
85943         * lib/argp-eexst.c: New file, from glibc.
85944         * lib/argp-fmtstream.c: New file, from glibc.
85945         * lib/argp-fmtstream.h: New file, from glibc.
85946         * lib/argp-fs-xinl.c: New file, from glibc.
85947         * lib/argp-help.c: New file, from glibc.
85948         * lib/argp-namefrob.h: New file, from glibc.
85949         * lib/argp-parse.c: New file, from glibc.
85950         * lib/argp-pv.c: New file, from glibc.
85951         * lib/argp-pvh.c: New file, from glibc.
85952         * lib/argp-xinl.c: New file, from glibc.
85953
85954 2003-06-10  Simon Josefsson  <jas@extundo.com>
85955
85956         * modules/strchrnul: New file.
85957
85958 2003-06-10  Simon Josefsson  <jas@extundo.com>
85959
85960         * modules/argp: New file.
85961
85962 2003-06-10  Simon Josefsson  <jas@extundo.com>
85963
85964         * m4/strchrnul.m4: New file.
85965
85966 2003-06-10  Simon Josefsson  <jas@extundo.com>
85967
85968         * lib/strchrnul.h: New file.
85969         * lib/strchrnul.c: New file.
85970
85971 2003-06-10  Bruno Haible  <bruno@clisp.org>
85972
85973         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
85974
85975 2003-06-07  Karl Berry  <karl@gnu.org>
85976
85977         * config/config.{guess,sub}: update from prep.
85978
85979 2003-06-07  Jim Meyering  <jim@meyering.net>
85980
85981         * modules/strtod: Use $(...) notation, not @...@ for
85982         AC_REPLACE'd variables.
85983         * modules/localcharset: Likewise.
85984
85985 2003-06-07  Jim Meyering  <jim@meyering.net>
85986
85987         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
85988         in place of my name in the copyright comment.
85989         Remove definition and uses of __P.
85990
85991         From coreutils.
85992         * lib/stat.c: Don't declare xmalloc explicitly.
85993         Instead, include "xalloc.h".
85994         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
85995         xrealloc, and xcalloc return values.
85996         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
85997         Improve comment.
85998         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
85999
86000 2003-06-07  Bruno Haible  <bruno@clisp.org>
86001
86002         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
86003         avoid AC_CONFIG_LINKS.
86004         * modules/fnmatch (Makefile.am): Use explicit creation rule for
86005         fnmatch.h, to avoid AC_CONFIG_LINKS.
86006         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
86007
86008 2003-06-07  Bruno Haible  <bruno@clisp.org>
86009
86010         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
86011         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
86012         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
86013         directory.
86014         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
86015         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
86016         directory.
86017
86018 2003-06-06  Jim Meyering  <jim@meyering.net>
86019
86020         Merge from coreutils.
86021         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
86022         Consolidate declarations and initializations of *_base* locals.
86023
86024         Merge from coreutils.
86025         This avoids a core dump on systems without GNU putenv,
86026         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
86027         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
86028         (unsetenv): New static function, from GNU libc.
86029         (rpl_putenv): Use it.
86030
86031         * lib/modechange.c: Remove trailing blanks.
86032
86033         Merge from coreutils.
86034         * lib/fsusage.c: Remove declaration of statfs.
86035         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
86036
86037         * lib/posixtm.c: Include <stdbool.h> unconditionally.
86038
86039 2003-06-06  Jim Meyering  <jim@meyering.net>
86040
86041         * lib/stdbool_.h: Renamed from stdbool.h.in.
86042
86043 2003-06-06  Jim Meyering  <jim@meyering.net>
86044             Bruno Haible  <bruno@clisp.org>
86045
86046         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
86047         Adjust Makefile.am snippet not to redirect directly to target.
86048         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
86049
86050 2003-06-05  Paul Eggert  <eggert@twinsun.com>
86051
86052         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
86053         mismatch, look in future quarters as well as past.  This fixes a
86054         bug when processing fall-backwards gaps immediately after a long
86055         period of daylight-saving time.
86056
86057         * lib/mktime.c: Assume freestanding C89 or better.
86058         (HAVE_LIMITS_H): Remove.  Assume it's 1.
86059         (__P): Remove; not used.
86060         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
86061         (mktime, not_equal_tm, print_tm, check_result,
86062         main): Use prototypes.  Use const * where appropriate.
86063         (main): Fix typo in testing code that uncovered by above changes.
86064         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
86065
86066 2003-06-04  Paul Eggert  <eggert@twinsun.com>
86067
86068         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
86069         locale.h, localeconv.  This merges changes from coreutils.
86070
86071         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
86072         It can be removed after the next Autoconf is released.
86073         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
86074         needed.
86075
86076 2003-06-04  Paul Eggert  <eggert@twinsun.com>
86077
86078         * lib/mktime.c: Fix Debian bug 177940
86079         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
86080         (localtime_offset): Now long int, not time_t, because we want it
86081         to be guaranteed to be signed.  All uses changed.
86082         (__mktime_internal): If overflow would occur when adding offset,
86083         don't add it.
86084
86085         Merge 'human' changes from coreutils.  Rewrite to support
86086         locale-specific notations like thousands separators.
86087         * lib/human.c: Simplify authorship notice.
86088         Include human.h immediately after config.h.
86089         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
86090         <limits.h>: Do not include, since human.h does.
86091         (SIZE_MAX, UINTMAX_MAX): New macros.
86092         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
86093         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
86094         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
86095         (power_letter): Renamed from suffixes.
86096         (generate_suffix_backwards): Remove.
86097         (adjust_value): Now takes int style (because of human.h changes)
86098         and long double value (for greater precision on some platforms).
86099         (group_number): New function.
86100         (human_readable): Use it.  Use integer options, not enum.
86101         Put the options before the sizes in the arg list.
86102         Support all the new options.
86103         The old human_readable function has been removed;
86104         use inttostr.h instead.
86105         (human_readable, default_block_size, humblock):
86106         Use uintmax_t, not int, for block sizes.
86107         (human_readable_inexact, block_size_types): Remove.
86108         (block_size_opts): New constant.
86109         (human_options): Renamed from human_block_size, with new signature
86110         that allows block sizes up to UINTMAX_MAX.  All callers changed.
86111         * lib/human.h: Add copyright and authorship notice.
86112         Include <limits.h> and <stdbool.h> unconditionally.
86113         (PARAMS): Remove.  All uses removed.
86114         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
86115         (enum human_inexact_style): Remove tag; now a nameless enum.
86116         (human_floor, human_ceiling, human_round_to_even): Now have
86117         values 2, 0, 1 rather than -1, 1, 0.
86118         (human_group_digits, human_suppress_point_zero, human_autoscale,
86119         human_base_1024, human_SI, human_B): New constants.
86120         (human_readable_inexact, human_block_size): Remove.
86121         (human_readable): Size args are now uintmax_t, not int.
86122         (human_options): New decl.
86123
86124         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
86125         unnecessary now that we assume C89 or better.  This change
86126         imported from coreutils.
86127
86128         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
86129         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
86130         in the 2003-05-30 sync from glibc.
86131
86132         .h files should stand alone, but we shouldn't include <sys/types.h>
86133         if we can get away with just <stddef.h>.
86134
86135         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
86136         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
86137         rather than <sys/types.h>, as we merely need size_t.
86138         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
86139         to get size_t.
86140         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
86141         Include <stdio.h>, to get FILE.
86142         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
86143         memcasecmp.h has included <stddef.h> and all we need is size_t.
86144         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
86145         our interface, instead of including <sys/types.h>
86146
86147 2003-06-04  Paul Eggert  <eggert@twinsun.com>
86148
86149         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
86150         now, as glibc mktime is buggy on non-glibc systems.
86151
86152 2003-06-03  Karl Berry  <karl@gnu.org>
86153
86154         * config/config.sub: update from prep.
86155
86156 2003-06-02  Paul Eggert  <eggert@twinsun.com>
86157
86158         [from coreutils]
86159         Fix some minor time-related bugs with POSIX time arguments.
86160         Some valid time stamps were being rejected (notably -1, and
86161         time stamps before 1900 on 64-bit hosts).  And some invalid
86162         time stamps were being accepted, e.g. September 31.
86163
86164         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
86165         that we can return (time_t) -1 successfully.
86166         * lib/posixtm.c: Likewise.
86167         [HAVE_STDBOOL_H]: Include <stdbool.h>.
86168         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
86169         (t): Remove static var.
86170         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
86171         of static var.  All uses changed.
86172         (year): Do not reject years before 1900; they can occur with
86173         64-bit time_t.
86174         (posix_time_parse): Do not check for out-of-range components;
86175         that is now the caller's responsibility, since our checks were
86176         only approximations.
86177         (posixtime): Use mktime to check for out-of-range components,
86178         since it knows them exactly.
86179         If mktime returns (time_t) -1, check whether an error actually occurred
86180         by invoking localtime on -1.
86181         (main) [TEST_POSIXTIME]: Check for input data errors, and report
86182         posixtime failures better.
86183         Improve the test data (in comments only).
86184
86185 2003-06-02  Karl Berry  <karl@gnu.org>
86186
86187         * config/mkinstalldirs (version): new variable.
86188         (--version): new option.
86189         (usage): improve message.
86190
86191 2003-05-30  Karl Berry  <karl@gnu.org>
86192
86193         * lib/mktime.c: update from libc.
86194
86195 2003-05-30  Bruno Haible  <bruno@clisp.org>
86196
86197         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
86198         * config/config.rpath: Upgrade to gettext-0.12.1.
86199
86200 2003-05-30  Bruno Haible  <bruno@clisp.org>
86201
86202         * m4/gettext.m4: Upgrade to gettext-0.12.1.
86203         * m4/nls.m4: New file, from gettext-0.12.1.
86204         * m4/po.m4: New file, from gettext-0.12.1.
86205         * m4/progtest.m4: Upgrade to gettext-0.12.1.
86206
86207 2003-05-30  Bruno Haible  <bruno@clisp.org>
86208
86209         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
86210         * lib/localcharset.h: Likewise.
86211         * lib/localcharset.c: Likewise.
86212
86213 2003-05-29  Karl Berry  <karl@gnu.org>
86214
86215         * config/config.rpath: update from gettext.
86216
86217 2003-05-28  Paul Eggert  <eggert@twinsun.com>
86218
86219         Assume the headers required for C89 freestanding compilers.
86220         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
86221         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
86222         * m4/human.m4 (gl_HUMAN): Likewise.
86223         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
86224         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
86225         * m4/userspec.m4 (gl_USERSPEC): Likewise.
86226         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
86227         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
86228         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
86229
86230 2003-05-28  Paul Eggert  <eggert@twinsun.com>
86231
86232         Assume the headers required for C89 freestanding compilers.
86233         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
86234         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
86235         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
86236         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
86237         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
86238         define, since <limits.h> is guaranteed to do that.
86239         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
86240         * lib/exclude.c: Include <stdbool.h> unconditionally.
86241         * lib/tempname.c: Include <stddef.h> unconditionally.
86242         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
86243         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
86244         <stddef.h> does that.
86245         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
86246         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
86247         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
86248         needed.
86249         * lib/xstrtol.c: Likewise.
86250         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
86251         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
86252
86253         * lib/addext.c (addext): Use assignment rather than cast, to avoid
86254         warnings on some platforms.
86255
86256         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
86257         arbitrarily.
86258
86259 2003-05-26  Jim Meyering  <jim@meyering.net>
86260
86261         Merge in a change from coreutils:
86262         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
86263         that is guaranteed to be `no'.  Use `no_such_member' to indicate
86264         that condition, rather than `-1' which is slightly misleading.
86265         Change the name of the cache variable to have the gl_ prefix.
86266         Prompted by a patch from Richard Dawe for DJGPP.
86267
86268 2003-05-24  Karl Berry  <karl@gnu.org>
86269
86270         * config/config.guess: update from prep.
86271
86272 2003-05-22  Karl Berry  <karl@gnu.org>
86273
86274         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
86275
86276 2003-05-20  Karl Berry  <karl@gnu.org>
86277
86278         * config/config.guess: update from prep.
86279
86280 2003-05-18  Karl Berry  <karl@gnu.org>
86281
86282         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
86283         might actually be set by the user.
86284
86285         * config/depcomp, install-sh, mdate-sh: update from automake.
86286
86287 2003-05-17  Bruno Haible  <bruno@clisp.org>
86288
86289         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
86290         invalid expansion for AC_EGREP_CPP.
86291         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
86292         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
86293         Suggested by Akim Demaille <akim@epita.fr> in
86294         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
86295
86296 2003-05-12  Jim Meyering  <jim@meyering.net>
86297
86298         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
86299         the space-padded-by-default conversion specifiers, %e, %k, %l.
86300
86301 2003-05-12  Bruno Haible  <bruno@clisp.org>
86302
86303         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
86304         the string is longer than 4 KB.
86305
86306 2003-05-11  Karl Berry  <karl@gnu.org>
86307
86308         * config/config.{guess,sub}: update from prep.
86309
86310 2003-05-09  Bruno Haible  <bruno@clisp.org>
86311
86312         * modules/error: Add m4/strerror_r.m4 to file list.
86313
86314 2003-05-03  Bruno Haible  <bruno@clisp.org>
86315
86316         Upgrade to Unicode-4.0.
86317         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
86318         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
86319         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
86320         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
86321         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
86322         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
86323         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
86324         Change width of U+E0100..U+E01EF from 1 to 0.
86325
86326 2003-04-25  Jim Meyering  <jim@meyering.net>
86327
86328         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
86329         of type size_t, not int.
86330
86331 2003-04-25  Bruno Haible  <bruno@clisp.org>
86332
86333         * lib/copy-file.c: Include <stddef.h>, for size_t.
86334
86335 2003-04-21  Paul Eggert  <eggert@twinsun.com>
86336
86337         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
86338         code which expansion is under static control.  Patch imported from
86339         Akim Demaille's patch to Bison; see
86340         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
86341
86342 2003-04-14  Bruno Haible  <bruno@clisp.org>
86343
86344         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
86345
86346 2003-04-11  Jim Meyering  <jim@meyering.net>
86347
86348         Merge changes from Coreutils.
86349
86350         2003-03-22  Jim Meyering  <jim@meyering.net>
86351
86352         * lib/strftime.c (widen): Cast alloca return value to proper type.
86353
86354         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
86355
86356         From GNU libc.
86357         * lib/strftime.c (my_strftime): Handle very large width
86358         specifications for numeric values correctly.  Improve checks for
86359         overflow.
86360
86361         2003-01-19  Jim Meyering  <jim@meyering.net>
86362
86363         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
86364         definitions.
86365         (nl_get_alt_digit) [! defined my_strftime]: Define.
86366         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
86367         _nl_get_alt_digit and _nl_get_walt_digit.
86368
86369         * lib/strftime.c (my_strftime): Merge in locale-related changes from
86370         libc. These changes have no effect outside of _LIBC.
86371
86372 2003-04-10  Bruno Haible  <bruno@clisp.org>
86373
86374         * modules/findprog: New file.
86375         * MODULES.html.sh (func_all_modules): Add it.
86376
86377 2003-04-10  Bruno Haible  <bruno@clisp.org>
86378
86379         * m4/findprog.m4: New file.
86380         * m4/eaccess.m4: New file.
86381
86382 2003-04-10  Bruno Haible  <bruno@clisp.org>
86383
86384         * lib/findprog.h: New file, from GNU gettext.
86385         * lib/findprog.c: New file, from GNU gettext.
86386
86387 2003-04-05  Jim Meyering  <jim@meyering.net>
86388
86389         Merge changes from Coreutils.
86390
86391         * lib/exclude.h (PARAMS): Remove definition and uses.
86392         * lib/exclude.c: Remove uses of `PARAMS'.
86393
86394         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
86395         Add test-cases for DOS filenames. Declare program_name.
86396         (main): Set up program_name.  Patch by Rich Dawe.
86397
86398         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
86399         error from mntctl.
86400         Use mntctl's return value to drive the entry-processing loop, since
86401         we can't rely on the value of the vmt_length member in the last
86402         entry.  On some systems doing so could result in exhausting
86403         virtual memory.  Based in part on a patch from Mike Jetzer.
86404
86405 2003-04-04  Bruno Haible  <bruno@clisp.org>
86406
86407         * modules/linebreak: New file.
86408         * MODULES.html.sh (func_all_modules): Add it.
86409
86410 2003-04-04  Bruno Haible  <bruno@clisp.org>
86411
86412         * m4/linebreak.m4: New file.
86413
86414 2003-04-04  Bruno Haible  <bruno@clisp.org>
86415
86416         * lib/linebreak.h: New file, from GNU gettext.
86417         * lib/linebreak.c: New file, from GNU gettext with slight
86418         modifications.
86419         * lib/lbrkprop.h: New file, from GNU gettext.
86420
86421 2003-04-03  Bruno Haible  <bruno@clisp.org>
86422
86423         * modules/utf8-ucs4: New file.
86424         * modules/utf16-ucs4: New file.
86425         * modules/ucs4-utf8: New file.
86426         * modules/ucs4-utf16: New file.
86427         * MODULES.html.sh (func_all_modules): Add them.
86428
86429 2003-04-03  Bruno Haible  <bruno@clisp.org>
86430
86431         * m4/utf-ucs4.m4: New file.
86432         * m4/ucs4-utf.m4: New file.
86433
86434 2003-04-03  Bruno Haible  <bruno@clisp.org>
86435
86436         * lib/utf8-ucs4.h: New file, from GNU gettext.
86437         * lib/utf16-ucs4.h: New file, from GNU gettext.
86438         * lib/ucs4-utf8.h: New file, from GNU gettext.
86439         * lib/ucs4-utf16.h: New file, from GNU gettext.
86440
86441 2003-04-02  Bruno Haible  <bruno@clisp.org>
86442
86443         * modules/binary-io: New file.
86444         * MODULES.html.sh (func_all_modules): Add it.
86445
86446 2003-04-02  Bruno Haible  <bruno@clisp.org>
86447
86448         * lib/binary-io.h: New file, from GNU gettext.
86449
86450 2003-04-01  Bruno Haible  <bruno@clisp.org>
86451
86452         * modules/pathname: New file.
86453         * MODULES.html.sh (func_all_modules): Add it.
86454
86455 2003-04-01  Bruno Haible  <bruno@clisp.org>
86456
86457         * lib/pathname.h: New file, from GNU gettext.
86458         * lib/concatpath.c: New file, from GNU gettext.
86459
86460 2003-03-30  Bruno Haible  <bruno@clisp.org>
86461
86462         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
86463
86464 2003-03-30  Bruno Haible  <bruno@clisp.org>
86465
86466         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
86467         function chown() doesn't exist.
86468
86469 2003-03-28  Bruno Haible  <bruno@clisp.org>
86470
86471         * modules/copy-file: New file.
86472         * MODULES.html.sh (func_all_modules): Add it.
86473
86474 2003-03-28  Bruno Haible  <bruno@clisp.org>
86475
86476         * m4/copy-file.m4: New file.
86477
86478 2003-03-28  Bruno Haible  <bruno@clisp.org>
86479
86480         * lib/copy-file.h: New file, from GNU gettext.
86481         * lib/copy-file.c: New file, from GNU gettext.
86482
86483 2003-03-18  Jim Meyering  <jim@meyering.net>
86484
86485         * lib/quote.c (quote_n): Fix typo in comment.
86486
86487 2003-03-18  Bruno Haible  <bruno@clisp.org>
86488
86489         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
86490         checking.
86491         * m4/onceonly_2_57.m4: Likewise.
86492
86493 2003-03-17  Bruno Haible  <bruno@clisp.org>
86494
86495         * m4/onceonly.m4: Require autoconf 2.54 or newer.
86496         (m4_quote): Remove macro.
86497         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
86498
86499 2003-03-14  Jim Meyering  <jim@meyering.net>
86500
86501         Merge changes from Coreutils.
86502         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
86503         to be const, in order to avoid warnings.
86504         (obstack_room): Likewise.
86505         (obstack_empty_p): Likewise.
86506
86507 2003-03-14  Bruno Haible  <bruno@clisp.org>
86508
86509         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
86510         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
86511
86512 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86513
86514         Merge changes from Bison.
86515         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
86516         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
86517         when compiling Bison 1.875's `bitset bset = obstack_alloc
86518         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
86519         * lib/hash.c: Include <stdbool.h> unconditionally.
86520
86521 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86522
86523         * m4/onceonly.m4 (m4_quote): New macro.
86524         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
86525         Quote AC_FOREACH variable-expansions properly.
86526
86527 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86528
86529         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
86530
86531 2003-03-09  Paul Eggert  <eggert@twinsun.com>
86532
86533         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
86534         Reported by Bruce Becker; see:
86535         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
86536
86537 2003-03-03  Paul Eggert  <eggert@twinsun.com>
86538             Bruno Haible  <bruno@clisp.org>
86539
86540         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
86541         Reported by John Hughes, see
86542         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
86543
86544 2003-02-20  Bruno Haible  <bruno@clisp.org>
86545
86546         * MODULES.html.sh (func_all_modules): Add poll.
86547
86548 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86549
86550         * modules/poll: New file.
86551
86552 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86553
86554         * lib/poll_.h: New file.
86555         * lib/poll.c: New file.
86556
86557 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86558
86559         * m4/poll.m4: New file.
86560
86561 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86562
86563         * modules/mathl: New file.
86564
86565 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86566
86567         * lib/mathl.h: New file.
86568         * lib/acosl.c: New file.
86569         * lib/asinl.c: New file.
86570         * lib/atanl.c: New file.
86571         * lib/ceill.c: New file.
86572         * lib/cosl.c: New file.
86573         * lib/expl.c: New file.
86574         * lib/floorl.c: New file.
86575         * lib/frexpl.c: New file.
86576         * lib/ldexpl.c: New file.
86577         * lib/logl.c: New file.
86578         * lib/sincosl.c: New file.
86579         * lib/sinl.c: New file.
86580         * lib/sqrtl.c: New file.
86581         * lib/tanl.c: New file.
86582         * lib/trigl.c: New file.
86583         * lib/trigl.h: New file.
86584
86585 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86586
86587         * m4/mathl.m4: New file.
86588
86589 2003-02-18  Bruno Haible  <bruno@clisp.org>
86590
86591         * MODULES.html.sh (func_all_modules): Add mathl.
86592
86593 2003-02-17  Bruno Haible  <bruno@clisp.org>
86594
86595         * modules/mkdtemp: New module.
86596         * MODULES.html.sh (func_all_modules): Add it.
86597
86598 2003-02-17  Bruno Haible  <bruno@clisp.org>
86599
86600         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
86601
86602 2003-02-17  Bruno Haible  <bruno@clisp.org>
86603
86604         * lib/mkdtemp.h: New file, from GNU gettext.
86605         * lib/mkdtemp.c: New file, from GNU gettext.
86606
86607 2003-02-02  Jim Meyering  <jim@meyering.net>
86608
86609         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
86610         e.g. glibc-2.2.93.
86611
86612 2003-01-31  Bruno Haible  <bruno@clisp.org>
86613
86614         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
86615         'rpl_rename'.
86616         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
86617         'rpl_strnlen'.
86618         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
86619         'rpl_strtod'.
86620         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
86621         'rpl_utime'.
86622
86623 2003-01-31  Bruno Haible  <bruno@clisp.org>
86624
86625         * lib/rename.c: #undef rename before defining rpl_rename.
86626         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
86627
86628 2003-01-30  Bruno Haible  <bruno@clisp.org>
86629
86630         * modules/vasnprintf, modules/vasprintf: New modules.
86631         * MODULES.html.sh (func_all_modules): Add them.
86632
86633 2003-01-30  Bruno Haible  <bruno@clisp.org>
86634
86635         * m4/signed.m4: New file, from GNU gettext.
86636         * m4/longdouble.m4: New file, from GNU gettext.
86637         * m4/wchar_t.m4: New file, from GNU gettext.
86638         * m4/wint_t.m4: New file, from GNU gettext.
86639         * m4/vasnprintf.m4: New file.
86640         * m4/vasprintf.m4: New file.
86641
86642 2003-01-30  Bruno Haible  <bruno@clisp.org>
86643
86644         * lib/printf-args.h: New file, from GNU gettext.
86645         * lib/printf-args.c: New file, from GNU gettext.
86646         * lib/printf-parse.h: New file, from GNU gettext.
86647         * lib/printf-parse.c: New file, from GNU gettext.
86648         * lib/vasnprintf.h: New file, from GNU gettext.
86649         * lib/vasnprintf.c: New file, from GNU gettext.
86650         * lib/asnprintf.c: New file, from GNU gettext.
86651         * lib/vasprintf.h: New file, from GNU gettext with modifications.
86652         * lib/vasprintf.c: New file, from GNU gettext.
86653         * lib/asprintf.c: New file, from GNU gettext.
86654
86655 2003-01-29  Bruno Haible  <bruno@clisp.org>
86656
86657         * modules/stpncpy: New module.
86658         * MODULES.html.sh (func_all_modules): Add it.
86659
86660 2003-01-29  Bruno Haible  <bruno@clisp.org>
86661
86662         * m4/stpncpy.m4: New file.
86663
86664 2003-01-29  Bruno Haible  <bruno@clisp.org>
86665
86666         * lib/stpncpy.h: New file, from GNU gettext with modifications.
86667         * lib/stpncpy.c: New file, from GNU gettext with modifications.
86668
86669 2003-01-28  Bruno Haible  <bruno@clisp.org>
86670
86671         * modules/c-ctype: New module.
86672         * MODULES.html.sh (func_all_modules): Add it.
86673
86674 2003-01-28  Bruno Haible  <bruno@clisp.org>
86675
86676         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
86677         Paul Eggert.
86678         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
86679         Paul Eggert.
86680
86681 2003-01-27  Bruno Haible  <bruno@clisp.org>
86682
86683         * modules/xsetenv: New module.
86684         * MODULES.html.sh (func_all_modules): Add it.
86685
86686 2003-01-27  Bruno Haible  <bruno@clisp.org>
86687
86688         * lib/xsetenv.h: New file, from GNU gettext.
86689         * lib/xsetenv.c: New file, from GNU gettext.
86690
86691 2003-01-23  Jim Meyering  <jim@meyering.net>
86692
86693         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
86694         from working on systems without dirfd (at least Irix and OSF1/Tru64).
86695
86696 2003-01-23  Bruno Haible  <bruno@clisp.org>
86697
86698         * modules/minmax: New module.
86699         * MODULES.html.sh (func_all_modules): Add it.
86700
86701 2003-01-23  Bruno Haible  <bruno@clisp.org>
86702
86703         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
86704         Eggert.
86705
86706 2003-01-22  Bruno Haible  <bruno@clisp.org>
86707
86708         * modules/exit: New module.
86709         * MODULES.html.sh (func_all_modules): Add it.
86710
86711 2003-01-22  Bruno Haible  <bruno@clisp.org>
86712
86713         * lib/exit.h: New file, from GNU gettext.
86714
86715 2003-01-19  Bruno Haible  <bruno@clisp.org>
86716
86717         * gnulib-tool: Recognize option --extract-maintainer.
86718         (func_get_maintainer): New function.
86719         * modules/*: Add Maintainer entry.
86720
86721 2003-01-16  Jim Meyering  <jim@meyering.net>
86722
86723         * m4/regex.m4: The `regex' struct is both input and output.
86724         Initialize it before each use.  Patch by Tim Waugh.
86725
86726 2003-01-16  Bruno Haible  <bruno@clisp.org>
86727
86728         * MODULES.html.sh: Add a table of contents. Add the module name as
86729         leftmost column. Add hyperlinks.
86730
86731 2003-01-15  Bruno Haible  <bruno@clisp.org>
86732
86733         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
86734
86735 2003-01-15  Bruno Haible  <bruno@clisp.org>
86736
86737         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
86738         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
86739         suffix.
86740
86741 2003-01-15  Bruno Haible  <bruno@clisp.org>
86742
86743         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
86744
86745 2003-01-15  Bruno Haible  <bruno@clisp.org>
86746
86747         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
86748         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
86749
86750 2003-01-14  Jim Meyering  <jim@meyering.net>
86751
86752         * lib/same.c (same_name): Tweak a comment.
86753
86754 2003-01-14  Bruno Haible  <bruno@clisp.org>
86755
86756         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
86757         when a string comparison is sufficient.
86758
86759 2003-01-14  Bruno Haible  <bruno@clisp.org>
86760
86761         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
86762         'unsigned int'.
86763
86764 2003-01-14  Bruno Haible  <bruno@clisp.org>
86765
86766         * lib/hash-pjw.c: Add comment about low quality of this function.
86767
86768 2003-01-13  Bruno Haible  <bruno@clisp.org>
86769
86770         * modules/stpcpy: Distribute lib/stpcpy.h.
86771         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
86772
86773 2003-01-13  Bruno Haible  <bruno@clisp.org>
86774
86775         * modules/*: Add a description.
86776         * modules/strpbrk: Fix Makefile.am snippet.
86777         * modules/strtoimax: Fix dependencies.
86778         * modules/strtoumax: Likewise.
86779
86780 2003-01-13  Bruno Haible  <bruno@clisp.org>
86781
86782         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
86783         * modules/alloca (Makefile.am): All object files depend on alloca.h.
86784         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
86785
86786 2003-01-13  Bruno Haible  <bruno@clisp.org>
86787
86788         * gnulib-tool (func_create_testdir): Store config/* files in the main
86789         directory.
86790         * config.rpath: Move to ...
86791         * config/config.rpath: ... here.
86792         * modules/gettext: Contains config/config.rpath, not config.rpath.
86793         * modules/iconv: Likewise.
86794
86795 2003-01-12  Paul Eggert  <eggert@twinsun.com>
86796
86797         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
86798         to avoid collisions with libcurses and libreadline.
86799
86800         * m4/getstr.m4: Remove.
86801         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
86802
86803 2003-01-12  Paul Eggert  <eggert@twinsun.com>
86804
86805         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
86806         to avoid collisions with libcurses and libreadline.
86807
86808         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
86809         * lib/getstr.h, getstr.c: Remove.
86810         * lib/getline.c: Include "getline.h", to check interface.
86811         Move body of old getstr.c here: this defines MIN_CHUNK and
86812         declares getdelim2, which is renamed from getstr.
86813         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
86814
86815         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
86816         All uses changed.
86817         * lib/linebuffer.h: Likewise.
86818         (readline): Remove backward-compatibility macro.
86819
86820 2003-01-12  Paul Eggert  <eggert@twinsun.com>
86821
86822         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
86823         to avoid collisions with libcurses and libreadline.
86824         * getstr: Remove.
86825         * MODULES.html.sh: Remove getstr.
86826         * modules/getline: Depend on unlocked-io, not getstr.
86827
86828 2003-01-12  Jim Meyering  <jim@meyering.net>
86829
86830         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
86831
86832 2003-01-10  Bruno Haible  <bruno@clisp.org>
86833
86834         * modules/alloca: Change Makefile.am requirements. Simplify Include
86835         requirements. Add lib/alloca_.h to file list.
86836
86837 2003-01-10  Bruno Haible  <bruno@clisp.org>
86838
86839         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
86840
86841 2003-01-10  Bruno Haible  <bruno@clisp.org>
86842
86843         * lib/alloca_.h: New file.
86844         * lib/getdate.y: Unconditionally include alloca.h.
86845         * lib/makepath.c: Likewise.
86846         * lib/setenv.c: Likewise.
86847         * lib/userspec.c: Likewise.
86848
86849 2003-01-09  Karl Berry  <karl@gnu.org>
86850
86851         * MODULES.html.sh: include `dirname $0` in PATH, to find
86852         gnulib-tool.
86853
86854 2003-01-09  Bruno Haible  <bruno@clisp.org>
86855
86856         * modules/stdbool: Change configure.ac, Makefile.am requirements.
86857         Simplify Include requirements. Add lib/stdbool.h.in to file list.
86858
86859 2003-01-09  Bruno Haible  <bruno@clisp.org>
86860
86861         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
86862
86863 2003-01-09  Bruno Haible  <bruno@clisp.org>
86864
86865         * lib/stdbool.h.in: New file.
86866
86867 2003-01-09  Bruno Haible  <bruno@clisp.org>
86868
86869         * gnulib-tool (func_all_modules): Ignore files ending in ~.
86870         * MODULES.html.sh: Likewise.
86871
86872 2003-01-08  Jim Meyering  <jim@meyering.net>
86873
86874         * lib/full-write.c: Undefine and define-away `const' after inclusion
86875         of errno.h, not before.  Suggestion from Bruno Haible.
86876
86877 2003-01-08  Bruno Haible  <bruno@clisp.org>
86878
86879         * modules/full-read: Depend on full-write.
86880
86881 2003-01-08  Bruno Haible  <bruno@clisp.org>
86882
86883         * lib/safe-read.c: Include specification header first, to ensure its
86884         selfcontainedness.
86885         * lib/full-write.c: Likewise.
86886
86887 2003-01-07  Jim Meyering  <jim@meyering.net>
86888
86889         * lib/full-write.c: Rework so that it may serve to define full_read,
86890         too.
86891         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
86892
86893 2003-01-07  Bruno Haible  <bruno@clisp.org>
86894
86895         * lib/strtoimax.c: Include <stdint.h> as an alternative to
86896         <inttypes.h>.
86897         * lib/xstrtol.h: Likewise.
86898         * lib/xstrtoimax.c: Likewise.
86899         * lib/xstrtoumax.c: Likewise.
86900         * lib/human.h: Likewise.
86901
86902         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
86903         on systems that have <inttypes.h> but not <stdint.h>.
86904
86905 2003-01-07  Bruno Haible  <bruno@clisp.org>
86906
86907         * MODULES.html.sh: Add copyright notice.
86908         (missed_files): Omit CVS directory entries.
86909         (func_module): Make it work with sed-3.02.
86910         * MODULES.txt: Remove file.
86911
86912 2003-01-06  Jim Meyering  <jim@meyering.net>
86913
86914         * lib/version-etc.c: Update year in translatable copyright string.
86915
86916 2003-01-03  Karl Berry  <karl@gnu.org>
86917
86918         * config/config.{guess,sub}: update from prep.
86919
86920 2003-01-02  Karl Berry  <karl@gnu.org>
86921
86922         * doc/COPYING.DOC: belatedly updated to 1.2.
86923
86924 2003-01-01  Karl Berry  <karl@gnu.org>
86925
86926         * gnulib-tool (func_verify_module): report module name $module in
86927         error message, not $1.
86928         * gnulib-tool (create-testdir): don't complain if destdir couldn't
86929         be created, only if it doesn't exist.
86930         * gnulib-tool (last_checkin_date): don't expand the $Date here.
86931
86932 2002-12-31  Paul Eggert  <eggert@twinsun.com>
86933
86934         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
86935
86936 2002-12-31  Paul Eggert  <eggert@twinsun.com>
86937
86938         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
86939         memcmp if strcoll doesn't work.
86940
86941 2002-12-31  Bruno Haible  <bruno@clisp.org>
86942
86943         * lib/utime.c (utime_null): No need to call ftruncate if the file was
86944         nonempty.
86945
86946 2002-12-31  Bruno Haible  <bruno@clisp.org>
86947
86948         * lib/memcoll.c (STRCOLL): New macro.
86949         (memcoll): Use it.
86950
86951 2002-12-31  Bruno Haible  <bruno@clisp.org>
86952
86953         * lib/localcharset.h: New file.
86954         * lib/localcharset.c: Include it.
86955         * lib/unicodeio.c: Likewise.
86956
86957 2002-12-31  Bruno Haible  <bruno@clisp.org>
86958
86959         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
86960         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
86961
86962 2002-12-31  Bruno Haible  <bruno@clisp.org>
86963
86964         * lib/getline.h: Include <stddef.h>, for size_t.
86965
86966         * lib/unicodeio.h: Include <stddef.h>, for size_t.
86967         * lib/unicodeio.c: Don't include <stddef.h>.
86968
86969 2002-12-31  Bruno Haible  <bruno@clisp.org>
86970
86971         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
86972         HAVE_TM_ZONE.
86973
86974 2002-12-24  Karl Berry  <karl@gnu.org>
86975
86976         * config/config.guess: update from prep.
86977
86978 2002-12-24  Bruno Haible  <bruno@clisp.org>
86979
86980         General infrasructure.
86981         * m4/README: Rewritten.
86982         * m4/onceonly.m4: New file.
86983         * m4/onceonly_2_57.m4: New file.
86984
86985         Module atexit.
86986         * m4/atexit.m4: New file.
86987
86988         Module strtod.
86989         * m4/strtod.m4: New file.
86990
86991         Module strtol.
86992         * m4/strtol.m4: New file.
86993
86994         Module strtoul.
86995         * m4/strtoul.m4: New file.
86996
86997         Module memchr.
86998         * m4/memchr.m4: New file.
86999
87000         Module memcmp.
87001         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
87002         (jm_FUNC_MEMCMP): Invoke it.
87003
87004         Module memcpy.
87005         * m4/memcpy.m4: New file.
87006
87007         Module memmove.
87008         * m4/memmove.m4: New file.
87009
87010         Module memset.
87011         * m4/memset.m4: New file.
87012
87013         Module strcspn.
87014         * m4/strcspn.m4: New file.
87015
87016         Module strpbrk.
87017         * m4/strpbrk.m4: New file.
87018
87019         Module strstr.
87020         * m4/strstr.m4: New file.
87021
87022         Module strerror.
87023         * m4/strerror.m4: New file.
87024
87025         Module mktime.
87026         * m4/mktime.m4: Renamed from jm-mktime.m4.
87027         (gl_PREREQ_MKTIME): New macro.
87028         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
87029
87030         Module malloc.
87031         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
87032         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
87033         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
87034
87035         Module realloc.
87036         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
87037         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
87038         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
87039
87040         Module strftime.
87041         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
87042         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
87043         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
87044         gl_TM_GMTOFF.
87045         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
87046
87047         Module xalloc.
87048         * m4/xalloc.m4: New file.
87049
87050         Module alloca.
87051         * m4/alloca.m4: New file.
87052
87053         Module putenv.
87054         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
87055         (jm_FUNC_PUTENV): Invoke it.
87056
87057         Module setenv.
87058         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
87059         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
87060         when invoked twice.
87061         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
87062         gt_FUNC_SETENV.
87063
87064         Module memrchr.
87065         * m4/memrchr.m4: New file.
87066
87067         Module stpcpy.
87068         * m4/stpcpy.m4: New file.
87069
87070         Module strcase.
87071         * m4/strcase.m4: New file.
87072
87073         Module strdup.
87074         * m4/strdup.m4: New file.
87075
87076         Module strnlen.
87077         * m4/strnlen.m4: New file.
87078
87079         Module strndup.
87080         * m4/strndup.m4: New file.
87081
87082         Module xstrtod.
87083         * m4/xstrtod.m4: New file.
87084
87085         Module xstrtol.
87086         * m4/xstrtol.m4: New file.
87087
87088         Module getdate.
87089         * m4/getdate.m4: New file.
87090
87091         Module unlocked-io.
87092         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
87093         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
87094         * m4/jm-glibc-io.m4n: Remove file.
87095
87096         Module long-options.
87097         * m4/long-options.m4: New file.
87098
87099         Module md5.
87100         * m4/md5.m4: New file.
87101
87102         Module sha.
87103         * m4/sha.m4: New file.
87104
87105         Module getstr.
87106         * m4/getstr.m4: New file.
87107
87108         Module getline.
87109         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
87110         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
87111         <sys/types.h>, for size_t. Use the function name gnu_getline, not
87112         simply getline. Infoke gl_PREREQ_GETLINE.
87113
87114         Module obstack.
87115         * m4/obstack.m4: New file.
87116
87117         Module hash.
87118         * m4/hash.m4: New file.
87119
87120         Module readtokens.
87121         * m4/readtokens.m4: New file.
87122
87123         Module strverscmp.
87124         * m4/strverscmp.m4: New file.
87125
87126         Module stdbool.
87127         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
87128         OSF/1.
87129
87130         Module strtoll.
87131         * m4/strtoll.m4: New file.
87132
87133         Module strtoull.
87134         * m4/strtoull.m4: New file.
87135
87136         Module strtoimax.
87137         * m4/strtoimax.m4: New file.
87138
87139         Module strtoumax.
87140         * m4/strtoumax.m4: New file.
87141
87142         Module xstrtoimax.
87143         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
87144         jm_AC_PREREQ_XSTRTOIMAX.
87145         Moved the strtol prerequisites to strtol.m4.
87146         Moved the strtoll prerequisites to strtoll.m4.
87147         Moved the strtoimax prerequisites to strtoimax.m4.
87148
87149         Module xstrtoumax.
87150         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
87151         jm_AC_PREREQ_XSTRTOUMAX.
87152         Moved the strtoul prerequisites to strtoul.m4.
87153         Moved the strtoull prerequisites to strtoull.m4.
87154         Moved the strtoumax prerequisites to strtoumax.m4.
87155
87156         Module chown.
87157         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
87158         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
87159
87160         Module dup2.
87161         * m4/dup2.m4: New file.
87162
87163         Module ftruncate.
87164         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
87165         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
87166
87167         Module getgroups.
87168         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
87169         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
87170
87171         Module gettimeofday.
87172         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
87173         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
87174         gl_PREREQ_GETTIMEOFDAY.
87175
87176         Module mkdir.
87177         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
87178         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
87179
87180         Module mkstemp.
87181         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
87182         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
87183         jm_AC_TYPE_UINTMAX_T.
87184         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
87185
87186         Module stat.
87187         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
87188         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
87189
87190         Module lstat.
87191         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
87192         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
87193
87194         Module timespec.
87195         * m4/timespec.m4 (gl_TIMESPEC): New macro.
87196         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
87197         * m4/st_mtim.m4: Indentation.
87198
87199         Module nanosleep.
87200         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
87201         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
87202         gl_PREREQ_NANOSLEEP.
87203
87204         Module regex.
87205         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
87206         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
87207         (gl_REGEX): New macro.
87208
87209         Module rename.
87210         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
87211         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
87212
87213         Module rmdir.
87214         * m4/rmdir.m4: New file.
87215
87216         Module utime.
87217         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
87218         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
87219         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
87220
87221         Module dirname.
87222         * m4/dirname.m4: New file.
87223
87224         Module getopt.
87225         * m4/getopt.m4: New file.
87226
87227         Module unistd-safer.
87228         * m4/unistd-safer.m4: New file.
87229
87230         Module fnmatch.
87231         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
87232         declaration.
87233         (gl_PREREQ_FNMATCH_EXTRA): New macro.
87234         (gl_FUNC_FNMATCH_POSIX): New macro.
87235         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
87236         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
87237         simply fnmatch.
87238
87239         Module exclude.
87240         * m4/exclude.m4: New file.
87241
87242         Module human.
87243         * m4/human.m4: New file.
87244
87245         Module acl.
87246         * m4/acl.m4: Nop.
87247
87248         Module backupfile.
87249         * m4/backupfile.m4: New file.
87250         * m4/d-ino.m4: Indentation.
87251
87252         Module fsusage.
87253         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
87254         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
87255         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
87256
87257         Module dirfd.
87258         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
87259         requirements.
87260
87261         Module euidaccess.
87262         * m4/euidaccess.m4: New file.
87263
87264         Module file-type.
87265         * m4/file-type.m4: New file.
87266
87267         Module fileblocks.
87268         * m4/fileblocks.m4: New file.
87269
87270         Module filemode.
87271         * m4/filemode.m4: New file.
87272
87273         Module isdir.
87274         * m4/isdir.m4: New file.
87275
87276         Module lchown.
87277         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
87278         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
87279
87280         Module makepath.
87281         * m4/makepath.m4: New file.
87282
87283         Module modechange.
87284         * m4/modechange.m4: New file.
87285
87286         Module mountlist.
87287         * m4/mountlist.m4: New file.
87288         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
87289         Indentation.
87290
87291         Module path-concat.
87292         * m4/path-concat.m4: New file.
87293
87294         Module pathmax.
87295         * m4/pathmax.m4: New file.
87296
87297         Module same.
87298         * m4/same.m4: New file.
87299
87300         Module save-cwd.
87301         * m4/save-cwd.m4: New file.
87302
87303         Module savedir.
87304         * m4/savedir.m4: New file.
87305
87306         Module xgetcwd.
87307         * m4/xgetcwd.m4: New file.
87308         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
87309
87310         Module xreadlink.
87311         * m4/xreadlink.m4: New file.
87312
87313         Module safe-read.
87314         * m4/safe-read.m4: New file.
87315
87316         Module safe-write.
87317         * m4/safe-write.m4: New file.
87318
87319         Module closeout.
87320         * m4/closeout.m4: New file.
87321
87322         Module stdio-safer.
87323         * m4/stdio-safer.m4: New file.
87324
87325         Module getpass.
87326         * m4/getpass.m4: New file.
87327
87328         Module getugroups.
87329         * m4/getugroups.m4: New file.
87330
87331         Module group-member.
87332         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
87333         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
87334
87335         Module idcache.
87336         * m4/idcache.m4: New file.
87337
87338         Module userspec.
87339         * m4/userspec.m4: New file.
87340
87341         Module gettime.
87342         * m4/clock_time.m4: New file.
87343         * m4/gettime.m4: New file.
87344
87345         Module settime.
87346         * m4/settime.m4: New file.
87347
87348         Module posixtm.
87349         * m4/posixtm.m4: New file.
87350
87351         Module gethostname.
87352         * m4/gethostname.m4: New file.
87353
87354         Module canon-host.
87355         * m4/canon-host.m4: New file.
87356
87357         Module gettext.
87358         * m4/codeset.m4: New file, from gettext-0.11.5.
87359         * m4/gettext.m4: New file, from gettext-0.11.5.
87360         * m4/glibc21.m4: New file, from gettext-0.11.5.
87361         * m4/iconv.m4: New file, from gettext-0.11.5.
87362         * m4/intdiv0.m4: New file, from gettext-0.11.5.
87363         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
87364         * m4/inttypes.m4: New file, from gettext-0.11.5.
87365         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
87366         * m4/isc-posix.m4: New file, from gettext-0.11.5.
87367         * m4/lcmessage.m4: New file, from gettext-0.11.5.
87368         * m4/lib-ld.m4: New file, from gettext-0.11.5.
87369         * m4/lib-link.m4: New file, from gettext-0.11.5.
87370         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
87371         * m4/progtest.m4: New file, from gettext-0.11.5.
87372         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
87373         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
87374         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
87375
87376         Module localcharset.
87377         * m4/localcharset.m4: New file.
87378
87379         Module hard-locale.
87380         * m4/hard-locale.m4: New file.
87381
87382         Module mbswidth.
87383         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
87384         onceonly macros.
87385         * m4/mbrtowc.m4: Add comment.
87386
87387         Module memcasecmp.
87388         * m4/memcasecmp.m4: New file.
87389
87390         Module memcoll.
87391         * m4/memcoll.m4: New file.
87392
87393         Module unicodeio.
87394         * m4/unicodeio.m4: New file.
87395
87396         Module rpmatch.
87397         * m4/rpmatch.m4: New file.
87398
87399         Module yesno.
87400         * m4/yesno.m4: New file.
87401
87402         Module exitfail.
87403         * m4/exitfail.m4: New file.
87404
87405         Module c-stack.
87406         * m4/c-stack.m4 (gl_C_STACK): New macro.
87407         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
87408
87409         Module error.
87410         * m4/error.m4 (gl_ERROR): New macro.
87411         (jm_PREREQ_ERROR): Use onceonly macros.
87412
87413         Module fatal.
87414         * m4/fatal.m4: New file.
87415
87416         Module getloadavg.
87417         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
87418         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
87419
87420         Module getpagesize.
87421         * m4/getpagesize.m4: New file.
87422
87423         Module getusershell.
87424         * m4/getusershell.m4: New file.
87425
87426         Module physmem.
87427         * m4/physmem.m4: New file.
87428
87429         Module posixver.
87430         * m4/posixver.m4: New file.
87431
87432         Module quotearg.
87433         * m4/quotearg.m4: New file.
87434
87435         Module quote.
87436         * m4/quote.m4: New file.
87437
87438         Module readutmp.
87439         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
87440
87441         Module sig2str.
87442         * m4/sig2str.m4: New file.
87443
87444         Other.
87445         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
87446         ulonglong.m4.
87447         * m4/intmax_t.m4: New file.
87448         * m4/d-type.m4: Indentation.
87449         * m4/jm-macros.m4: Update.
87450         * m4/prereq.m4 (jm_PREREQ): Update.
87451         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
87452         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
87453         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
87454         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
87455         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
87456         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
87457         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
87458         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
87459         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
87460         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
87461         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
87462         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
87463         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
87464         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
87465         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
87466         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
87467         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
87468         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
87469         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
87470
87471 2002-12-24  Bruno Haible  <bruno@clisp.org>
87472
87473         * MODULES.txt: Update according to m4/ changes.
87474
87475         Module gettext.
87476         * config.rpath: New file, from gettext-0.11.5.
87477
87478         * modules/*: New module descriptions.
87479         * gnulib-tool: New file.
87480         * MODULES.html.sh: New file.
87481
87482 2002-12-21  Karl Berry  <karl@gnu.org>
87483
87484         * doc/fdl.texi: update to version 1.2.
87485
87486 2002-12-19  Karl Berry  <karl@gnu.org>
87487
87488         * config/config.guess: update from prep.
87489
87490 2002-12-18  Bruno Haible  <bruno@clisp.org>
87491
87492         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
87493         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
87494
87495 2002-12-17  Bruno Haible  <bruno@clisp.org>
87496
87497         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
87498         stdlib.h, string.h.
87499
87500 2002-12-17  Bruno Haible  <bruno@clisp.org>
87501
87502         * lib/canon-host.c (strdup): Remove unused declaration.
87503
87504         * lib/fsusage.c: Include full_read.h.
87505         (get_fs_usage): Use full_read instead of safe_read.
87506
87507         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
87508
87509 2002-12-12  Karl Berry  <karl@gnu.org>
87510
87511         * config/config.guess: update from prep.
87512
87513 2002-12-11  Bruno Haible  <bruno@clisp.org>
87514
87515         * m4/setenv.m4: New file, from gettext-0.11.5.
87516
87517 2002-12-11  Bruno Haible  <bruno@clisp.org>
87518
87519         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
87520         not unsetenv().
87521         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
87522         modifications:
87523
87524         2002-12-11  Bruno Haible  <bruno@clisp.org>
87525
87526                 * setenv.c (alloca): Fall back to malloc.
87527                 (freea): New macro.
87528                 (setenv): Use freea() to free memory allocated with alloca().
87529
87530         2002-11-13  Bruno Haible  <bruno@clisp.org>
87531
87532                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
87533                 function declarations.
87534                 * unsetenv.c (unsetenv): Likewise.
87535
87536         2002-03-04  Bruno Haible  <bruno@clisp.org>
87537
87538                 Portability to AIX 4.3.3.
87539                 * unsetenv.c: New file, extracted from setenv.c.
87540                 * setenv.c: Move the unsetenv() function to unsetenv.c.
87541
87542         2001-12-20  Bruno Haible  <bruno@clisp.org>
87543
87544                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
87545                 use malloc instead. For SunOS 4.
87546
87547         2001-12-11  Bruno Haible  <bruno@clisp.org>
87548
87549                 * setenv.c: Declare alloca.
87550                 (compar_fn_t): New typedef.
87551                 (KNOWN_VALUE, STORE_VALUE): Use it.
87552
87553         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
87554         setenv.h.
87555
87556 2002-12-10  Paul Eggert  <eggert@twinsun.com>
87557
87558         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
87559         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
87560         Choose values that are less likely to collide with system fnmatch
87561         options.
87562         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
87563         defined (e.g., a pure POSIX system).
87564         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
87565         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
87566
87567 2002-12-06  Paul Eggert  <eggert@twinsun.com>
87568
87569         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
87570         a pain in practice to deal with generated m4 files.  This change
87571         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
87572
87573         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
87574         and jm-glibc-io.m4, as they are no longer a special case.
87575         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
87576         kludge and the auto-generation stuff.  Check only whether the
87577         functions are declared, not whether they exist, since older hosts
87578         that don't declare the functions can't use the optimization anyway.
87579
87580 2002-12-06  Jim Meyering  <jim@meyering.net>
87581
87582         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
87583
87584         Merge in changes from libc's misc/error.c, in preparation
87585         for the merge of gnulib's changes back into libc.
87586
87587         * lib/error.c (_): Define only if not already defined.
87588         Move definition to follow all #include directives.
87589         Include unlocked-io.h only if !_LIBC.
87590         [_LIBC]: Include <libio/libioP.h>.
87591         [USE_IN_LIBIO]: Include <libio/iolibio.h>
87592         (fflush): Tweak definition to use INTUSE.
87593         (putc): Define.
87594
87595 2002-12-05  Paul Eggert  <eggert@twinsun.com>
87596
87597         * lib/alloca.c [defined emacs]: Include "lisp.h".
87598         (xalloc_die) [defined emacs]: New macro.
87599         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
87600         [! defined emacs]: Include <xalloc.h>.
87601         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
87602         (pointer): Typedef to POINTER_TYPE *.
87603         (malloc): Remove decl; we now always use xmalloc.
87604         (alloca): Use old-style definition, since Emacs needs this.
87605         Check for arithmetic overflow when computing combined size.
87606
87607 2002-12-04  Paul Eggert  <eggert@twinsun.com>
87608
87609         Do not generate unlocked-io.h automatically, since it's easier to
87610         maintain it by hand.
87611
87612         * lib/unlocked-io.h: New file, from GNU diffutils,
87613         but with proper copyright notice and attribution.
87614         * lib/gen-uio: Remove.
87615         * lib/Makefile.am: Add copyright notice.
87616         (libfetish_a_SOURCES): Add unlocked-io.h.
87617         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
87618         (DISTCLEANFILES, io_functions): Remove macros.
87619         (EXTRA_DIST): Remove gen_uio.
87620         (unlocked-io.h): Remove rule.
87621
87622 2002-12-04  Jim Meyering  <jim@meyering.net>
87623
87624         Reflect the fact that stat.c and lstat.c are no longer generated.
87625         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
87626         (DISTCLEANFILES): Likewise.
87627         (EXTRA_DIST): Likewise.
87628         (all_local): Don't depend on stat.c or lstat.c.
87629         (stat.c, lstat.c): Remove rules.
87630         (EXTRA_DIST): Remove xstat.in.
87631
87632         * lib/xstat.in: Remove file.  Contents moved into stat.c.
87633         * lib/stat.c: New file.  Contents mostly from xstat.in.
87634         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
87635         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
87636
87637         * lib/safe-read.c: Rework so that it may serve to define safe_write,
87638         too.
87639         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
87640
87641 2002-12-03  Jim Meyering  <jim@meyering.net>
87642
87643         * lib/safe-read.c, safe-write.c: Change variable names and comments,
87644         but not semantics, to minimize the differences between these two files.
87645         (safe_read): Change comment to mention SAFE_READ_ERROR.
87646
87647         * lib/safe-read.c (IS_EINTR): Define.
87648         (safe_read): Use IS_EINTR in place of in-function cpp directives.
87649
87650 2002-12-02  Jim Meyering  <jim@meyering.net>
87651
87652         * lib/safe-read.c (EINTR): Define.
87653         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
87654         (INT_MAX): Provide fallback.
87655         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
87656
87657         * lib/safe-read.h (SAFE_READ_ERROR): Define.
87658
87659 2002-12-02  Bruno Haible  <bruno@clisp.org>
87660
87661         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
87662         Define, taken from safe-read.c.
87663         (INT_MAX): Provide fallback.
87664         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
87665         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
87666
87667         * lib/safe-read.c (EINTR): Remove definition.
87668         (safe_read): Don't use EINTR if it is absent.
87669
87670 2002-12-01  Jim Meyering  <jim@meyering.net>
87671
87672         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
87673         zero.
87674         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
87675
87676 2002-11-27  Paul Eggert  <eggert@twinsun.com>
87677
87678         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
87679         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
87680         with `if (! (value < limit)) abort ();', for readability.
87681
87682 2002-11-26  Karl Berry  <karl@gnu.org>
87683
87684         * lib/strdup.c: copy from libc again, with jim's ok.
87685         * lib/.cppi-disable: re-add strdup.c
87686
87687 2002-11-25  Karl Berry  <karl@gnu.org>
87688
87689         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
87690         instead of "strtol.c".
87691
87692 2002-11-25  Karl Berry  <karl@gnu.org>
87693
87694         * config/install-sh: update from automake for variable quoting, $0 in
87695         error msgs, etc.
87696
87697         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
87698         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
87699         entry.
87700
87701 2002-11-25  Jim Meyering  <jim@meyering.net>
87702
87703         * lib/mktime.c: Sync from libc, now that it has the latest fix.
87704
87705 2002-11-24  Karl Berry  <karl@gnu.org>
87706
87707         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
87708         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
87709
87710 2002-11-24  Jim Meyering  <jim@meyering.net>
87711
87712         Update from coreutils:
87713
87714         * lib/mktime.c: Merge in changes from libc.
87715
87716         Avoid a link-time failure on some Linux systems.
87717         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
87718         (otherwise).
87719         (__mon_yday): Declare with the STATIC attribute.
87720         (__mktime_internal): Likewise.
87721         Based on a report from Greg Schafer.
87722
87723 2002-11-23  Jim Meyering  <jim@meyering.net>
87724
87725         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
87726         Use `unsigned', not `int', as type of index.
87727
87728         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
87729
87730         * lib/fsusage.c: Remove unneeded parentheses around operands of
87731         `defined'.
87732
87733 2002-11-22  Paul Eggert  <eggert@twinsun.com>
87734
87735         * lib/quotearg.h: Allow multiple inclusion by surrounding with
87736         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
87737         so that we can be included first.
87738         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
87739         * lib/quotearg.c: Include quotearg.h immediately after config.h.
87740         No need to include stddef.h or sys/types.h any more.
87741         Surround local include files with "", not "<>".
87742         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
87743         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
87744         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
87745         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
87746         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
87747         (ISPRINT): Remove; no longer needed now that we assume C89.
87748
87749         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
87750         Preserve errno.
87751
87752         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
87753         quotearg_char): Use SIZE_MAX rather than
87754         (size_t) -1 when we are talking about "infinity".
87755
87756         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
87757
87758 2002-11-22  Paul Eggert  <eggert@twinsun.com>
87759
87760         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
87761         hint that one should use `if (! x) abort ();' rather than `assert
87762         (x);', and anyway it's one less thing to worry about configuring.
87763         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
87764         hash_rehash, hash_insert): Use abort rather than assert.
87765
87766 2002-11-22  Bruno Haible  <bruno@clisp.org>
87767
87768         * lib/safe-read.h: Assume C89. Add comments.
87769         (safe_read): Change return type to size_t.
87770         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
87771         byte counts > SSIZE_MAX correctly.
87772         * lib/safe-write.h: New file.
87773         * lib/safe-write.c: New file.
87774         * lib/full-read.h: New file.
87775         * lib/full-read.c: New file.
87776         * lib/full-write.h: Assume C89. Add comments.
87777         * lib/full-write.c: Include safe-write.h.
87778         (full_write): Rewritten to use safe_write.
87779         Suggested by Jim Meyering and Paul Eggert.
87780
87781 2002-11-21  Jim Meyering  <jim@meyering.net>
87782
87783         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
87784
87785         Merge in changes from the coreutils.
87786
87787         2002-09-25  Paul Eggert  <eggert@twinsun.com>
87788         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
87789         <stdint.h>.
87790         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
87791         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
87792         int.  Work more efficiently if X is the same width as uintmax_t.
87793         Do not compare X to -1, to avoid bogus compiler warning.
87794         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
87795         Don't assume that f_frsize and f_bsize are the same type.
87796
87797         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
87798         warning on FreeBSD.
87799
87800         * lib/makepath.c (make_path): Restore umask *before* creating the final
87801         component.
87802         (make_path): Minor reformatting.
87803
87804         * lib/xmalloc.c: Adjust to work with new autoconf macros,
87805         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
87806         HAVE_MALLOC/HAVE_REALLOC.
87807
87808         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
87809         dummy ones.  At least on GNU/Linux systems, `auto' means something
87810         else.
87811         From Michael Stone.
87812
87813 2002-11-21  Bruno Haible  <bruno@clisp.org>
87814
87815         Remove case insensitive option matching.
87816         * lib/argmatch.h (argcasematch): Remove declaration.
87817         (ARGCASEMATCH): Remove macro.
87818         (__xargmatch_internal): Remove case_sensitive argument.
87819         (XARGMATCH): Update.
87820         (XARGCASEMATCH): Remove macro.
87821         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
87822         case_sensitive argument.
87823         (argcasematch): Remove function.
87824         (__xargmatch_internal): Remove case_sensitive argument.
87825         (main): Use XARGMATCH instead of XARGCASEMATCH.
87826
87827         * lib/xmalloc.c: Change compile-time error message. Add comment about
87828         required autoconf version.
87829
87830 2002-11-20  Paul Eggert  <eggert@twinsun.com>
87831
87832         Merge argmatch cleanups from Bison.  Assume C89.
87833
87834         * lib/argmatch.c: Include config.h here, not in argmatch.h.
87835         Include stdlib.h, for EXIT_FAILURE.
87836         Always include <string.h>, since we assume C89.
87837         (EXIT_FAILURE): Remove pre-C89 bug workaround.
87838         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
87839         Include <stddef.h> instead, since it's all we need for size_t.
87840         (PARAMS): Remove.  All uses removed.
87841         (ARRAY_CARDINALITY): Do not bother to #undef.
87842         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
87843         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
87844         Remove unnecessary parentheses.
87845         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
87846         Insert necessary parentheses.
87847         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
87848         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
87849
87850 2002-11-19  Bruno Haible  <bruno@clisp.org>
87851
87852         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
87853         * lib/mbswidth.h: Include <stddef.h>, for size_t.
87854
87855         * lib/mbswidth.h (PARAMS): Remove macro.
87856         (mbswidth, mbsnwidth): Use ANSI C function declarations.
87857         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
87858
87859         * lib/gcd.h (PARAMS): Remove macro.
87860         (gcd): Use ANSI C function declarations.
87861         * lib/gcd.c (gcd): Likewise.
87862
87863 2002-11-15  Bruno Haible  <bruno@clisp.org>
87864
87865         * lib/strcspn.c: Include <stddef.h>.
87866         (strcspn): Use ANSI C function declaration. Change return type to
87867         size_t. Use NULL.
87868         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
87869         (strpbrk): Use NULL.
87870         * lib/strpbrk.h (PARAMS): Remove macro.
87871         (strpbrk): Use ANSI C function declaration.
87872         * lib/strstr.c: Don't include <sys/types.h>.
87873         * lib/strstr.h (PARAMS): Remove macro.
87874         (strstr): Use ANSI C function declarations.
87875
87876 2002-11-14  Karl Berry  <karl@gnu.org>
87877
87878         * config/mkinstalldirs: `do' on separate line, instead of
87879         `for var; do'.
87880
87881 2002-11-06  Bruno Haible  <bruno@clisp.org>
87882
87883         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
87884         * lib/gcd.c (gcd): Likewise.
87885
87886 2002-11-05  Bruno Haible  <bruno@clisp.org>
87887
87888         * lib/gcd.h: New file, from gettext-0.11.5.
87889         * lib/gcd.c: New file, from gettext-0.11.5.
87890
87891 2002-11-05  Bruno Haible  <bruno@clisp.org>
87892
87893         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87894         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87895         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87896         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87897
87898         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
87899         <libintl.h>.
87900         * lib/makepath.c: Include gettext.h instead of <locale.h> and
87901         <libintl.h>.
87902
87903         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
87904         * lib/human.c: Include gettext.h instead of <libintl.h>.
87905         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
87906         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
87907         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
87908         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
87909         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
87910         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
87911         (textdomain): Remove definition.
87912         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
87913
87914         * lib/long-options.c: Remove include of <libintl.h> and definition of
87915         _.
87916         * lib/same.c: Remove include of <libintl.h> and definition of _.
87917
87918 2002-11-04  Owen Taylor  <otaylor@redhat.com>
87919
87920         * lib/config.charset: A few additions for Solaris.
87921
87922 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
87923
87924         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
87925         * lib/localcharset.c (locale_charset): Declare as extern "C".
87926
87927 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
87928
87929         * lib/config.charset: msdos in uk_UA uses CP1125.
87930
87931 2002-11-04  Bruno Haible  <bruno@clisp.org>
87932
87933         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
87934         * lib/strcase.h: New file, from GNU gettext-0.11.5.
87935         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
87936         * lib/strstr.h: New file, from GNU gettext-0.11.5.
87937         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
87938
87939 2002-11-04  Bruno Haible  <bruno@clisp.org>
87940
87941         * lib/localcharset.c (locale_charset): Don't return an empty string.
87942
87943 2002-11-04  Bruno Haible  <bruno@clisp.org>
87944
87945         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
87946         aliases.
87947
87948 2002-11-04  Bruno Haible  <bruno@clisp.org>
87949
87950         * lib/config.charset: Update for newest glibc. Add canonical names
87951         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
87952
87953 2002-11-04  Bruno Haible  <bruno@clisp.org>
87954
87955         * lib/config.charset: Add support for NetBSD.
87956
87957 2002-11-04  Bruno Haible  <bruno@clisp.org>
87958
87959         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
87960
87961 2002-11-01  Bruno Haible  <bruno@clisp.org>
87962
87963         * configure.in: Add AC_CONFIG_AUX_DIR call.
87964         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
87965         test/Makefile.
87966         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
87967
87968 2002-09-28  Karl Berry  <karl@gnu.org>
87969
87970         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
87971         installed automake until the next release, since changes have been
87972         made.
87973
87974 2002-09-25  Karl Berry  <karl@gnu.org>
87975
87976         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
87977         * lib/getopt*: copy from libc/posix.
87978         * lib/gettext.h: copy from gettext.
87979         * lib/.cppi-disable: add strdup.c, gettext.h.
87980
87981 2002-09-25  Karl Berry  <karl@gnu.org>
87982
87983         * config/srclist.txt: enable gettext.h check.
87984         * config/config.{guess,sub}: update from prep.
87985         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
87986                 from automake 1.6.3.
87987         See srclist*.
87988
87989 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
87990
87991         * regex.c (PATFETCH): Remove the translating fetch.
87992         (PATFETCH_RAW): Rename to PATFETCH.
87993         (set_image_of_range): New fun.
87994         (SET_RANGE_TABLE_WORK_AREA): Use it.
87995         (regex_compile): Don't translate the pattern chars so eagerly.
87996         Only do it when inserting an `exactn' bytecode or when handling
87997         a char-range.
87998         (mutually_exclusive_p): Avoid empty statement.
87999
88000 2002-07-06  Jim Meyering  <meyering@lucent.com>
88001
88002         * m4/README: Don't mention Makefile.am.in.
88003         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
88004
88005 2002-07-01  Jim Meyering  <meyering@lucent.com>
88006
88007         * lib/c-stack.c: Include sys/time.h.
88008         From Volker Borchert.
88009
88010 2002-06-26  Paul Eggert  <eggert@twinsun.com>
88011
88012         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
88013
88014 2002-06-26  Paul Eggert  <eggert@twinsun.com>
88015
88016         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
88017         New macro.  Use it uniformly instead of
88018         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
88019         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
88020         reported by Vin Shelton.
88021
88022 2002-06-22  Paul Eggert  <eggert@twinsun.com>
88023
88024         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
88025         Do not assume SA_SIGINFO behavior.
88026         Bug reported by Jim Meyering on NetBSD 1.5.2.
88027
88028 2002-06-22  Jim Meyering  <meyering@lucent.com>
88029
88030         * m4/c-stack.m4: New file, from diffutils-2.8.2.
88031         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
88032
88033         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
88034         now that configure.ac uses AC_GNU_SOURCE.
88035         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
88036         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
88037
88038         Update to latest tools.  Suggestions from Paul Eggert.
88039         * m4/stdbool.m4: New file, from diffutils-2.8.2.
88040         * m4/gnu-source.m4: Update from diffutils-2.8.2.
88041         * m4/fnmatch.m4: Likewise.
88042         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
88043         to AC_HEADER_STDBOOL
88044
88045 2002-06-22  Jim Meyering  <meyering@lucent.com>
88046
88047         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
88048         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
88049
88050 2002-06-22  Jim Meyering  <meyering@lucent.com>
88051
88052         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
88053
88054         * lib/exitfail.c, exitfail.h: Likewise.
88055         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
88056
88057         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
88058         of fnmatch.h.
88059         (EXTRA_DIST): Add fnmatch_loop.c.
88060         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
88061
88062         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
88063         * lib/fnmatch.c: Update from diffutils-2.8.2.
88064         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
88065         * lib/fnmatch.h: Remove file.
88066
88067 2002-06-21  Jim Meyering  <meyering@lucent.com>
88068
88069         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
88070         * m4/mbrtowc.m4: Likewise.
88071
88072         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
88073         * m4/mbswidth.m4: Reflect name change:
88074         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
88075         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
88076
88077         * m4/lib-link.m4: Update from gettext-0.11.2.
88078         * m4/gettext.m4: Likewise.
88079
88080         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
88081         From Alfred M. Szmidt.
88082
88083 2002-06-18  Paul Eggert  <eggert@twinsun.com>
88084
88085         * lib/file-type.h: Report an error if neither S_ISREG nor
88086         S_IFREG is defined, instead of using a test specific to glibc
88087         2.2.  This should be safe, since POSIX requires S_ISREG and
88088         Unix Version 7 had S_IFREG.  We don't need to check for
88089         <sys/types.h> since we don't use any symbols that it defines.
88090
88091 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
88092
88093         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
88094         $@-t, so that each temporary file name is unique and valid in the first
88095         8 characters, for operation under DOS.
88096
88097 2002-06-15  Paul Eggert  <eggert@twinsun.com>
88098
88099         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
88100
88101 2002-06-15  Jim Meyering  <meyering@lucent.com>
88102
88103         Work even with DJGPP 2.03, which lacks support for symlinks.
88104         From Richard Dawe.
88105         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
88106         is defined.
88107         * lib/lchown.c (S_ISLNK): Likewise.
88108
88109 2002-06-15  Jim Meyering  <meyering@lucent.com>
88110
88111         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
88112         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
88113         have been included before this file.
88114
88115 2002-06-14  Jim Meyering  <meyering@lucent.com>
88116
88117         * lib/file-type.h: Use the version from diffutils-2.8.2.
88118         * lib/file-type.c: Likewise.
88119
88120 2002-06-07  Jim Meyering  <meyering@lucent.com>
88121
88122         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
88123         They're needed at least for NetBSD 1.5.2.
88124         ($statxfs_includes): Include those same headers.
88125         ($statxfs_includes): Include sys/vfs.h if available.
88126         ($statxfs_includes): Likewise for sys/statvfs.h.
88127         Check for the following members in both structs statfs and statvfs:
88128         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
88129
88130 2002-06-01  Jim Meyering  <meyering@lucent.com>
88131
88132         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
88133         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
88134
88135 2002-05-28  Jim Meyering  <meyering@lucent.com>
88136
88137         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
88138         Reported by Volker Borchert.
88139
88140 2002-05-27  Jim Meyering  <meyering@lucent.com>
88141
88142         Fix a problem seen only on nonconforming systems whereby ls.c's
88143         use of localtime, and then of gettimeofday would cause trouble:
88144         the localtime call used to initialize rpl_gettimeofday's save
88145         mechanism would clobber ls's current local time information so
88146         that in any long listing the first file would always be listed
88147         with date 1970-01-01.  Analysis by Volker Borchert.
88148
88149         * lib/gettimeofday.c (localtime): Undefine.
88150         (rpl_localtime): New function.
88151
88152 2002-05-27  Jim Meyering  <meyering@lucent.com>
88153
88154         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
88155         localtime.
88156
88157         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
88158         use the replacement function; it wouldn't resolve at link time.
88159         Reported by Volker Borchert.
88160
88161 2002-05-22  Jim Meyering  <meyering@lucent.com>
88162
88163         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
88164         file-type.h.
88165         * lib/file-type.h: New file.
88166         * lib/file-type.c (file_type): New file/function.  Extracted from
88167         diffutils.
88168
88169 2002-04-30  Jim Meyering  <meyering@lucent.com>
88170
88171         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
88172
88173 2002-04-29  Paul Eggert  <eggert@twinsun.com>
88174
88175         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
88176
88177 2002-04-29  Paul Eggert  <eggert@twinsun.com>
88178
88179         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
88180         Do not check for alloca.h (no longer used) or stdbool.h (was never
88181         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
88182
88183 2002-04-29  Paul Eggert  <eggert@twinsun.com>
88184
88185         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
88186
88187 2002-04-29  Jim Meyering  <meyering@lucent.com>
88188
88189         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
88190         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
88191         Use AC_FUNC_STRNLEN here instead.
88192
88193         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
88194         With autoconf-2.53a, it's part of AC_PROG_CC.
88195
88196 2002-04-28  Paul Eggert  <eggert@twinsun.com>
88197
88198         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
88199         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
88200
88201 2002-04-28  Paul Eggert  <eggert@twinsun.com>
88202
88203         * lib/sig2str.h, lib/sig2str.c: New files.
88204         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
88205
88206 2002-04-28  Paul Eggert  <eggert@twinsun.com>
88207
88208         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
88209         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
88210         of 127, since 64 is the largest conceivable number for ancient
88211         nonstandard hosts.
88212         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
88213
88214 2002-04-28  Jim Meyering  <meyering@lucent.com>
88215
88216         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
88217
88218 2002-04-24  Jim Meyering  <meyering@lucent.com>
88219
88220         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
88221         (jm_PREREQ): Use it.
88222
88223         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
88224         mach/mach.h fcntl.h.
88225         Check for this function: setlocale.
88226
88227 2002-04-24  Jim Meyering  <meyering@lucent.com>
88228
88229         * lib/gettext.h: New file, from Gettext.
88230         * lib/Makefile.am (INCLUDES): Remove -I../intl.
88231         (libfetish_a_SOURCES): Add gettext.h.
88232
88233 2002-04-16  Jim Meyering  <meyering@lucent.com>
88234
88235         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
88236         ut_pid, ut_id, ut_exit.
88237
88238 2002-04-16  Jim Meyering  <meyering@lucent.com>
88239
88240         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
88241         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
88242         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
88243
88244 2002-04-12  Jim Meyering  <meyering@lucent.com>
88245
88246         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
88247         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
88248         existence of the getmntinfo function.  Needed for Darwin 5.3.
88249
88250         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
88251         This is necessary at least on Darwin 5.3.
88252
88253         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
88254         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
88255         strnlen.o in the library, and that makes some versions of ranlib
88256         object.
88257
88258 2002-04-12  Jim Meyering  <meyering@lucent.com>
88259
88260         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
88261
88262 2002-04-09  Jim Meyering  <meyering@lucent.com>
88263
88264         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
88265         to be more precise.  Rather than saying we're checking whether the
88266         function `works', say what we're testing.
88267         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
88268         Reported by Bruno Haible.
88269
88270 2002-03-10  Jim Meyering  <meyering@lucent.com>
88271
88272         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
88273         Suggestion from Santiago Vila.
88274
88275 2002-03-08  Jim Meyering  <meyering@lucent.com>
88276
88277         * lib/rename.c: Mention that this wrapper is needed also on
88278         mips-dec-ultrix4.4 systems.
88279
88280 2002-03-02  Jim Meyering  <meyering@lucent.com>
88281
88282         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
88283         not HAVE_CLOCK_SETTIME.
88284
88285 2002-02-27  Paul Eggert  <eggert@twinsun.com>
88286
88287         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
88288         Check for clock_settime.
88289
88290 2002-02-27  Paul Eggert  <eggert@twinsun.com>
88291
88292         * lib/nanosleep.h: Rename to....
88293         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
88294
88295         * lib/gettime.c: New file.
88296         * lib/settime.c: New file.
88297         * lib/stime.c: Remove.
88298
88299         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
88300         timespec.h.  Remove nanosleep.h.
88301
88302 2002-02-25  Paul Eggert  <eggert@twinsun.com>
88303
88304         * m4/acl.m4: New file.
88305         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
88306         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
88307
88308 2002-02-25  Paul Eggert  <eggert@twinsun.com>
88309
88310         * lib/acl.c, lib/acl.h: New files.
88311         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
88312
88313 2002-02-24  Jim Meyering  <meyering@lucent.com>
88314
88315         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
88316         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
88317         cause trouble.  Reported by Nelson Beebe.
88318
88319 2002-02-23  Paul Eggert  <eggert@twinsun.com>
88320
88321         * lib/path-concat.c (xpath_concat): Reorder code to pacify
88322         compilers that don't know that xalloc_die never returns.
88323
88324 2002-02-20  Jim Meyering  <meyering@lucent.com>
88325
88326         * lib/getdate.c: Regenerate using bison-1.33.
88327
88328 2002-02-17  Jim Meyering  <meyering@lucent.com>
88329
88330         * config/config.guess (main): Don't use `head -1'; it's no longer
88331         portable. Use `sed 1q' instead.
88332
88333 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
88334
88335         * m4/codeset.m4: Upgrade to gettext-0.11.
88336         * m4/gettext.m4: Upgrade to gettext-0.11.
88337         * m4/glibc21.m4: Upgrade to gettext-0.11.
88338         * m4/iconv.m4: Upgrade to gettext-0.11.
88339         * m4/isc-posix.m4: Upgrade to gettext-0.11.
88340         * m4/lcmessage.m4: Upgrade to gettext-0.11.
88341         * m4/lib-ld.m4: New file, from gettext-0.11.
88342         * m4/lib-link.m4: New file, from gettext-0.11.
88343         * m4/lib-prefix.m4: New file, from gettext-0.11.
88344         * m4/progtest.m4: Upgrade to gettext-0.11.
88345
88346 2002-02-15  Paul Eggert  <eggert@twinsun.com>
88347
88348         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
88349         (jm_PREREQ): Use it.
88350
88351 2002-02-15  Paul Eggert  <eggert@twinsun.com>
88352
88353         * lib/posixver.c, lib/posixver.h: New files.
88354         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
88355
88356 2002-02-02  Paul Eggert  <eggert@twinsun.com>
88357             Bruno Haible  <bruno@clisp.org>
88358
88359         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
88360         (fwrite_success_callback): New declaration.
88361         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
88362         print_unicode_char. Call failure callback instead of error.
88363         (fwrite_success_callback): New function.
88364         (exit_failure_callback): New function.
88365         (fallback_failure_callback): New function.
88366         (print_unicode_char): Call unicode_to_mb.
88367
88368 2002-01-26  Jim Meyering  <meyering@lucent.com>
88369
88370         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
88371         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
88372
88373 2002-01-26  Jim Meyering  <meyering@lucent.com>
88374
88375         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
88376
88377 2002-01-22  Paul Eggert  <eggert@twinsun.com>
88378
88379         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
88380
88381 2002-01-22  Jim Meyering  <meyering@lucent.com>
88382
88383         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
88384         Otherwise, some versions of automake would omit the rule that makes
88385         Makefile from Makefile.in.
88386
88387 2002-01-21  Paul Eggert  <eggert@twinsun.com>
88388
88389         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
88390         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
88391         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
88392         (memcoll): Set errno to zero if there is no error.
88393
88394         * lib/quotearg.c (quotearg_buffer_restyled):
88395         Fix bug with quoting buffers containing NUL when backslashing escapes.
88396         This bug was exposed by the other changes in this patch.
88397         (quotearg_n_options): New arg ARGSIZE.
88398         All callers changed.
88399         (quoting_options_from_style): New function.
88400         (quotearg_n_style): Use it.
88401         (quotearg_n_style_mem): New function.
88402
88403         * lib/quotearg.h (quotearg_n_style_mem): New function.
88404
88405 2002-01-19  Jim Meyering  <meyering@lucent.com>
88406
88407         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
88408         Remove useless quotes: DF_PROG="df".
88409         * m4/strnlen.m4: New file.
88410
88411 2002-01-16  Paul Eggert  <eggert@twinsun.com>
88412
88413         * lib/backupfile.c (ISDIGIT): Comment fix.
88414         * lib/getdate.y (ISDIGIT): Likewise.
88415         * lib/posixtm.c (ISDIGIT, year): Likewise.
88416         * lib/strverscmp.c (ISDIGIT): Likewise.
88417         * lib/userspec.c (ISDIGIT): Likewise.
88418
88419 2002-01-16  Jim Meyering  <meyering@lucent.com>
88420
88421         * lib/getdate.y: Add three semicolons, each just before a closing
88422         brace. Bison (as of version 1.31) no longer papers over that mistake.
88423
88424 2002-01-05  Jim Meyering  <meyering@lucent.com>
88425
88426         * lib/version-etc.c (version_etc_copyright): Update copyright year.
88427
88428 2001-12-19  Paul Eggert  <eggert@twinsun.com>
88429
88430         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
88431         not silently exit merely because the output buffer happens to
88432         have nothing pending.
88433
88434 2001-12-18  Paul Eggert  <eggert@twinsun.com>
88435
88436         See the big note in ../ChangeLog.
88437         * lib/human.c (suffixes): Prefer K to k for 1024.
88438         (generate_suffix_backwards): New function.
88439         (human_readable_inexact): Use it.
88440         * lib/xstrtol.c (__xstrtol): If there is no number but there
88441         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
88442         Accept 'K' as well as 'k'.
88443
88444 2001-12-15  Jim Meyering  <meyering@lucent.com>
88445
88446         * lib/regex.h (__restrict_arr): Update from libc.
88447
88448         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
88449         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
88450         (STREQ): Define.
88451
88452 2001-12-14  Jim Meyering  <meyering@lucent.com>
88453
88454         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
88455         Suggestion from Bruno Haible.
88456
88457 2001-12-10  Jim Meyering  <meyering@lucent.com>
88458
88459         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
88460         xrealloc, Instead, include "xalloc.h".
88461         (initbuffer): Don't cast xmalloc return value to char*.
88462         (readline): Reword comment.
88463         Don't cast xrealloc return value to char*
88464         Return NULL, not 0.
88465
88466 2001-12-09  Jim Meyering  <meyering@lucent.com>
88467
88468         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
88469         about `signed and unsigned type in conditional expression'.
88470         * lib/posixtm.c (posix_time_parse): Likewise.
88471
88472         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
88473
88474         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
88475         to avoid a pedantic warning.
88476
88477         * lib/getstr.c: Don't include assert.h.
88478         (getstr): Remove warning-evoking assertions.
88479         Return -1 if offset parameter is out of bounds.
88480         Change the type of a local from int to size_t.
88481
88482         * lib/strftime.c (my_strftime_localtime_r): Include this function
88483         definition in the `#if ! HAVE_TM_GMTOFF' block.
88484
88485         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
88486         Include xalloc.h instead.
88487
88488 2001-12-02  Jim Meyering  <meyering@lucent.com>
88489
88490         * lib/tempname.c: Don't declare getenv, thus reverting the change of
88491         2001-11-18.  It's no longer necessary, now that stdlib.h is always
88492         included.
88493
88494         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
88495         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
88496
88497 2001-11-30  Akim Demaille  <akim@epita.fr>
88498
88499         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
88500         before being defined.
88501
88502 2001-11-27  Paul Eggert  <eggert@twinsun.com>
88503
88504         * lib/quotearg.h (quotearg_n, quotearg_n_style):
88505         First arg is int, not unsigned.
88506         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
88507         (SIZE_MAX, UINT_MAX): New macros.
88508         (quotearg_n_options): Abort if N is negative.
88509         Avoid overflow check on hosts where size_t is 64 bits and int
88510         is 32 bits, as overflow is impossible there.
88511         Fix off-by-one typo that caused unnecessary reallocation.
88512
88513 2001-11-27  Jim Meyering  <meyering@lucent.com>
88514
88515         * lib/tempname.c: Merge with version from libc.
88516         * lib/regex.c: Likewise.
88517
88518         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
88519         systems for which STDC_HEADERS is 0, it was not included, resulting in
88520         a warning about an integer-to-pointer conversion problem with getenv.
88521         Reported by Volker Borchert.
88522
88523 2001-11-26  Jim Meyering  <meyering@lucent.com>
88524
88525         * lib/gtod.h: Remove file.
88526         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
88527         * lib/gettimeofday.c: Don't include gtod.h.
88528         (GTOD_init): Remove function.
88529         (rpl_gettimeofday): Do its job here instead, rather than aborting.
88530         Suggestion from Volker Borchert.
88531
88532 2001-11-23  Jim Meyering  <meyering@lucent.com>
88533
88534         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
88535         it.
88536         * lib/hash.c (struct hash_table): Define it here instead.
88537
88538 2001-11-22  Jim Meyering  <meyering@lucent.com>
88539
88540         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
88541
88542 2001-11-20  Jim Meyering  <meyering@lucent.com>
88543
88544         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
88545         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
88546
88547 2001-11-19  Jim Meyering  <meyering@lucent.com>
88548
88549         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
88550         directory.  Use "conftestXXXXXX" as the template.
88551         Suggestion from Paul Eggert.
88552
88553         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
88554         immediately, so the test doesn't mistakenly hit the max-open-files
88555         limit.
88556
88557 2001-11-18  Paul Eggert  <eggert@twinsun.com>
88558
88559         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
88560         (TEMPORARIES): New macro.
88561         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
88562         removes an artificial limitation (e.g. HP-UX 10.20, where
88563         TMP_MAX is 17576).
88564
88565 2001-11-18  Jim Meyering  <meyering@lucent.com>
88566
88567         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
88568
88569 2001-11-18  Jim Meyering  <meyering@lucent.com>
88570
88571         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
88572         on SunOS 4.
88573
88574         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
88575         files will be created before anything else.
88576
88577 2001-11-17  Paul Eggert  <eggert@twinsun.com>
88578
88579         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
88580         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
88581
88582 2001-11-17  Jim Meyering  <meyering@lucent.com>
88583
88584         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
88585         Prompted by a report from Bob Proulx.
88586
88587         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
88588         Instead, require UTILS_FUNC_MKSTEMP.
88589
88590 2001-11-17  Jim Meyering  <meyering@lucent.com>
88591
88592         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
88593         Now, that's done as part of AC_FUNC_STRTOD.
88594
88595 2001-11-17  Jim Meyering  <meyering@lucent.com>
88596
88597         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
88598         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
88599         rather than group writable.  Patch by Juan F. Codagnone.
88600
88601         * lib/readtokens.c: Remove explicit declarations of xmalloc and
88602         xrealloc, Instead, include "xalloc.h".
88603
88604         * lib/mountlist.c: Include unlocked-io.h after all system headers.
88605         Remove explicit declarations of xmalloc, xrealloc,
88606         and xstrdup.  Instead, include "xalloc.h".
88607
88608         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
88609         unlocked-io.h.
88610         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
88611         Likewise.
88612         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
88613
88614         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
88615         Reported by Padraig Brady.
88616
88617         * lib/mkstemp.c: #undef mkstemp.
88618         Include config.h.
88619         (rpl_mkstemp): Rename from mkstemp.
88620         Protoize.
88621
88622 2001-11-16  Jim Meyering  <meyering@lucent.com>
88623
88624         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
88625         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
88626         determine the amount of total physical memory, use pstat_getstatic.
88627         HPUX-11 doesn't define _SC_PHYS_PAGES.
88628         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
88629         If sysconf couldn't be used to determine the amount of available
88630         physical memory, use both pstat_getstatic and pstat_getdynamic.
88631         Based on a patch from Bob Proulx.
88632
88633 2001-11-10  Jim Meyering  <meyering@lucent.com>
88634
88635         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
88636         (jm_PREREQ): Use it.
88637
88638 2001-11-09  Jim Meyering  <meyering@lucent.com>
88639
88640         * m4/jm-macros.m4: Require autoconf-2.52f.
88641         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
88642         Use these AC_-prefixed names, not the AM_-prefixed ones.
88643
88644         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
88645
88646 2001-11-05  Jim Meyering  <meyering@lucent.com>
88647
88648         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
88649
88650 2001-11-04  Jim Meyering  <meyering@lucent.com>
88651
88652         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
88653         $DEFS.
88654
88655 2001-11-03  Jim Meyering  <meyering@lucent.com>
88656
88657         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
88658         of AC_DEFUN.
88659
88660         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
88661         know the name of the variable in the macro definition.
88662
88663 2001-11-03  Jim Meyering  <meyering@lucent.com>
88664
88665         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
88666         in argmatch_to_argument call.
88667
88668         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
88669         argument.
88670
88671         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
88672         e.g., a fault due to an attempt to free a NULL pointer.
88673
88674 2001-11-01  Jim Meyering  <meyering@lucent.com>
88675
88676         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
88677         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
88678
88679 2001-11-01  Jim Meyering  <meyering@lucent.com>
88680
88681         * lib/dirfd.c, lib/dirfd.h: New files.
88682         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
88683
88684         * lib/hash.c (hash_print) [TESTING]: Clean up.
88685
88686 2001-10-22  Paul Eggert  <eggert@twinsun.com>
88687
88688         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
88689         to avoid a warning if -Wall.
88690
88691 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
88692
88693         * README: New file
88694         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
88695         (per RMS's instructions, this is now the canonical source)
88696         * lgpl/, gpl/: New directories.
88697
88698 2001-10-21  Paul Eggert  <eggert@twinsun.com>
88699
88700         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
88701
88702 2001-10-21  Jim Meyering  <meyering@lucent.com>
88703
88704         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
88705         this code would end up calling gettext even in packages built
88706         with --disable-nls.
88707         * lib/getopt.c (_): Likewise.
88708         * lib/regex.c (_): Likewise.
88709
88710 2001-10-20  Paul Eggert  <eggert@twinsun.com>
88711
88712         * m4/error.m4 (jm_PREREQ_ERROR):
88713         Do not invoke AC_CHECK_FUNCS with strerror_r, as
88714         AC_FUNC_STRERROR_R does that.
88715         Check for strerror declaration.
88716
88717         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
88718         are supposed to have them these days.
88719         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
88720         Merge changes from latest Autoconf CVS.
88721         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
88722         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
88723         POSIX decided to standardize on the int flavor of strerror_r.
88724
88725 2001-10-20  Paul Eggert  <eggert@twinsun.com>
88726
88727         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
88728         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
88729         Use strerror_r that is only a macro, even if it is not a function.
88730         (strerror): Check for HAVE_DECL_STRERROR before declaring.
88731         (private_strerror): Use prototypes, not old-style function definition.
88732         (print_errno_message): New function.
88733         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
88734         char*-flavored one.
88735         (error_tail, error, error_at_line): Use it.
88736
88737 2001-10-11  Jim Meyering  <meyering@lucent.com>
88738
88739         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
88740         and quote_n (1, ... to avoid clobbering a buffer.
88741
88742 2001-10-05  Jim Meyering  <meyering@lucent.com>
88743
88744         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
88745         hash-pjw.h.
88746         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
88747         * lib/hash-pjw.h: New file.
88748
88749 2001-09-30  Jim Meyering  <meyering@lucent.com>
88750
88751         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
88752         `struct fsstat' has the `f_fstypename' member.
88753         Use that to define FS_TYPE, which is now used to make
88754         the getfsstat link test tighter.
88755
88756 2001-09-30  Jim Meyering  <meyering@lucent.com>
88757
88758         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
88759         Include <sys/ucred.h>, for Apple Darwin.
88760         Include sys/mount.h and sys/fs_types.h only if available.
88761         (FS_TYPE): Define.
88762         (read_filesystem_list): Use FS_TYPE.
88763
88764 2001-09-29  Paul Eggert  <eggert@twinsun.com>
88765
88766         * lib/exclude.c (excluded_filename): 0 -> false, since it's
88767         a boolean context.
88768
88769 2001-09-29  Jim Meyering  <meyering@lucent.com>
88770
88771         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
88772         [one-argument getmntent function]): Include stdio.h before mntent.h.
88773         SunOS 4.1.x needs it for the declaration of `FILE'.
88774         Patch by Volker Borchert.
88775
88776         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
88777         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
88778         sys/fs_types.h, and make the link-test for getfsstat guard #include
88779         directives with appropriate #if HAVE_*_H tests so that we can
88780         detect getfsstat on Apple Darwin1.3.7 systems.
88781         Reported by Nelson Beebe.
88782         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
88783
88784 2001-09-28  Paul Eggert  <eggert@twinsun.com>
88785
88786         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
88787         #defines strtoimax.  Also treat the other strto* functions
88788         like strtoimax.
88789
88790         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
88791         Check for strtoul and strtoumax,
88792         as those declarations are made even in the signed case.
88793         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
88794         Likewise, for strtol and strtoimax.
88795
88796 2001-09-28  Paul Eggert  <eggert@twinsun.com>
88797
88798         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
88799         #defines strtoimax.  Also treat the other strto* functions
88800         like strtoimax.
88801
88802         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
88803         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
88804         (strtoimax, strtoumax): Do not declare if already defined as a macro.
88805
88806 2001-09-26  Jim Meyering  <meyering@lucent.com>
88807
88808         Most macros in unlocked-io.h had the wrong number of arguments.
88809         * lib/gen-uio: New script.
88810         (USE_UNLOCKED_IO): Define to 1 if not already defined.
88811         * lib/unlocked-io.hin: Remove file.
88812         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
88813         rather than trying to embed it here.
88814         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
88815         Reported by Padraig Brady.
88816
88817 2001-09-25  Volker Borchert  <bt@teknon.de>
88818
88819         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
88820         `result'.
88821
88822 2001-09-24  Jim Meyering  <meyering@lucent.com>
88823
88824         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
88825
88826 2001-09-23  Jim Meyering  <meyering@lucent.com>
88827
88828         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
88829         instead of the mere test for existence of mntent.h.  The latter
88830         would get a false-positive on AIX 3.4 systems.
88831         In the outer getmntent if-block, don't die if neither of the getmntent
88832         tests succeeds.  Instead, just fall through and continue with the
88833         remaining tests.
88834
88835 2001-09-23  Jim Meyering  <meyering@lucent.com>
88836
88837         * lib/mountlist.c: Remove useless parentheses in #if directives.
88838         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
88839         the deprecated MOUNTED symbol is no longer defined in mntent.h.
88840
88841 2001-09-22  Jim Meyering  <meyering@lucent.com>
88842
88843         * m4/gettext.m4: New file.  From gettext.
88844         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
88845         * m4/progtest.m4: Likewise
88846         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
88847         * m4/glibc21.m4: Likewise.
88848
88849         * m4/libintl.m4: Remove.  No longer used.
88850
88851 2001-09-22  Jim Meyering  <meyering@lucent.com>
88852
88853         * lib/localcharset.c: Update from latest gettext.
88854         * lib/config.charset: Likewise.
88855
88856 2001-09-20  Jim Meyering  <meyering@lucent.com>
88857
88858         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
88859         strtoimax.
88860         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
88861         strtoumax.
88862
88863 2001-09-20  Jim Meyering  <meyering@lucent.com>
88864
88865         * lib/xstrtol.c (strtoimax): Guard declaration with
88866         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
88867         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
88868         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
88869         (strtoumax): Likewise, for completeness (it wasn't necessary).
88870
88871 2001-09-17  Paul Eggert  <eggert@twinsun.com>
88872
88873         * lib/strtoimax.c (HAVE_LONG_LONG):
88874         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
88875         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
88876         to work around bug in IBM C compiler.
88877
88878 2001-09-17  Jim Meyering  <meyering@lucent.com>
88879
88880         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
88881         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
88882         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
88883         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
88884         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
88885         whenever the right hand side need not be expanded by the shell.
88886
88887 2001-09-16  Paul Eggert  <eggert@twinsun.com>
88888
88889         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
88890         library.  It's not correct, as some older glibcs are buggy.
88891         fnmatch wasn't fixed until glibc 2.2.
88892
88893         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
88894         special shell magic here.
88895
88896 2001-09-16  Jim Meyering  <meyering@lucent.com>
88897
88898         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
88899         * m4/jm-macros.m4: Require it.
88900
88901 2001-09-16  Jim Meyering  <meyering@lucent.com>
88902
88903         * lib/mkdir.c: New file.
88904
88905 2001-09-15  Jim Meyering  <meyering@lucent.com>
88906
88907         * m4/jm-macros.m4: Check for help2man.
88908
88909 2001-09-11  Jim Meyering  <meyering@lucent.com>
88910
88911         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
88912         The body, by Paul Eggert, was moved here from configure.in.
88913         * m4/jm-macros.m4: Require UTILS_HOST_OS.
88914
88915 2001-09-04  Paul Eggert  <eggert@twinsun.com>
88916
88917         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
88918         (jm_PREREQ): Use it.
88919
88920 2001-09-04  Paul Eggert  <eggert@twinsun.com>
88921
88922         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
88923         Use ssize_t, not int, to store result of readlink.
88924         Check for ssize_t overflow as well as size_t overflow,
88925         as POSIX says the result of readlink is implementation-defined
88926         when ssize_t overflows.
88927         Remove unnecessary cast to char*.
88928         Use free+malloc instead of realloc, as the storage doesn't need
88929         to be preserved and it's clearer and can be more efficient that way.
88930         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
88931         * lib/xreadlink.h (xreadlink): Update prototype.
88932
88933 2001-09-04  Paul Eggert  <eggert@twinsun.com>
88934
88935         * lib/xgetcwd.c: Revert some of the previous change; intead,
88936         fix the HAVE_GETCWD_NULL code to behave more like the
88937         !HAVE_GETCWD_NULL code used to.
88938
88939         Include "xalloc.h".
88940         (xgetcwd): Do not return NULL when memory is exhausted; instead,
88941         invoke xalloc_die.
88942
88943 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88944
88945         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
88946         sys/param.h, as pathmax.h includes them.
88947
88948 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88949
88950         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
88951         (jm_PREREQ_XGETCWD): New macro.
88952
88953         * m4/getcwd.m4: New file.
88954
88955 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88956
88957         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
88958         like the HAVE_GETCWD_NULL code.
88959         Include pathmax.h if not HAVE_GETCWD.
88960         Do not include xalloc.h.
88961         (INITIAL_BUFFER_SIZE): New symbol.
88962         Do not use xmalloc / xrealloc, since the caller is responsible for
88963         handling errors.  Preserve errno around `free' during failure.
88964         Do not overrun buffer when using getwd.
88965
88966 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88967
88968         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
88969         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
88970         getcwd (NULL, 0).
88971
88972 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88973
88974         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
88975         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
88976         spotted by Jim Meyering.
88977
88978 2001-09-03  Jim Meyering  <meyering@lucent.com>
88979
88980         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
88981         failure.
88982
88983 2001-09-02  Jim Meyering  <meyering@lucent.com>
88984
88985         * lib/error.c: Update from GNU libc.
88986
88987 2001-09-01  Jim Meyering  <meyering@lucent.com>
88988
88989         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
88990         Used by df.
88991
88992 2001-09-01  Jim Meyering  <meyering@lucent.com>
88993
88994         * lib/xreadlink.c: New file.
88995         * lib/xreadlink.h: New file.
88996         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
88997         xreadlink.h.
88998
88999         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
89000         doesn't conflict with sparc Solaris 7's definition in
89001         /usr/include/sys/int_types.h.
89002
89003         * lib/exclude.c: Use `""', not `<>' to #include non-system header
89004         files.
89005         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
89006         and strncasecmp as r-values.  Unixware didn't have declarations.
89007
89008 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89009
89010         * lib/xstrtol.h: Add copyright notice.
89011         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
89012         LONGINT_INVALID_SUFFIX_CHAR.
89013
89014 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89015
89016         * lib/xstrtol.c (strtoimax): New decl.
89017
89018 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89019
89020         * lib/xgetcwd.c: Don't include pathmax.h.
89021         Include stdlib.h and unistd.h if available.
89022         Include xalloc.h.
89023         (xmalloc, xstrdup, free): Remove decls.
89024         (xgetcwd): Don't assume sizes fit in unsigned.
89025         Check for overflow when computing sizes.
89026         Simplify reallocation code.
89027
89028 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89029
89030         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
89031         a directory's st_size can have an arbitrary value, so the old
89032         usage could waste an arbitrary amount of memory.  All uses
89033         changed.
89034         * lib/savedir.h: Update prototype.
89035
89036 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89037
89038         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
89039
89040         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
89041         old strtoimax.c.
89042
89043         Also, make the following further changes to make this file's
89044         configuration more similar to that of strtol.c:
89045         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
89046         (strtoumax, uintmax_t, strtoull, strtol): Remove.
89047         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
89048         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
89049         changed to signed values.
89050
89051         And make the following changes as well:
89052         Fix copyright notice, as 1999 was missing.
89053         (verify): New macro.
89054         (strtoimax): Check sizes at compile-time, not run-time.
89055         Prefer strtol to strtoll if both work.
89056         (main): Remove; it was not that useful and was a pain to maintain.
89057
89058         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
89059
89060 2001-08-31  Jim Meyering  <meyering@lucent.com>
89061
89062         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
89063         Use an initial, malloc'd, buffer of length 128 rather than
89064         a statically allocated one of length 1024.
89065
89066 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89067
89068         Simplify code, partly by assuming autoconf 2.52 semantics.
89069
89070         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
89071
89072         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
89073         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
89074         All uses removed.
89075         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
89076         Move AC_REQUIRE to next-to-top level, to avoid confusion.
89077         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
89078         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
89079         jm_AC_HEADER_INTTYPES_H.
89080         * m4/jm-macros.m4 (jm_MACROS): Likewise.
89081
89082         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
89083
89084         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
89085         Quote first arg of AC_DEFUN.
89086         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
89087         since they are needed to parse the include file even if we need
89088         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
89089         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
89090         but with opposite signedness.
89091
89092 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89093
89094         Merge 'exclude' changes from tar 1.13.22.
89095         This fixes one or two unlikely storage allocation overflow bugs,
89096         but doesn't change user-visible behavior otherwise.
89097
89098 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89099
89100         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
89101         (jm_PREREQ_EXCLUDE): New macro.
89102
89103 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89104
89105         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
89106         tm to be declared.
89107
89108 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89109
89110         * lib/hash.c: Remove '2001' from copyright notice.
89111
89112 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89113
89114         * lib/full-write.h: New file.
89115         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
89116         * lib/full-write.c: Correct credits, as cccp.c no longer
89117         exists and anyway it was so heavily changed from the old cccp
89118         code as to be unrecognizable.  Include full-write.h.
89119         (full_write): Return size_t, with short writes meaning failure.
89120         All callers changed.  This fixes a bug with large buffers
89121         on 64-bit hosts.
89122         * lib/utime.c: Include full-write.h.
89123
89124 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89125
89126         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
89127         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
89128         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
89129         Include if available.
89130         (<xalloc.h>): Include
89131         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
89132         (verify): New macro.  Use it to verify that EXCLUDE macros do not
89133         collide with FNM macros.
89134         (struct patopts): New struct.
89135         (struct exclude): Use it, as exclude patterns now come with options.
89136         (new_exclude): Support above changes.
89137         (new_exclude, add_exclude_file):
89138         Initial size must now be a power of two to simplify overflow checking.
89139         (free_exclude, fnmatch_no_wildcards): New function.
89140         (excluded_filename): No longer requires options arg, as the options
89141         are determined by add_exclude.  Now returns bool, not int.
89142         (excluded_filename, add_exclude):
89143         Add support for the fancy new exclusion options.
89144         (add_exclude, add_exclude_file): Now takes int options arg.
89145         Check for arithmetic overflow when computing sizes.
89146         (add_exclude_file): xrealloc might modify errno, so don't
89147         realloc until after errno might be used.
89148
89149         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
89150         New macros.
89151         (free_exclude): New decl.
89152         (add_exclude, add_exclude_file): Now takes int options arg.
89153         (excluded_filename): No longer requires options arg, as the options
89154         are determined by add_exclude.  Now returns bool, not int.
89155
89156 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89157
89158         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
89159
89160 2001-08-27  Jim Meyering  <meyering@lucent.com>
89161
89162         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
89163
89164         * lib/version-etc.c (N_): Remove definition.
89165         Revert most of last change.
89166         Instead, simply don't mark the `Copyright...' string for translation.
89167         Based on advice from Paul Eggert.
89168
89169         * lib/strtoxmax.c: Tweak comment.
89170
89171 2001-08-26  Jim Meyering  <meyering@lucent.com>
89172
89173         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
89174
89175         * m4/xstrtoimax.m4: New file.
89176         * m4/xstrtoumax.m4: Add comments explaining why we
89177         AC_REPLACE_FUNCS(strtol).
89178
89179 2001-08-26  Jim Meyering  <meyering@lucent.com>
89180
89181         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
89182         of copyright with `%s' so translators don't get an untranslated
89183         message in 2002.
89184         (COPYRIGHT_YEAR): Define.
89185         (version_etc): Use fprintf rather than fputs.
89186         Suggestion from Ulrich Drepper.
89187
89188         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
89189
89190         * lib/strtoll.c: New file, from GNU libc.
89191         * lib/xstrtoimax.c: New file.
89192
89193         * lib/xstrtol.h: Add xstrtoimax.
89194         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
89195         * lib/strtoimax.c: New file.  Likewise, but first define
89196         STRTOUXMAX_SIGNED.
89197
89198         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
89199         ...
89200         * lib/strtoxmax.c: ... then renamed to this.
89201
89202 2001-08-18  Paul Eggert  <eggert@twinsun.com>
89203
89204         * m4/inttypes.m4: Add AC_PREREQ(2.13).
89205         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
89206         (jm_AC_TYPE_INTMAX_T): New macro.
89207         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
89208
89209         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
89210
89211         * m4/longlong.m4: Renamed from ulonglong.m4.
89212         * m4/inttypes.m4: Renamed from inttypes_h.m4.
89213         * m4/uintmax_t.m4: Removed.
89214
89215 2001-08-13  Paul Eggert  <eggert@twinsun.com>
89216
89217         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
89218         Port to Solaris 8, where 'sed' requires a space after the 'r'
89219         command, and where sh dislikes "$/".  Clean up the spacing a bit.
89220         Redirect output to $tmp just once.
89221
89222 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
89223
89224         * lib/addext.c (<errno.h>): Include.
89225         (errno): Declare if not defined.
89226         (addext): Work correctly when pathconf returns -1 and leaves
89227         errno alone because there is no limit.  Also, work even if
89228         pathconf returns a value greater than SIZE_MAX.
89229
89230 2001-08-12  Jim Meyering  <meyering@lucent.com>
89231
89232         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
89233         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
89234         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
89235         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
89236         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
89237         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
89238         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
89239         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
89240         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
89241         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
89242         utime.m4, utimes.m4, xstrtoumax.m4:
89243         Quote the first argument in each use of AC_DEFUN.
89244
89245 2001-08-12  Jim Meyering  <meyering@lucent.com>
89246
89247         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
89248         Simply `return getcwd (NULL, 0);'.
89249         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
89250         Use 1300 as initial value for length, not PATH_MAX.
89251
89252         * lib/pathmax.h: Clean up cpp syntax.
89253
89254 2001-08-12  Jim Meyering  <meyering@lucent.com>
89255
89256         * lib/gettimeofday.c: New file.
89257         * lib/gtod.h: New file.
89258         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
89259
89260 2001-08-05  Jim Meyering  <meyering@lucent.com>
89261
89262         * m4/jm-macros.m4: Require autoconf-2.52.
89263
89264 2001-08-04  Jim Meyering  <meyering@lucent.com>
89265
89266         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
89267         stmt, to get in sync with glibc.
89268
89269 2001-08-03  Paul Eggert  <eggert@twinsun.com>
89270
89271         The following changes are from gettext 0.10.39 as maintained by
89272         Bruno Haible.
89273
89274         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
89275         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
89276         with inverted sense.  All uses changed.
89277
89278         * lib/mbswidth.c: Don't include <limits.h>.
89279         Include <stdlib.h> and <string.h> unconditionally.
89280         (iswcntrl, mbsinit, ISCNTRL): New macros.
89281         (mbsnwidth): Use K&R style function declarations.
89282         Don't bother checking for MB_LEN_MAX == 1, since the compiler
89283         can optimize it when MB_CUR_MAX == 1.
89284         The width of control characters is zero, not 1.
89285
89286 2001-08-03  Paul Eggert  <eggert@twinsun.com>
89287
89288         The following changes are from gettext 0.10.39 as maintained by
89289         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
89290
89291         * m4/codeset.m4: Upgrade to serial AM1.
89292         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
89293         all uses changed.  Quote first arg of AC_DEFUN.
89294         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
89295
89296         * m4/iconv.m4: Upgrade to serial AM2.
89297         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
89298         Add --with-libconv-prefix.
89299         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
89300         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
89301         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
89302         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
89303         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
89304
89305         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
89306         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
89307         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
89308         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
89309         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
89310         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
89311         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
89312         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
89313         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
89314
89315         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
89316         string.h any more.
89317
89318         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
89319         not the default value.
89320
89321         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
89322         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
89323         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
89324         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
89325         Also check for iswcntrl, used for wcwidth fallback.
89326         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
89327         to Autoconf 2.13.
89328
89329 2001-08-03  Jim Meyering  <meyering@lucent.com>
89330
89331         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
89332         as it was in the original.  Reported by Paul Eggert.
89333
89334 2001-07-16  Jim Meyering  <meyering@lucent.com>
89335
89336         * m4/gettimeofday.m4: New file.
89337         Prompted by a report from Bernhard Baehr.
89338
89339 2001-07-15  Jim Meyering  <meyering@lucent.com>
89340
89341         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
89342         stuff. Now it's in ../Makefile.cfg.
89343
89344 2001-07-15  Jim Meyering  <meyering@lucent.com>
89345
89346         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
89347         (BUILT_SOURCES): Add unlocked-io.h.
89348         (io_functions): Define.
89349         (unlocked-io.h): New rule.
89350         (DISTCLEANFILES): Add unlocked-io.h.
89351         (all-local): Depend on unlocked-io.h, to ensure it is created.
89352
89353         * lib/unlocked-io.hin: New file
89354
89355         * lib/regex.c: Update from glibc.
89356
89357 2001-07-05  Jim Meyering  <meyering@lucent.com>
89358
89359         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
89360         recommendation.
89361         (libfetish_a_SOURCES): Put all .h files here instead.
89362         Remove a thus-exposed (better checks in automake) duplicate and
89363         two unnecessary .h files.
89364
89365 2001-07-04  Jim Meyering  <meyering@lucent.com>
89366
89367         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
89368         that generates jm-glibc-io.m4 so that it doesn't trigger any make
89369         distcheck failure.
89370
89371 2001-07-02  Jim Meyering  <meyering@lucent.com>
89372
89373         The following changes were prompted by suggestions from Bruno Haible.
89374
89375         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
89376         is now generated.
89377         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
89378         definition of EXTRA_DIST.
89379         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
89380         ensure that the generated file is created/updated whenever the list
89381         of $(unlocked_functions) is changed.
89382         (jm-glibc-io.m4): New rule.
89383         (unlocked-io.h): New rule -- currently unused.
89384
89385 2001-06-24  Jim Meyering  <meyering@lucent.com>
89386
89387         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
89388         unmatched right bracket, rather than kludging it with an extra,
89389         falsely-matching quote in a comment.  Patch by Akim Demaille.
89390
89391 2001-06-11  Jim Meyering  <meyering@lucent.com>
89392
89393         * lib/regex.c: Update from GNU libc.
89394
89395 2001-05-27  Jim Meyering  <meyering@lucent.com>
89396
89397         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
89398         Check for ut_type in struct utmp.
89399
89400 2001-05-27  Jim Meyering  <meyering@lucent.com>
89401
89402         * lib/readutmp.h (UT_TYPE): Define.
89403
89404 2001-05-24  Jim Meyering  <meyering@lucent.com>
89405
89406         * lib/argmatch.c: Include "quote.h".
89407         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
89408         quote function.  Reported by Göran Uddeborg.
89409
89410 2001-05-22  Jim Meyering  <meyering@lucent.com>
89411
89412         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
89413         now that we use the package-supplied version unconditionally.
89414         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
89415
89416 2001-05-21  Jim Meyering  <meyering@lucent.com>
89417
89418         * m4/regex.m4: Change a couple backticks to single quotes to avoid
89419         shell syntax errors.
89420
89421 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
89422
89423         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
89424
89425 2001-05-20  Paul Eggert  <eggert@twinsun.com>
89426
89427         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
89428         Don't bother to check library strftime, since
89429         we'll be using our own my_strftime function anyway.
89430         Define my_strftime instead of strftime.
89431
89432 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
89433
89434         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
89435         which is not yet declared.
89436
89437 2001-05-15  Jim Meyering  <meyering@lucent.com>
89438
89439         * m4/regex.m4: Use proper quoting so brackets appear in the test
89440         program.
89441         Reported by, and with help from, Bruno Haible.
89442
89443 2001-05-13  Jim Meyering  <meyering@lucent.com>
89444
89445         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
89446         undefined.
89447
89448 2001-05-11  Paul Eggert  <eggert@twinsun.com>
89449
89450         dirname code cleanup.  base_name now behaves more compatibly
89451         with POSIX basename when given file names that have trailing
89452         slashes, and similarly for dir_name.  Add new primitives
89453         base_len and dir_len.  Put the directory-name-related decls
89454         into dirname.h.
89455
89456         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
89457         * lib/backupfile.c (base_name): Likewise.
89458         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
89459         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
89460         * lib/makepath.c (strip_trailing_slashes): Likewise.
89461         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
89462         ISSLASH): Likewise.
89463         * lib/rename.c (strip_trailing_slashes): Likewise.
89464         * lib/same.c (base_name): Likewise.
89465         * lib/stripslash.c (ISSLASH): Likewise.
89466
89467         * lib/addext.c: Include <dirname.h> after size_t is defined.
89468         * lib/backupfile.c: Likewise.
89469
89470         * lib/addext.c (addext): Use base_len to trim redundant
89471         trailing slashes instead of doing it ourselves.
89472         But do not trim the last slash if it is not redundant.
89473
89474         * lib/backupfile.c (find_backup_file_name,
89475         max_backup_version): Use base_len instead of rolling it ourselves.
89476         Handle the case of "" and (on DOS) "C:" correctly.
89477
89478         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
89479         needed. Include <string.h>, <dirname.h>.
89480         (base_name): Allow file names ending in slashes, other than names
89481         that are all slashes.  In this case, return the basename followed
89482         by the slashes.  This is more general, and can be used in places
89483         where the original base_name purposely had an assertion failure.
89484         (base_len): New function.
89485
89486         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
89487         Do not include <assert.h>; no longer needed.
89488         Include xalloc.h.
89489         (memrchr): Remove decl.
89490         (dir_name_r): Remove.
89491         (dir_len): Renamed from dirlen.  All callers changed.
89492         Rewrite in terms of base_name, for simplicity and consistency.
89493         (dir_name): Never return NULL.  All callers changed.
89494         Do not include <stdlib.h> in test program; no longer needed.
89495         return 0; is fine for test program.
89496
89497         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
89498         New macros.
89499         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
89500
89501         * lib/path-concat.c (path_concat): Use base_len to compute
89502         base length, not strlen; this means we cannot rely on memcpy
89503         to null-terminate.
89504
89505         * lib/same.c (STREQ): Remove.
89506         (same_name): Handle the case where the basename ends in trailing '/'.
89507
89508         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
89509         a slash was stripped.  Do not strip the last slash after a
89510         file system prefix.
89511
89512 2001-05-11  Paul Eggert  <eggert@twinsun.com>
89513
89514         * lib/Makefile.am (libfetish_a_SOURCES):
89515         Add strftime.c, since we now compile it on all hosts.
89516
89517         * lib/strftime.c (my_strftime):
89518         Define to nstrftime if emacs, but only if my_strftime is not defined.
89519         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
89520         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
89521         Add one more extra argument: a nanoseconds value.
89522         All uses changed.
89523         (ns): New macro.
89524         (my_strftime function): Add %N format.
89525         (emacs_strftimeu): Renamed from emacs_strftime,
89526         with extra ut argument.
89527
89528 2001-05-09  Paul Eggert  <eggert@twinsun.com>
89529
89530         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
89531
89532 2001-04-21  Jim Meyering  <meyering@lucent.com>
89533
89534         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
89535         doesn't interfere.
89536
89537 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
89538
89539         * m4/ftruncate.m4: Check for chsize.
89540         Link with ftruncate.o unconditionally if ftruncate is missing.
89541         This was required when cross-compiling to i586-mingw32msvc.
89542
89543 2001-04-08  Jim Meyering  <meyering@lucent.com>
89544
89545         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
89546         recomputed; that's necessary when the offset spans a DST transition.
89547         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
89548
89549 2001-04-02  Jim Meyering  <meyering@lucent.com>
89550
89551         * lib/regex.h, regex.c: Update from GNU libc.
89552
89553 2001-03-24  Jim Meyering  <meyering@lucent.com>
89554
89555         * m4/jm-macros.m4: Require autoconf-2.49d.
89556
89557 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
89558
89559         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
89560
89561 2001-03-19  Paul Eggert  <eggert@twinsun.com>
89562
89563         * lib/version-etc.c (version_etc_copyright): Update to 2001.
89564
89565 2001-03-17  Jim Meyering  <meyering@lucent.com>
89566
89567         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
89568         now that the version in autoconf is equivalent.
89569         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
89570
89571         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
89572         Suggestion from Akim Demaille.
89573
89574         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
89575         (jm_PREREQ_TEMPNAME): New function.
89576
89577 2001-03-16  Paul Eggert  <eggert@twinsun.com>
89578
89579         * lib/tempname.c (uint64_t): Define to uintmax_t if
89580         not defined, and if UINT64_MAX is not defined.
89581         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
89582         Reported by John David Anglin.
89583
89584 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
89585
89586         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
89587         resolve alias if codeset is empty.
89588         * lib/config.charset (BeOS): Use wildcard syntax.
89589
89590 2001-03-13  Jim Meyering  <meyering@lucent.com>
89591
89592         * lib/path-concat.c (path_concat)
89593         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
89594         concatenating e.g., `C:' and `foo'.
89595         From Bruno Haible.
89596
89597 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
89598
89599         * lib/localcharset.c (locale_charset): Don't use
89600         setlocale(LC_CTYPE,NULL). Don't return NULL.
89601         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
89602
89603 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
89604
89605         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
89606         support for DOS/DJGPP.
89607
89608 2001-03-01  Paul Eggert  <eggert@twinsun.com>
89609
89610         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
89611         lacks mkstemp.  Compile our own tempname.c if we compile our own
89612         mkstemp.c, as mkstemp relies on tempname.
89613
89614 2001-03-01  Jim Meyering  <meyering@lucent.com>
89615
89616         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
89617         AH_VERBATIM really does output its argument verbatim.
89618
89619 2001-02-28  Paul Eggert  <eggert@twinsun.com>
89620
89621         * lib/Makefile.am (libfetish_a_SOURCES):
89622         Add dup-safer.c, fopen-safer.c.
89623         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
89624
89625         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
89626         * lib/unistd-safer.h: New files.
89627
89628 2001-02-25  Paul Eggert  <eggert@twinsun.com>
89629
89630         The mkstemp replacement is taken from glibc 2.2.2, with some
89631         portability fixes for use outside glibc, as follows:
89632
89633         * lib/tempname.c (struct_stat64): New macro.
89634         (direxists, __gen_tempname): Use it.
89635         This avoids a portability problem with Solaris 8.
89636
89637         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
89638         (<stddef.h>, <stdint.h>, <string.h>):
89639         Include only if STDC_HEADERS || _LIBC.
89640         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
89641         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
89642         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
89643         (__set_errno): Define this macro if <errno.h> doesn't.
89644         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
89645         Define these macros if <stdio.h> doesn't.
89646         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
89647         Define these macros if <sys/stat.h>
89648         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
89649         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
89650         __xstat64): Define if not _LIBC.
89651         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
89652         (__gen_tempname): Invoke gettimeofday only if
89653         HAVE_GETTIMEOFDAY || _LIBC;
89654         otherwise, fall back on plain "time".
89655         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
89656
89657         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
89658
89659         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
89660
89661 2001-02-18  Paul Eggert  <eggert@twinsun.com>
89662
89663         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
89664
89665 2001-02-17  Paul Eggert  <eggert@twinsun.com>
89666
89667         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
89668         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
89669         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
89670         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
89671
89672 2001-02-17  Paul Eggert  <eggert@twinsun.com>
89673
89674         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
89675         Remove workaround macros for hosts that have mbrtowc but not
89676         mbstate_t, as we now insist on proper declarations for both
89677         before using mbrtowc.
89678
89679 2001-02-17  Jim Meyering  <meyering@lucent.com>
89680
89681         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
89682         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
89683         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
89684         UnixWare 7.1.1.
89685
89686         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
89687         rather than AC_CACHE_VAL.
89688
89689 2001-02-17  Jim Meyering  <meyering@lucent.com>
89690
89691         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
89692         around included file name.
89693
89694         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
89695
89696         * lib/strftime.c: Update from GNU libc (the only changes were to
89697         comments).
89698
89699 2001-02-17  Jim Meyering  <meyering@lucent.com>
89700
89701         * lib/regex.c: Update from libc.
89702
89703 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
89704
89705         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
89706         clash.
89707
89708 2001-02-16  Paul Eggert  <eggert@twinsun.com>
89709
89710         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
89711         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
89712         Reported by Mark Hounschell via Paul Eggert.
89713
89714 2001-02-07  Jim Meyering  <meyering@lucent.com>
89715
89716         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
89717
89718 2001-02-05  Jim Meyering  <meyering@lucent.com>
89719
89720         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
89721         it includes the patch required for `large file' support with at least
89722         HP-UX's 10.20 /bin/cc.
89723
89724 2001-02-03  Jim Meyering  <meyering@lucent.com>
89725
89726         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
89727         AS_IF, now that it works once again (mysteriously).
89728         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
89729
89730 2001-01-30  Jim Meyering  <meyering@lucent.com>
89731
89732         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
89733         * m4/chown.m4: Rename conftestchown to conftest.chown.
89734         * m4/rename.m4: s/conftestdir/conftest.d1/ and
89735         s/conftestdir2/conftest.d2/.
89736         * m4/utimes.m4: s/conftestdata/conftest.data/
89737         Inspired by Pavel Roskin's change in autoconf.
89738
89739 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
89740
89741         * lib/config.charset: Update for FreeBSD 4.2.
89742
89743 2001-01-27  Jim Meyering  <meyering@lucent.com>
89744
89745         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
89746         a use of AS_IF.
89747         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
89748
89749 2001-01-26  Jim Meyering  <meyering@lucent.com>
89750
89751         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
89752         quotearg.c includes it.
89753
89754 2001-01-26  Jim Meyering  <meyering@lucent.com>
89755
89756         * lib/quotearg.c: Include stddef.h.
89757         * lib/quote.c: Include stddef.h.
89758         Reported by Axel Kittenberger.
89759
89760         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
89761         line in double quotes so that it evokes a better diagnostic.
89762         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
89763         Reported by Axel Kittenberger.
89764
89765 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
89766
89767         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
89768         as if it was a `charset'.
89769
89770 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
89771
89772         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
89773         has const.
89774
89775 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
89776
89777         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
89778         to avoid a warning.  Add back 'const' to inptr.
89779
89780 2001-01-20  Jim Meyering  <meyering@lucent.com>
89781
89782         Be sure that headers are checked before used in code compiled
89783         for the type checks.
89784         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
89785         In place of that, invoke jm_CHECK_ALL_TYPES.
89786         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
89787         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
89788         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
89789         The check for ssize_t was mistakenly run before the test for unistd.h.
89790
89791         The configure-time check for stdbool.h was missing.
89792         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
89793         (jm_PREREQ_HASH): New function.
89794
89795 2001-01-17  Jim Meyering  <meyering@lucent.com>
89796
89797         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
89798         for autoconf-2.49c.
89799         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
89800
89801 2001-01-16  Jim Meyering  <meyering@lucent.com>
89802
89803         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
89804         From Bruno Haible.
89805
89806 2001-01-14  Jim Meyering  <meyering@lucent.com>
89807
89808         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
89809         foo and bar.  Create conftestdir/ in the script, not in the C code.
89810         Remove directories in the script, not in the C code.
89811         Remove conftestdir{,2} before trying to create the directory.
89812         Make the entire configure script fail if the mkdir fails.
89813
89814 2001-01-14  Jim Meyering  <meyering@lucent.com>
89815
89816         * lib/rename.c: New file.  From Volker Borchert.
89817         Include stdlib.h, string.h or strings.h, and xalloc.h.
89818         Use strip_trailing_slashes rather than open-coding it.
89819
89820 2001-01-03  Paul Eggert  <eggert@twinsun.com>
89821
89822         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
89823
89824 2001-01-03  Jim Meyering  <meyering@lucent.com>
89825
89826         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
89827         of local `inptr' to avoid warning with some system declarations of
89828         iconv.
89829
89830 2001-01-02  Volker Borchert  <bt@teknon.de>
89831
89832         * m4/rename.m4: New file.
89833         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
89834
89835 2001-01-01  Jim Meyering  <meyering@lucent.com>
89836
89837         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
89838         even on systems with utmpx.h.  It's necessary for the declaration of
89839         utmp's ut_user member.  Reported by Andreas Jaeger.
89840
89841         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
89842         available. They are required for the declarations of getgrgid and
89843         getpwuid resp.
89844         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
89845         Reported by Andreas Jaeger.
89846
89847 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
89848
89849         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
89850         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
89851         so `make install' also works in VPATH builds.
89852
89853 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
89854
89855         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
89856         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
89857         can be used in subdirectories.
89858
89859 2000-12-29  Paul Eggert  <eggert@twinsun.com>
89860
89861         * lib/modechange.c: Do not assume that mode_t uses the
89862         traditional octal encoding.  E.g. "chmod 1 FOO" should set
89863         the other-execute bit of FOO even if S_IXOTH != 1.
89864
89865         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
89866         WOTH, XOTH, ALLM): New macros.
89867         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
89868          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
89869         Use them.
89870         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
89871         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
89872         (mode_compile):
89873         No need to use uintmax_t; unsigned long is long enough.
89874         Don't bother to get suffix since we don't use it.
89875
89876 2000-12-26  Jim Meyering  <meyering@lucent.com>
89877
89878         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
89879         better with autoheader.
89880
89881 2000-12-24  Jim Meyering  <meyering@lucent.com>
89882
89883         * lib/hash.c (is_prime): Return explicit boolean values.
89884         (hash_get_first): Return NULL to appease Irix5.6's 89.
89885         Reported by Nelson Beebe.
89886
89887 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
89888
89889         * lib/localcharset.c (locale_charset): Add support for Win32.
89890
89891 2000-12-18  Paul Eggert  <eggert@twinsun.com>
89892
89893         * lib/physmem.h, lib/physmem.c: New files.
89894
89895         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
89896         (noinst_HEADERS): Add physmem.h.
89897
89898         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
89899         't' for compatibility with Solaris 8 sort.
89900
89901 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
89902
89903         * lib/config.charset: Add support for BeOS.
89904
89905 2000-12-17  Jim Meyering  <meyering@lucent.com>
89906
89907         * m4/dos.m4 (jm_AC_DOS): New file and macro.
89908         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
89909
89910 2000-12-16  Jim Meyering  <meyering@lucent.com>
89911
89912         This bug had a serious impact on chown: `chown N:M FILE' (for integer
89913         N and M) would have treated it like `chown N:N FILE'.
89914
89915         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
89916
89917 2000-12-16  Jim Meyering  <meyering@lucent.com>
89918
89919         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
89920         SHELLS_FILE to a file name that's useful on djgpp systems.
89921         Include stdlib.h.
89922         (ADDITIONAL_DEFAULT_SHELLS): Define.
89923         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
89924         Based mostly on a patch from Prashant TR.
89925
89926 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
89927
89928         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
89929         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
89930         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
89931
89932 2000-12-08  Andreas Schwab  <schwab@suse.de>
89933
89934         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
89935         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
89936
89937 2000-12-07  Jim Meyering  <meyering@lucent.com>
89938
89939         * lib/stripslash.c (ISSLASH): Define.
89940         (strip_trailing_slashes): Use ISSLASH rather than comparing against
89941         `/'.
89942         From Prashant TR.
89943
89944         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
89945         (dir_name_r): Declare this function as static.
89946         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
89947         manifest itself on a name containing a mix of slashes and
89948         backslashes.
89949         Make this function work with names starting with a DOS-style
89950         drive letter and colon prefix.
89951         (dir_name): Append `.' if necessary.
89952         Based mostly on patches from Prashant TR and Eli Zaretskii.
89953
89954         * lib/dirname.h (dir_name_r): Remove prototype.
89955
89956 2000-12-06  Paul Eggert  <eggert@twinsun.com>
89957
89958         * m4/off_t-format.m4: Remove this file.
89959         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
89960
89961 2000-12-06  Jim Meyering  <meyering@lucent.com>
89962
89963         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
89964         replacement strtoull, we may well need the replacement strtoul, too.
89965         Check for declarations of strtoul and strtoull.
89966         Check for strtol.  Mainly as a cue to cause automake to include
89967         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
89968         Check for limits.h -- strtol.c needs it.
89969
89970 2000-12-05  Jim Meyering  <meyering@lucent.com>
89971
89972         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
89973
89974 2000-12-04  Jim Meyering  <meyering@lucent.com>
89975
89976         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
89977         Also include memory.h, stdlib.h, unistd.h if appropriate.
89978         Reported by Andreas Jaeger (conflicting declaration of malloc).
89979
89980 2000-12-02  Jim Meyering  <meyering@lucent.com>
89981
89982         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
89983         * m4/jm-macros.m4 (jm_MACROS): require it.
89984
89985 2000-12-02  Jim Meyering  <meyering@lucent.com>
89986
89987         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
89988
89989 2000-12-01  Paul Eggert  <eggert@twinsun.com>
89990
89991         * lib/memrchr.c: Include <config.h> before any system include file.
89992
89993 2000-11-30  Jim Meyering  <meyering@lucent.com>
89994
89995         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
89996
89997 2000-11-30  Jim Meyering  <meyering@lucent.com>
89998
89999         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
90000
90001 2000-11-29  Paul Eggert  <eggert@twinsun.com>
90002
90003         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
90004
90005 2000-11-26  Jim Meyering  <meyering@lucent.com>
90006
90007         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
90008
90009 2000-11-22  Paul Eggert  <eggert@twinsun.com>
90010
90011         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
90012         size of (size_t) -1; it's not portable.
90013
90014 2000-11-17  Jim Meyering  <meyering@lucent.com>
90015
90016         * lib/strstr.c: Update from GNU libc.
90017
90018 2000-11-17  Akim Demaille  <akim@epita.fr>
90019
90020         * lib/obstack.h: Formatting changes.
90021         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
90022         prevent type checking.
90023         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
90024         cast the value to (void *): assigning a `foo *' to a `void *'
90025         variable is valid.
90026         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
90027
90028 2000-11-16  Jim Meyering  <meyering@lucent.com>
90029
90030         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
90031
90032 2000-11-11  Jim Meyering  <meyering@lucent.com>
90033
90034         * lib/error.c: Add a couple #includes, merging from GNU libc version.
90035
90036 2000-11-10  Jim Meyering  <meyering@lucent.com>
90037
90038         * lib/obstack.h: Update from GNU libc.
90039         * lib/obstack.c: Likewise.
90040
90041 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
90042
90043         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
90044
90045 2000-11-06  Paul Eggert  <eggert@twinsun.com>
90046
90047         * lib/getusershell.c (setusershell): Use rewind rather than
90048         fseek/fseeko, to avoid configuration hassles with fseeko.
90049         Don't bother opening SHELLS_FILE if shellstream is NULL;
90050         it's not necessary.
90051
90052 2000-11-05  Jim Meyering  <meyering@lucent.com>
90053
90054         * lib/makepath.h (make_dir): Declare.
90055         * lib/makepath.c (make_dir): Remove `static' attribute.
90056         Tweak a comment.
90057
90058 2000-11-04  Jim Meyering  <meyering@lucent.com>
90059
90060         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
90061
90062 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
90063
90064         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
90065         last one in a bucket, advance to the next bucket.
90066
90067 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
90068
90069         * lib/fnmatch.c: Do not comment out all the code if we are using
90070         the GNU C library, because in some cases we are replacing buggy
90071         code in the GNU C library itself.
90072
90073 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
90074
90075         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
90076         (regex_compile): Catch bogus \(\1\).
90077
90078 2000-10-30  Paul Eggert  <eggert@twinsun.com>
90079
90080         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
90081         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
90082         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
90083
90084 2000-10-30  Paul Eggert  <eggert@twinsun.com>
90085
90086         * lib/error.h, getline.h, modechange.h:
90087         Remove "2000" from Copyright line, as the file hasn't been
90088         changed this year other than in the copyright notice.
90089
90090         * lib/xalloc.h: Add "2000" to Copyright line, as this file
90091         was changed this year.
90092
90093 2000-10-29  Jim Meyering  <meyering@lucent.com>
90094
90095         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
90096         renaming.
90097         * m4/ls-mntd-fs.m4: Likewise
90098
90099 2000-10-29  Jim Meyering  <meyering@lucent.com>
90100
90101         * lib/xstat.in: Fix grammar in comment.
90102
90103 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
90104
90105         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
90106         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
90107         doesn't define __restrict_arr.
90108
90109 2000-10-28  Jim Meyering  <meyering@lucent.com>
90110
90111         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
90112         (jm_PREREQ_MEMCHR): New function.
90113
90114 2000-10-28  Jim Meyering  <meyering@lucent.com>
90115
90116         * lib/memchr.c: Update from libc.
90117         Adjust for portability:
90118         [HAVE_STDLIB_H]: Include stdlib.h.
90119         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
90120         Undef __memchr, too.
90121         [!weak_alias]: Define __memchr to memchr.
90122
90123         * lib/regex.c: Update from libc.
90124         * lib/regex.h: Likewise.
90125         * lib/getopt1.c: Likewise.
90126         * lib/memcmp.c: Likewise.
90127
90128         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
90129         Avoid using fseek, when possible -- it's broken by design.
90130         Patch by Ulrich Drepper.
90131
90132 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
90133
90134         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
90135         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
90136         Giving in to popular pressure to shut up the compiler with casts.
90137
90138 2000-10-26  Jim Meyering  <meyering@lucent.com>
90139
90140         * lib/strftime.c: Update from libc.
90141
90142 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
90143
90144         * regex.c: More `unsigned char' -> `re_char' changes.
90145         Also change several `int' into `re_wchar_t'.
90146         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
90147         (PUSH_FAILURE_POINTER): Don't cast any more.
90148         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
90149         We want GCC to complain, since this piece of code makes
90150         re_match non-reentrant, which *should* be fixed.
90151         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
90152         (EXTEND_BUFFER): Use RETALLOC.
90153         (SET_LIST_BIT): Don't cast.
90154         (re_wchar_t): New type.
90155         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
90156         that those two functions will always properly return.
90157         (IMMEDIATE_QUIT_CHECK): Cast to void.
90158         (analyse_first): Use recursion rather than an explicit stack.
90159         (re_compile_fastmap): Can't fail anymore.
90160         (re_search_2): Don't check re_compile_fastmap for failure.
90161         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
90162         Now also sets the new value (passed in a new argument).
90163         (re_match_2_internal): Use it.
90164         Also, use a new var `reg' of type size_t when looping through regs
90165         rather than reuse the inappropriate `mcnt'.
90166
90167 2000-10-25  Jim Meyering  <meyering@lucent.com>
90168
90169         * lib/obstack.c: Update from libc.
90170
90171 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
90172
90173         * regex.c (regex_compile): Change the way of handling a range from
90174         a char less than 256 to a char not less than 256.
90175
90176 2000-10-24  Andrew Innes  <andrewi@gnu.org>
90177
90178         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
90179         NT-Emacs only.
90180         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
90181         so that re_search functions only quit when callers expect them to.
90182
90183 2000-10-23  Jim Meyering  <meyering@lucent.com>
90184
90185         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
90186         wrong.  That set_locale call must not have any side effects.
90187         From Paul Eggert.
90188
90189 2000-10-22  Jim Meyering  <meyering@lucent.com>
90190
90191         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
90192         [CYCLIC]: Remove now-unused definition.
90193
90194         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
90195         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
90196         Suggestion from Ulrich Drepper.
90197
90198 2000-10-21  Jim Meyering  <meyering@lucent.com>
90199
90200         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
90201         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
90202         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
90203
90204 2000-10-21  Jim Meyering  <meyering@lucent.com>
90205
90206         * lib/dirname.c (memrchr): Declare if necessary.
90207         (dir_name): Remove the restriction that there be no
90208         trailing slashes.  Now, this code skips past them, effectively
90209         ignoring them.
90210         [TEST_DIRNAME] (main): New unit tests.
90211
90212         * lib/memrchr.c: New file from GNU libc.
90213         Undef __memrchr, too.
90214         [!weak_alias]: Define __memrchr to memrchr.
90215         Guard weak_alias use with `#ifdef weak_alias'.
90216
90217 2000-10-21  Jim Meyering  <meyering@lucent.com>
90218
90219         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
90220         (dir_name): Use dir_name_r.
90221         * lib/dirname.h (dir_name_r): Declare it.
90222
90223 2000-10-17  Jim Meyering  <meyering@lucent.com>
90224
90225         * lib/quote.h (PARAMS): Define and use.
90226         Reported by Akim Demaille.
90227
90228         * lib/getopt.c: Update from libc.
90229
90230 2000-10-16  Jim Meyering  <meyering@lucent.com>
90231
90232         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
90233         setlocale.
90234         From Jan Fedak.
90235
90236 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
90237
90238         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
90239
90240 2000-09-25  Jim Meyering  <meyering@lucent.com>
90241
90242         * lib/md5.h (rol): Define (from GnuPG).
90243
90244         * lib/sha.c: Give credit (GnuPG) where due.
90245         (M): Use rol rather than open-coding it.
90246         Add a FIXME comment.
90247
90248 2000-09-21  Jim Meyering  <meyering@lucent.com>
90249
90250         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
90251         Reported by Michael Stone.
90252
90253 2000-09-20  Jim Meyering  <meyering@lucent.com>
90254
90255         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
90256         (noinst_HEADERS): Add sha.h.
90257         Based on code from Scott G. Miller and from GnuPG.
90258
90259 2000-09-18  Jim Meyering  <meyering@lucent.com>
90260
90261         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
90262         LIBS. Otherwise, everyone ends up linking with -lelf for some
90263         configurations.
90264         Reported by Mike Stone.
90265
90266 2000-09-15  Jim Meyering  <meyering@lucent.com>
90267
90268         * lib/regex.c: Update from libc.
90269
90270 2000-09-10  Jim Meyering  <meyering@lucent.com>
90271
90272         * lib/getopt.c (_getopt_internal): Update from glibc.
90273
90274 2000-09-09  Jim Meyering  <meyering@lucent.com>
90275
90276         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
90277         think it should be used as a general replacement for isascii.
90278         * lib/fnmatch.c: Likewise.
90279         * lib/mbswidth.c: Likewise
90280         * lib/regex.c: Likewise.
90281
90282         Don't use atoi.
90283         * lib/userspec.c: Include sys/param.h and limits.h.
90284         Include xstrtol.h.
90285         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
90286         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
90287         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
90288         UID, GID.  Check range.
90289
90290 2000-09-06  Jim Meyering  <meyering@lucent.com>
90291
90292         * lib/getopt.c (_getopt_internal): Update from glibc.
90293
90294 2000-08-30  Jim Meyering  <meyering@lucent.com>
90295
90296         * lib/strftime.c: Merge in changes from GNU libc.
90297
90298 2000-08-26  Jim Meyering  <meyering@lucent.com>
90299
90300         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
90301         * m4/fpending.m4: New file.
90302
90303 2000-08-26  Jim Meyering  <meyering@lucent.com>
90304
90305         * lib/closeout.c: Include "__fpending.h".
90306         (close_stdout_status): Return right away if there's nothing to flush.
90307
90308         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
90309         * lib/__fpending.c: New file.
90310         * lib/__fpending.h: New file.
90311
90312 2000-08-20  Jim Meyering  <meyering@lucent.com>
90313
90314         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
90315         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
90316         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
90317
90318 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
90319
90320         Improve fileutils installation on systems where running
90321         programs (like install) can't be unlinked.
90322         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
90323         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
90324
90325 2000-08-07  Paul Eggert  <eggert@twinsun.com>
90326
90327         Standardize on "memory exhausted" instead of "Memory exhausted"
90328         or "virtual memory exhausted".
90329         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
90330         "virtual memory exhausted".
90331         * lib/same.c (same_name): Invoke xalloc_die instead of printing
90332         our own message.
90333         * lib/userspec.c (parse_user_spec): Likewise.
90334         * lib/bumpalloc.h: comment fix
90335         * lib/same.c, userspec.c: Include xalloc.h.
90336
90337         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
90338         not char *const and pointing to a constant array.
90339         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
90340         (xrealloc): Comment fix.
90341
90342         * lib/userspec.c (parse_user_spec):
90343         Don't translate a message until just before returning,
90344         to avoid unnecessary translation.
90345
90346 2000-08-07  Jim Meyering  <meyering@lucent.com>
90347
90348         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
90349         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
90350         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
90351         getgroups.c, gethostname.c, getopt.h, group-member.c,
90352         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
90353         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
90354         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
90355         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
90356         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
90357         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
90358         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
90359         yesno.c: Back out Copyright date changes for each file with no change
90360         this year.  This eases coordination with other programs using the same
90361         source code modules.  From Paul Eggert.
90362
90363 2000-08-06  Paul Eggert  <eggert@twinsun.com>
90364
90365         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
90366         not char, for compatibility with glibc 2.1.3 strftime.c.
90367
90368 2000-08-03  Greg McGary  <greg@mcgary.org>
90369
90370         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
90371         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
90372         (EXTEND_BUFFER): Use them.
90373
90374 2000-08-01  Jim Meyering  <meyering@lucent.com>
90375
90376         * lib/dirname.c (ISSLASH): Define.
90377         (BACKSLASH_IS_PATH_SEPARATOR): Define.
90378         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
90379         both `\' and `/' may be use as path separators.
90380         Based on a patch from Prashant TR.
90381
90382 2000-07-31  Paul Eggert  <eggert@twinsun.com>
90383
90384         * lib/quotearg.c (quotearg_n_options): Don't make the initial
90385         slot vector a constant, since it might get modified.
90386
90387 2000-07-31  Jim Meyering  <meyering@lucent.com>
90388
90389         * lib/xmalloc.c: Use `virtual memory exhausted', not
90390         `Memory exhausted'.
90391         * lib/obstack.c (print_and_abort): Likewise.
90392
90393 2000-07-30  Paul Eggert  <eggert@twinsun.com>
90394
90395         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
90396         buffer, so that the caller can always quote one small
90397         component of a "memory exhausted" message in slot 0.
90398         From a suggestion by Jim Meyering.
90399
90400 2000-07-30  Jim Meyering  <meyering@lucent.com>
90401
90402         * lib/makepath.c (make_path): Quote the other instance, too.
90403
90404         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
90405         (STATIC_BUF_SIZE): Define.
90406         (quotearg_n_options): Use only statically allocated storage when
90407         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
90408         than STATIC_BUF_SIZE.
90409
90410 2000-07-29  Jim Meyering  <meyering@lucent.com>
90411
90412         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
90413         * lib/dirname.c (dir_name): Likewise.
90414
90415         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
90416         `/'.
90417
90418         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
90419         (dir_name): Assert that there are no trailing slashes.
90420
90421 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
90422
90423         * lib/mbswidth.h (mbswidth): Add a flags argument.
90424         (mbswidth): New declaration.
90425         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
90426         * lib/mbswidth.c (mbswidth): Add a flags argument.
90427         (mbsnwidth): New function.
90428
90429 2000-07-24  Jim Meyering  <meyering@lucent.com>
90430
90431         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
90432
90433 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90434
90435         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
90436
90437 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90438
90439         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
90440         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
90441         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
90442         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
90443         invoke multibyte primitives.
90444
90445 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90446
90447         * lib/quotearg.c:
90448         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
90449         so that mbstate_t is always defined.
90450
90451         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
90452         be 1 in at least one GCC installation, and this configuration
90453         error is likely to be common.  Ignoring MB_LEN_MAX hurts
90454         performance on hosts that have mbrtowc but have only unibyte
90455         locales, but I assume these hosts are rare.
90456
90457 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90458
90459         * lib/mbswidth.c (_XOPEN_SOURCE):
90460         Don't define; this causes problems on Solaris 7.
90461         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
90462
90463 2000-07-23  Jim Meyering  <meyering@lucent.com>
90464
90465         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
90466         too: getgrgid, getpwuid, getuid.
90467
90468 2000-07-23  Jim Meyering  <meyering@lucent.com>
90469
90470         * lib/basename.c (base_name): Add an assertion.
90471
90472 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
90473
90474         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
90475         shadow its mbsinit function.
90476
90477 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
90478
90479         * lib/mbswidth.h: New file.
90480         * lib/mbswidth.c: New file.
90481         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
90482         (noinst_HEADERS): Add mbswidth.h.
90483
90484 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
90485
90486         * lib/config.charset: Add support for FreeBSD. Improve support for
90487         HP-UX and IRIX 6.
90488
90489 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
90490
90491         * m4/mbswidth.m4: New file.
90492         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
90493
90494 2000-07-15  Jim Meyering  <meyering@lucent.com>
90495
90496         * lib/makepath.c: Include quote.h.
90497         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
90498         corresponding argument in a `quote (...)' call.
90499         Give better diagnostics.
90500
90501         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
90502         (noinst_HEADERS): Add quote.h.
90503
90504         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
90505         from tar's src/misc.c.
90506         * lib/quote.h: New file.  Prototypes for same.
90507
90508 2000-07-14  Paul Eggert  <eggert@twinsun.com>
90509
90510         From a suggestion by Bruno Haible.
90511         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
90512         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
90513         to decide whether to define the BeOS workaround macro;
90514         this adjusts to the change to AC_MBSTATE_T.
90515
90516 2000-07-14  Jim Meyering  <meyering@lucent.com>
90517
90518         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
90519         jm_AC_TYPE_UINTMAX_T.
90520
90521 2000-07-13  Paul Eggert  <eggert@twinsun.com>
90522
90523         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
90524
90525         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
90526         quotearg_buffer_restyled): Add support for
90527         clocale_quoting_style.  Undo previous change to
90528         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
90529         and "{RIGHT QUOTATION MARK}" msgids.
90530
90531 2000-07-10  Paul Eggert  <eggert@twinsun.com>
90532
90533         From a suggestion by Bruno Haible.
90534         * m4/mbstate_t.m4 (AC_MBSTATE_T):
90535         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
90536         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
90537         and mbstate_t, to a single-part test that simply defines mbstate_t.
90538         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
90539         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
90540
90541 2000-07-10  Jim Meyering  <meyering@lucent.com>
90542
90543         * m4/strerror_r.m4: Mirror the correction made in autoconf.
90544
90545         * m4/gnu-source.m4: Output to confdefs.h directly.
90546         Suggestion from Akim Demaille.
90547
90548 2000-07-09  Paul Eggert  <eggert@twinsun.com>
90549
90550         The old behavior of quoting `like this' doesn't look good with
90551         newer, ISO-style fonts.  See:
90552         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
90553
90554         Instead, quote "like this" by default.  Let the translator
90555         tailor the locale-specific quoting behavior by providing
90556         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
90557
90558         * lib/quotearg.c (N_): New macro.
90559         (gettext_default): New function.
90560         (quotearg_buffer_restyled): Use
90561         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
90562         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
90563
90564 2000-07-09  Jim Meyering  <meyering@lucent.com>
90565
90566         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
90567         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
90568
90569         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
90570         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
90571
90572 2000-07-09  Jim Meyering  <meyering@lucent.com>
90573
90574         * lib/Most files: Update copyright dates to include 2000.
90575
90576 2000-07-08  Jim Meyering  <meyering@lucent.com>
90577
90578         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
90579         if not defined.
90580         (xgethostname): Remove now-unnecessary #ifdef.
90581         Move declaration of `err' into loop where it's used.
90582
90583 2000-07-05  Paul Eggert  <eggert@twinsun.com>
90584         and Bruno Haible  <haible@clisp.cons.org>
90585
90586         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
90587         only if the test for an object-type mbstate_t fails.  This
90588         prevents us from mistakenly reporting that mbstate_t is a
90589         system object type after we "#define mbstate_t int" to work
90590         around its lack.
90591
90592 2000-07-05  Paul Eggert  <eggert@twinsun.com>
90593         and Bruno Haible  <haible@clisp.cons.org>
90594
90595         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
90596
90597 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
90598
90599         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
90600         to strerror_r.
90601         Include <ctype.h> for use of isalpha.
90602
90603 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
90604
90605         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
90606         by allocating a larger buffer. Test the gethostname return value for
90607         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
90608         returns an error and ENAMETOOLONG isn't defined.
90609
90610 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
90611
90612         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
90613         dimension.
90614
90615 2000-07-04  Jim Meyering  <meyering@lucent.com>
90616
90617         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
90618         of the deprecated AC_CHECKING.
90619
90620 2000-07-04  Jim Meyering  <meyering@lucent.com>
90621
90622         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
90623         Reported by Bruno Haible.
90624
90625 2000-07-04  Jim Meyering  <meyering@lucent.com>
90626
90627         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
90628         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
90629         lacks mbrtowc.
90630
90631 2000-07-03  Paul Eggert  <eggert@twinsun.com>
90632
90633         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
90634         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
90635
90636 2000-07-03  Paul Eggert  <eggert@twinsun.com>
90637         and Bruno Haible  <haible@clisp.cons.org>
90638
90639         * lib/quotearg.c (mbrtowc):
90640         Assign to *pwc, and return 1 only if result is nonzero.
90641         (iswprint): Use ISPRINT when substituting our own mbrtowc.
90642
90643 2000-07-03  Jim Meyering  <meyering@lucent.com>
90644
90645         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
90646
90647 2000-07-03  Jim Meyering  <meyering@lucent.com>
90648
90649         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
90650         This is necessary to get a definition of e.g., UTMP_FILE on
90651         HP-UX 10.20.
90652         From Bob Proulx.
90653
90654 2000-07-02  Jim Meyering  <meyering@lucent.com>
90655
90656         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
90657
90658         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
90659         AC_LIBOBJ(function_name).
90660         * m4/chown.m4: Likewise.
90661         * m4/fnmatch.m4: Likewise.
90662         * m4/ftruncate.m4: Likewise.
90663         * m4/getgroups.m4: Likewise.
90664         * m4/getline.m4: Likewise.
90665         * m4/group-member.m4: Likewise.
90666         * m4/jm-macros.m4: Likewise.
90667         * m4/lstat.m4: Likewise.
90668         * m4/malloc.m4: Likewise.
90669         * m4/memcmp.m4: Likewise.
90670         * m4/nanosleep.m4: Likewise.
90671         * m4/putenv.m4: Likewise.
90672         * m4/realloc.m4: Likewise.
90673         * m4/regex.m4: Likewise.
90674         * m4/stat.m4: Likewise.
90675         * m4/strftime.m4: Likewise.
90676
90677 2000-07-02  Jim Meyering  <meyering@lucent.com>
90678
90679         * lib/quotearg.c (mbstate_t): Don't define here.
90680
90681 2000-07-02  Jim Meyering  <meyering@lucent.com>
90682
90683         * lib/nanosleep.c (SIGCONT): Define if not already defined.
90684
90685 2000-07-01  Jim Meyering  <meyering@lucent.com>
90686
90687         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
90688
90689 2000-07-01  Jim Meyering  <meyering@lucent.com>
90690
90691         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
90692         problem.
90693
90694 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
90695
90696         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
90697         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
90698
90699 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
90700
90701         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
90702         per change in ../m4/ls-mntd-fs.m4.
90703         (read_filesystem_list): Ignore symbolic links.
90704
90705 2000-06-29  Jim Meyering  <meyering@lucent.com>
90706
90707         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
90708         for declaration of strcmp.
90709
90710         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
90711
90712         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
90713         Avoid warning by casting result to `char *' to remove `const'.
90714
90715 2000-06-28  Jim Meyering  <meyering@lucent.com>
90716
90717         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
90718         included by quotearg.c, for which we perform this test.  From
90719         Bruno Haible.
90720
90721 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
90722
90723         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
90724         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
90725         <utmpx.h> exists, put readutmp.o into LIBOBJS.
90726
90727 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
90728
90729         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
90730
90731 2000-06-26  Paul Eggert  <eggert@twinsun.com>
90732
90733         savedir now sets errno on failure and invokes xmalloc to get memory.
90734         Fix a couple of other minor bugs while we're at it.
90735
90736         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
90737         (NAMLEN): Remove macro.
90738         (malloc, realloc): Remove decls.
90739         (stpcpy): Likewise.
90740         ("xalloc.h"): Include.
90741         (NAME_SIZE_DEFAULT): New macro.
90742         (savedir): Use xmalloc / xrealloc to allocate memory.
90743         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
90744         Skip "" directory entries.
90745         Use strlen to calculate directory entry length, since the old method
90746         is rarely used these days and isn't worth supporting.
90747         Don't use a pointer after freeing it.
90748         Check for integer overflow when calculating allocation size.
90749         Use memcpy to copy entries, instead of stpcpy.
90750         Set errno properly when returning NULL.
90751         Check for readdir error.
90752
90753 2000-06-26  Jim Meyering  <meyering@lucent.com>
90754
90755         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
90756
90757 2000-06-25  Jim Meyering  <meyering@lucent.com>
90758
90759         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
90760         Linux header bug when _XOPEN_SOURCE is defined to 500.
90761
90762 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
90763
90764         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
90765         deficiency.
90766
90767 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
90768
90769         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
90770         Include xalloc.h.
90771         Don't include <stdlib.h>.  Don't declare malloc, realloc.
90772
90773 2000-06-24  Jim Meyering  <meyering@lucent.com>
90774
90775         * m4/strerror_r.m4: Revive this file -- to try out an experimental
90776         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
90777         for which strerror does return char*, but which lacks a conveniently
90778         accessible declaration of the function.  If the compile-test says
90779         strerror_r doesn't work, then resort to a `run'-test that works on
90780         BeOS and segfaults on DEC Unix.
90781
90782 2000-06-24  Jim Meyering  <meyering@lucent.com>
90783
90784         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
90785
90786 2000-06-23  Paul Eggert  <eggert@twinsun.com>
90787
90788         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
90789         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
90790
90791 2000-06-23  Paul Eggert  <eggert@twinsun.com>
90792
90793         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
90794         (mbrtowc, mbstate_t): Define substitutes if
90795         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
90796         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
90797         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
90798
90799 2000-06-23  Jim Meyering  <meyering@lucent.com>
90800
90801         * m4/afs.m4: Add missing AC_MSG_RESULT.
90802         Reported by Bruno Haible.
90803
90804         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
90805         Suggestion from Bruno Haible.
90806
90807 2000-06-23  Jim Meyering  <meyering@lucent.com>
90808
90809         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
90810
90811 2000-06-21  Jim Meyering  <meyering@lucent.com>
90812
90813         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
90814
90815 2000-06-21  Jim Meyering  <meyering@lucent.com>
90816
90817         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
90818         (noinst_HEADERS): Add getstr.h.
90819
90820         * lib/getline.c (getstr): Move into a separate file.
90821         * lib/getstr.c (getstr): New file, extracted from getline.c, with
90822         the following changes: new parameter, delim2; both delim[12]
90823         parameters have type `int', not `char'.  The latter would lose
90824         with 8-bit delimiters.
90825         * lib/getstr.h: New file.
90826
90827 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
90828
90829         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
90830         than 1024, return a memory chunk of least possible size, instead
90831         of size PATH_MAX + 2. In the loop, increment the size proportionally.
90832         Use free/xmalloc instead of xrealloc to avoid copying for very long
90833         paths.
90834
90835 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
90836
90837         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
90838         the empty string.
90839
90840 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
90841
90842         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
90843         address, not strdup.  Include <stdlib.h> and don't declare free().
90844
90845 2000-06-19  Jim Meyering  <meyering@lucent.com>
90846
90847         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
90848
90849 2000-06-18  Jim Meyering  <meyering@lucent.com>
90850
90851         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
90852
90853         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
90854         `checking whether...' message to be consistent with that of the
90855         lstat test.
90856
90857 2000-06-18  Jim Meyering  <meyering@lucent.com>
90858
90859         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
90860         Besides, these days every porting target provides a mkdir function.
90861
90862         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
90863         needed. (this snippet comes from src/system.h).
90864
90865 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
90866
90867         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
90868
90869 2000-06-15  Paul Eggert  <eggert@twinsun.com>
90870
90871         * lib/human.c (adjust_value): New function.
90872         (human_readable_inexact): Apply rounding style even when
90873         printing approximate values.
90874
90875 2000-06-14  Paul Eggert  <eggert@twinsun.com>
90876
90877         * lib/human.c (human_readable_inexact): Allow an input block
90878         size that is not a multiple of the output block size, and vice versa.
90879         Reported by Piergiorgio Sartor.
90880
90881 2000-06-14  Paul Eggert  <eggert@twinsun.com>
90882
90883         * lib/getdate.y (get_date): Apply relative times after time
90884         zone indicator, not before.  Reported by Todd A. Jacobs.
90885
90886 2000-06-13  Jim Meyering  <meyering@lucent.com>
90887
90888         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
90889
90890         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
90891
90892 2000-06-12  Paul Eggert  <eggert@twinsun.com>
90893
90894         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
90895
90896 2000-06-12  Jim Meyering  <meyering@lucent.com>
90897
90898         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
90899         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
90900         optional argument.
90901         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
90902         the optional argument, `lib'.
90903
90904 2000-06-08  Jim Meyering  <meyering@lucent.com>
90905
90906         * m4/largefile.m4: Remove file (now that it's part of autoconf).
90907
90908 2000-06-04  Paul Eggert  <eggert@twinsun.com>
90909
90910         Rewrite largefile configuration so that we don't need to run
90911         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
90912         AC_CANONICAL_HOST in configure.in -- jmm]
90913
90914         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
90915         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
90916         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
90917         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
90918         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
90919         All uses changed.
90920         Instead of inspecting the output of getconf, try to compile the
90921         test program without and with the macro definition.
90922         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
90923         for getconf.  Instead, check for the needed flags by compiling
90924         test programs.
90925
90926 2000-06-04  Paul Eggert  <eggert@twinsun.com>
90927
90928         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
90929
90930 2000-06-04  Jim Meyering  <meyering@lucent.com>
90931
90932         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
90933         SunOS 4.1.4 for which gid_t is an unsigned type.
90934
90935 2000-06-03  Jim Meyering  <meyering@lucent.com>
90936
90937         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
90938         now that autoconf requires that.
90939
90940         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
90941         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
90942         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
90943
90944 2000-06-03  Jim Meyering  <meyering@lucent.com>
90945
90946         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
90947
90948 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
90949
90950         * m4/glibc21.m4: New file.
90951         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
90952
90953 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
90954
90955         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
90956         newer, don't install charset.alias.
90957         * lib/config.charset: Change the Linux/glibc rules so they become empty
90958         on glibc-2.1 or newer.
90959
90960 2000-06-02  Jim Meyering  <meyering@lucent.com>
90961
90962         * lib/mountlist.c: Back out last change.  Instead, do this...
90963         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
90964         me_dummy member using the same `ignore'-testing code.
90965         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
90966         fs_type strings.
90967         From Mark D. Roth.
90968
90969 2000-05-29  Jim Meyering  <meyering@lucent.com>
90970
90971         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
90972         mounts with the `ignore' attribute.  Based on a patch from
90973         Mark D. Roth.
90974
90975 2000-05-28  Jim Meyering  <meyering@lucent.com>
90976
90977         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
90978         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
90979         * m4/stat.m4: Likewise.
90980         * m4/lstat.m4: Likewise.
90981         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
90982
90983         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
90984         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
90985
90986 2000-05-26  Jim Meyering  <meyering@lucent.com>
90987
90988         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
90989
90990 2000-05-24  Jim Meyering  <meyering@lucent.com>
90991
90992         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
90993         autoconf requires that.
90994         * m4/lib-check.m4: Likewise.
90995         * m4/jm-macros.m4: Likewise.
90996         * m4/strftime.m4: Likewise.
90997
90998         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
90999         AC_CHECK_DECLS, now that autoconf requires that.
91000
91001 2000-05-22  Jim Meyering  <meyering@lucent.com>
91002
91003         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
91004         * m4/lstat.m4: Likewise.
91005
91006 2000-05-22  Jim Meyering  <meyering@lucent.com>
91007
91008         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
91009
91010 2000-05-20  Jim Meyering  <meyering@lucent.com>
91011
91012         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
91013         (jm_PREREQ): Use it.
91014
91015 2000-05-18  Jim Meyering  <meyering@lucent.com>
91016
91017         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
91018         back, too, since it may have been modified by allocate_entry.
91019         (hash_delete): Rewrite to use neither the assignment operator
91020         nor the comma operator in an if-expression.
91021
91022 2000-05-15  Paul Eggert  <eggert@twinsun.com>
91023
91024         * lib/closeout.c:
91025         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
91026         Remove; no longer needed.
91027         "quotearg.h": Add include.
91028         (file_name): Do not bother to explicitly initialize to NULL; it's less
91029         efficient on some hosts.
91030         (close_stdout_status): Remove test as to whether stdout was already
91031         closed; it breaks for the case "echo x | sort >&-".
91032         Quote file name colons.
91033         Do not assume that _("write error") lacks format strings.
91034
91035 2000-05-15  Jim Meyering  <meyering@lucent.com>
91036
91037         * lib/version-etc.c (version_etc_copyright): Update the copyright
91038         string used in all --version output.
91039
91040 2000-05-14  Jim Meyering  <meyering@lucent.com>
91041
91042         * lib/closeout.c (close_stdout_set_file_name): New function.
91043         (close_stdout_status): Use new file-scoped global.
91044         Return right away if fstat says the stdout file descriptor is invalid.
91045         * lib/closeout.h (close_stdout_set_file_name): Declare.
91046
91047 2000-05-10  Jim Meyering  <meyering@lucent.com>
91048
91049         * lib/closeout.c [default_exit_status]: New file-scoped variable.
91050         (close_stdout_set_status): New function.
91051         * lib/closeout.h (close_stdout_set_status): Declare.
91052
91053 2000-05-09  Jim Meyering  <meyering@lucent.com>
91054
91055         * m4/gettext.m4: Rename this...
91056         * m4/libintl.m4: ...to this.
91057
91058 2000-05-08  Jim Meyering  <meyering@lucent.com>
91059
91060         * lib/long-options.c: Don't include closeout.h.
91061         (parse_long_options): Don't call close_stdout for --version.
91062
91063 2000-05-06  Paul Eggert  <eggert@twinsun.com>
91064
91065         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
91066         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
91067         2.1.3 bug.  This avoids a clash when files like regex.c define
91068         _GNU_SOURCE.
91069
91070 2000-05-06  Jim Meyering  <meyering@lucent.com>
91071
91072         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
91073         (AC_REPLACE_FUNCS): Add strnlen.
91074
91075         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
91076         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
91077
91078         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
91079         AC_SEARCH_LIBS call for nanosleep.
91080         (LIB_NANOSLEEP): Set and AC_SUBST.
91081
91082 2000-05-06  Jim Meyering  <meyering@lucent.com>
91083
91084         * lib/strnlen.c: Undefine __strnlen and strnlen.
91085         [!weak_alias]: Define __strnlen to strnlen.
91086
91087         * lib/atexit.c: New file, from libiberty.
91088
91089 2000-05-06  Jim Meyering  <meyering@lucent.com>
91090
91091         * lib/closeout.c (close_stdout_status): Also check for errors on the
91092         stderr stream.
91093
91094 2000-05-05  Jim Meyering  <meyering@lucent.com>
91095
91096         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
91097         AC_SEARCH_LIBS call for clock_gettime.
91098         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
91099
91100         * m4/search-libs.m4: Update from autoconf.
91101
91102         su doesn't work on Solaris 2.6.
91103         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
91104         <shadow.h>.  Reported by Dragos Harabor.
91105
91106 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
91107
91108         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
91109         memcpy instead of xmalloc, xrealloc, path_concat.
91110         (locale_charset): Treat empty environment variables as absent.
91111         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
91112
91113 2000-05-04  Jim Meyering  <meyering@lucent.com>
91114
91115         * lib/getopt.c: Update from glibc.
91116         * lib/obstack.c: Likewise.
91117         * lib/obstack.h: Likewise.
91118         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
91119         file
91120
91121         * lib/regex.h: Likewise.
91122         * lib/strndup.c: Likewise.
91123         * lib/strnlen.c: New file, from glibc.
91124
91125 2000-05-03  Jim Meyering  <meyering@lucent.com>
91126
91127         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
91128
91129 2000-05-02  Paul Eggert  <eggert@twinsun.com>
91130
91131         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
91132         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
91133         compile-time test, rather than inspecting host and OS, to
91134         decide whether to define _LARGEFILE_SOURCE.
91135
91136 2000-05-01  Jim Meyering  <meyering@lucent.com>
91137
91138         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
91139
91140         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
91141         Based on a patch from Bruno Haible.
91142
91143 2000-05-01  Jim Meyering  <meyering@lucent.com>
91144
91145         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
91146
91147 2000-04-29  Jim Meyering  <meyering@lucent.com>
91148
91149         * lib/path-concat.c: Declare strdup only if it's not defined.
91150         * lib/canon-host.c: Likewise.
91151
91152 2000-04-28  Jim Meyering  <meyering@lucent.com>
91153
91154         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
91155         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
91156         is included first, then limits.h is included by locale.h by libintl.h.
91157         From John David Anglin.
91158
91159 2000-04-25  Jim Meyering  <meyering@lucent.com>
91160
91161         * lib/makepath.c (S_IRWXUGO): Define.
91162         (make_path): Always perform explicit chmod if MODE specifies any
91163         of the `special' permission bits.  Prompted by a bug report against
91164         install from Mate Wierdl and Joost van Baal.
91165
91166 2000-04-18  Jim Meyering  <meyering@lucent.com>
91167
91168         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
91169         (jm_PREREQ): Use it.
91170
91171 2000-04-18  Jim Meyering  <meyering@lucent.com>
91172
91173         * lib/README: New file.
91174
91175         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
91176         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
91177
91178 2000-04-17  Jim Meyering  <meyering@lucent.com>
91179
91180         Get it right :-)
91181         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
91182         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
91183         Suggestion from Akim Demaille.
91184
91185 2000-04-17  Jim Meyering  <meyering@lucent.com>
91186
91187         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
91188         the definition of it to rpl_strftime also defined-away the system's
91189         declaration.
91190
91191 2000-04-15  Jim Meyering  <meyering@lucent.com>
91192
91193         Use `C' to denote so-called `contiguous' files, the same way
91194         that tar does.
91195         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
91196         (ftypelet): Use S_ISCTG.
91197         From Michael Deutschmann.
91198
91199 2000-04-14  Jim Meyering  <meyering@lucent.com>
91200
91201         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
91202         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
91203         clobbered.
91204
91205 2000-04-14  Jim Meyering  <meyering@lucent.com>
91206
91207         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
91208
91209 2000-04-13  Jim Meyering  <meyering@lucent.com>
91210
91211         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
91212         AH_VERBATIM to insert required #ifndef into config.h.in.
91213         Suggestion from Akim Demaille.
91214
91215 2000-04-12  Jim Meyering  <meyering@lucent.com>
91216
91217         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
91218         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
91219         Christian Krackowizer.
91220
91221         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
91222         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
91223         (AC_SYS_LARGEFILE): Require.
91224         (AM_C_PROTOTYPES): Require.
91225
91226 2000-04-08  Jim Meyering  <meyering@lucent.com>
91227
91228         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
91229         names don't conflict.  Reported by Eli Zaretskii.
91230
91231 2000-04-07  Jim Meyering  <meyering@lucent.com>
91232
91233         * lib/putenv.c: Move inclusion of errno.h so it follows that of
91234         sys/types.h, to work around system header problems on AIX 3.2.5.
91235         From Bruno Haible.
91236
91237 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
91238
91239         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
91240         bug.  Deal with the different error behavior of Irix iconv.
91241
91242 2000-04-05  Paul Eggert  <eggert@twinsun.com>
91243
91244         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
91245         IRIX if the installer said otherwise.
91246
91247 2000-04-05  Jim Meyering  <meyering@lucent.com>
91248
91249         Portability tweaks required for ultrix4.3.
91250         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
91251         (jm_CHECK_DECLS): Add getutent to the list of functions.
91252         (_jm_DECL_HEADERS): Add utmpx.h.
91253         From John David Anglin.
91254
91255         * m4/strftime.m4: Back out the 2000-04-02 change.
91256         Instead of that change, simply undefine putenv in the test program.
91257
91258 2000-04-05  Jim Meyering  <meyering@lucent.com>
91259
91260         Portability tweaks required for ultrix4.3.
91261         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
91262         getutent.
91263         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
91264         * lib/canon-host.c: Declare strdup.
91265         * lib/path-concat.c: Likewise.
91266         From John David Anglin.
91267
91268 2000-04-04  Jim Meyering  <meyering@lucent.com>
91269
91270         Be more DOS 8.3-friendly.
91271         * lib/ref-add.sin: Renamed from ref-add.sed.in.
91272         * lib/ref-del.sin: Renamed from ref-del.sed.in.
91273         * lib/Makefile.am: Reflect renaming.
91274         Reported by Eli Zaretskii.
91275
91276         Use a temporary file name that won't clash with `charset.alias'
91277         in the DOS 8.3 name space.
91278         * lib/Makefile.am (charset_tmp): Define.
91279         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
91280         (uninstall-local): Likewise.
91281         Reported by Eli Zaretskii.
91282
91283 2000-04-03  Jim Meyering  <meyering@lucent.com>
91284
91285         * m4/gettext.m4: Fix typo in comment.
91286
91287         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
91288         textutils/configure.in).  Suggestion from Paul Eggert.
91289         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
91290
91291 2000-04-02  Paul Eggert  <eggert@twinsun.com>
91292
91293         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
91294         variable in the shell rather than using putenv, which isn't
91295         portable.  This avoids the configure-time inter-test dependency
91296         on the potentially-renamed putenv function.
91297
91298 2000-03-30  Paul Eggert  <eggert@twinsun.com>
91299
91300         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
91301         before checking struct stat.st_blksize, so that
91302         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
91303
91304 2000-03-29  Paul Eggert  <eggert@twinsun.com>
91305
91306         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
91307         since strftime.c uses HAVE_STRFTIME to decide whether to use
91308         the underlying strftime.
91309
91310 2000-03-29  Paul Eggert  <eggert@twinsun.com>
91311
91312         * lib/time/strftime.c (my_strftime): Make sure we call the system
91313         strftime, not ourselves, when invoking the underlying strftime.
91314
91315 2000-03-24  Jim Meyering  <meyering@lucent.com>
91316
91317         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
91318         (charset_alias): Define.
91319         (install-exec-local): Factor out common code.
91320         (uninstall-local): Split lines longer than 80.
91321         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
91322         (SUFFIXES): Define.
91323         (.sed.in.sed): New rule.  Don't redirect directly to $@.
91324         (CLEANFILES): Add ref-add.sed and ref-del.sed.
91325
91326 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
91327
91328         * lib/config.charset: Output a line containing "Packages using this
91329         file".
91330         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
91331         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
91332         ref-del.sed): New rules.
91333
91334 2000-03-17  Jim Meyering  <meyering@lucent.com>
91335
91336         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
91337         Otherwise, include <strings.h>
91338
91339 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
91340
91341         * lib/unicodeio.c (utf8_wctomb): New function.
91342         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
91343         format instead of in UCS-4 with platform dependent endianness.
91344
91345 2000-03-10  Jim Meyering  <meyering@lucent.com>
91346
91347         * m4/lib-check.m4: Look for getspnam in -lgen, too.
91348         From Marco Franzen.
91349
91350 2000-03-07  Paul Eggert  <eggert@twinsun.com>
91351
91352         * lib/savedir.c (savedir): Work even if directory size is
91353         negative; this can happen with some screwy NFS configurations.
91354
91355 2000-03-06  Jim Meyering  <meyering@lucent.com>
91356
91357         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
91358         if it's NULL (because we ran out of memory).  From Bruno Haible.
91359
91360 2000-03-05  Jim Meyering  <meyering@lucent.com>
91361
91362         * lib/localcharset.c ("path-concat.h"): Include.
91363         (get_charset_aliases): Use path_concat instead of ANSI string
91364         concatenation.
91365
91366         * lib/unicodeio.h (PARAMS): Define.
91367         Use it to guard prototype.
91368
91369 2000-03-04  Jim Meyering  <meyering@lucent.com>
91370
91371         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
91372         for lib/localcharset.c.
91373
91374 2000-03-04  Jim Meyering  <meyering@lucent.com>
91375
91376         * lib/Makefile.am (install-exec-local): Create $(libdir) before
91377         installing into it.
91378         (uninstall-local): Uncomment this rule so `make distcheck' works
91379         once again.
91380
91381         * lib/unicodeio.c (<errno.h>): Include it.
91382         (errno): Declare if not defined.
91383
91384         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
91385
91386         * lib/config.charset: New version, incorporating remarks from a linux
91387         i18n mailing list.  From Bruno Haible.
91388
91389 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
91390
91391         * m4/codeset.m4: New file.
91392         * m4/iconv.m4: New file.
91393         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
91394
91395 2000-03-03  Jim Meyering  <meyering@lucent.com>
91396
91397         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
91398
91399 2000-03-02  Jim Meyering  <meyering@lucent.com>
91400
91401         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
91402         the messages come out on separate lines.
91403
91404         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
91405         rather than jm_CHECK_DECLARATIONS.
91406         * m4/decl.m4: Remove now-unused file.
91407
91408         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
91409         geteuid.
91410
91411 2000-03-02  Jim Meyering  <meyering@lucent.com>
91412
91413         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
91414
91415 2000-03-01  Jim Meyering  <meyering@lucent.com>
91416
91417         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
91418         * lib/unicodeio.c: Likewise.
91419
91420 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
91421
91422         * lib/config.charset: New file.
91423         * lib/localcharset.c: New file.
91424         * lib/unicodeio.h, lib/unicodeio.c: New files.
91425         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
91426         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
91427         (noinst_HEADERS): Add unicodeio.h.
91428         (all-local, install-exec-local, charset.alias): New targets.
91429
91430 2000-02-28  Paul Eggert  <eggert@twinsun.com>
91431
91432         * lib/quotearg.c (ALERT_CHAR): New macro.
91433         (quotearg_buffer_restyled): Use it.
91434
91435 2000-02-27  Jim Meyering  <meyering@lucent.com>
91436
91437         * m4/check-decl.m4: Add getenv to the list.
91438
91439 2000-02-27  Jim Meyering  <meyering@lucent.com>
91440
91441         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
91442         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
91443
91444         * lib/backupfile.c: Guard inclusion of stdlib.h with
91445         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
91446         Declare malloc if needed.
91447
91448         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
91449         `#ifndef HAVE_DECL..'
91450         now that autoconf always defines the HAVE_DECL_ symbols.
91451         * lib/human.c: Likewise.
91452         * lib/same.c: Likewise.
91453         * lib/strtoumax.c: Likewise.
91454
91455         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
91456         declaration check was not run.
91457         * lib/hash.c: Likewise.
91458         * lib/human.c: Likewise.
91459         * lib/same.c: Likewise.
91460         * lib/strtoumax.c: Likewise.
91461
91462         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
91463         `.', then first look up the entire `.'-containing string as a login
91464         name.
91465
91466 2000-02-23  Jim Meyering  <meyering@lucent.com>
91467
91468         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
91469         in place of my hack.
91470
91471 2000-02-18  Paul Eggert  <eggert@twinsun.com>
91472
91473         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
91474         (textint): New typedef.
91475         (parser_control): Member year changed from int to textint.
91476         All uses changed.
91477         (YYSTYPE): Removed; replaced by %union with int and textint members.
91478         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
91479         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
91480         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
91481         (tSNUMBER, tUNUMBER): Now of type <textintval>.
91482         (date, number, to_year): Use width of number in digits, not its value,
91483         to determine whether it's a 2-digit year, or a 2-digit time.
91484         (yylex): Store number of digits of numeric tokens.
91485         Reported by John Kendall.
91486
91487         (parser_control): Changed from struct parser_control to typedef (for
91488         consistency).  All uses changed.
91489
91490         (tID): Removed; not used.
91491         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
91492
91493 2000-02-14  Paul Eggert  <eggert@twinsun.com>
91494
91495         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
91496         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
91497
91498 2000-02-12  Jim Meyering  <meyering@lucent.com>
91499
91500         * lib/userspec.c (ISDIGIT): Define it.
91501         (isdigit): Remove definition.
91502         (is_number): Use ISDIGIT, not isdigit.
91503         <libintl.h>: Include.
91504         (_ and N_): Define.
91505         (parse_user_spec): Mark translatable strings.
91506
91507 2000-02-10  Jim Meyering  <meyering@lucent.com>
91508
91509         With these changes, nanosleep.[ch] are finally enough like the other
91510         lib/* replacement files to compile on a few more losing systems.
91511
91512         * lib/nanosleep.h: Don't include config.h.
91513         Remove prototype from declaration of nanosleep.
91514         (PARAMS): Remove now-unneeded definition.
91515         * lib/nanosleep.c: #undef nanosleep.
91516         (rpl_nanosleep): Rename from nanosleep.
91517
91518 2000-02-10  Jim Meyering  <meyering@lucent.com>
91519
91520         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
91521         gnu_nanosleep to rpl_nanosleep.
91522
91523 2000-02-09  Jim Meyering  <meyering@lucent.com>
91524
91525         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
91526         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
91527
91528 2000-02-08  Akim Demaille  <akim@epita.fr>
91529
91530         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
91531         `[' and `]' and remove uses of `changequote'.
91532         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
91533         (AC_SYS_LARGEFILE): Likewise.
91534         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
91535         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
91536         of changequote.
91537         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
91538         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
91539         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
91540         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
91541
91542 2000-02-05  Jim Meyering  <meyering@lucent.com>
91543
91544         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
91545         Remove explicit use of AC_HEADER_TIME.  It is required by
91546         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
91547         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
91548         in autoconf whereby the expansion of the latter ended up preceding
91549         the expansion of its prerequisite, AC_HEADER_TIME.
91550         Reported by Volker Borchert.
91551
91552 2000-02-03  Jim Meyering  <meyering@lucent.com>
91553
91554         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
91555
91556 2000-02-03  Jim Meyering  <meyering@lucent.com>
91557
91558         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
91559         rather than with `#if HAVE_UTMPNAME'.
91560
91561 2000-02-02  Jim Meyering  <meyering@lucent.com>
91562
91563         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
91564         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
91565         Reported by Eli Zaretskii.
91566
91567 2000-02-01  Jim Meyering  <meyering@lucent.com>
91568
91569         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
91570
91571 2000-01-31  Jim Meyering  <meyering@lucent.com>
91572
91573         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
91574         functions.  Add the time.h and sys/time.h headers along with the
91575         AC_REQUIRE'ment of AC_HEADER_TIME.
91576
91577 2000-01-31  Jim Meyering  <meyering@lucent.com>
91578
91579         * lib/nanosleep.h (nanosleep): Guard declaration with
91580         `#if ! HAVE_DECL_NANOSLEEP'.
91581         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
91582         the declaration in that vendor's sys/timers.h.
91583         Reported by Christian Krackowizer.
91584
91585         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
91586         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
91587         (ISPRINT): Likewise.
91588         Reported by Tom Tromey.
91589
91590 2000-01-30  Jim Meyering  <meyering@lucent.com>
91591
91592         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
91593
91594         * m4/prereq.m4 (utmp_includes): Define.
91595         Check for ut_user and ut_name members in both struct utmpx
91596         and struct utmp.
91597
91598 2000-01-30  Jim Meyering  <meyering@lucent.com>
91599
91600         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
91601         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
91602         header files where only utmpx.ut_user is declared.
91603
91604         * lib/readutmp.h (UT_USER): Define.
91605
91606 2000-01-29  Jim Meyering  <meyering@lucent.com>
91607
91608         * m4/lib-check.m4: New file containing library-related checks from
91609         fileutils and sh-utils (textutils had none).
91610
91611 2000-01-28  Jim Meyering  <meyering@lucent.com>
91612
91613         * m4/perl.m4: Change format of warning message to look more like that
91614         from the missing script.  Suggestion from François Pinard.
91615
91616 2000-01-25  Jim Meyering  <meyering@lucent.com>
91617
91618         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
91619         well as time.h in the compile check.
91620         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
91621         Fix typo in cross-compiling case: s/yes/no/.
91622
91623 2000-01-23  Jim Meyering  <meyering@lucent.com>
91624
91625         * m4/jm-macros.m4: Move df-related tests here from
91626         fileutils/configure.in
91627
91628         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
91629         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
91630
91631         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
91632         s/space/ac_fsusage_space/.
91633         (jm_FILE_SYSTEM_USAGE): Take two parameters.
91634
91635         * m4/ftruncate.m4: New file (derived from part of
91636         fileutils/configure.in).
91637         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
91638         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
91639
91640         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
91641         AC_SUBST these here, rather than just in sh-util/configure.in, so
91642         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
91643         all the same.
91644         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
91645         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
91646         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
91647         (AC_SUBST(POW_LIBM)): Likewise.
91648         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
91649
91650 2000-01-23  Jim Meyering  <meyering@lucent.com>
91651
91652         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
91653         obstack.c.
91654
91655 2000-01-22  Jim Meyering  <meyering@lucent.com>
91656
91657         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
91658
91659         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
91660
91661         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
91662         configure.in
91663         (AC_CHECK_HEADERS): Likewise for sh-utils.
91664         (AC_CHECK_HEADERS): Likewise for textutils.
91665         Merge the three lists of headers.
91666
91667         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
91668         from fileutils' configure.in.
91669
91670         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
91671         code. Moved tests into their own function (_jm_DECL_HEADERS) in
91672         check-decl.m4.
91673
91674         * m4/check-decl.m4: Use #if rather than #ifdef.
91675         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
91676         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
91677         (_jm_DECL_HEADERS): Define new function.
91678         (jm_CHECK_DECLARATIONS): Require it.
91679
91680 2000-01-22  Jim Meyering  <meyering@lucent.com>
91681
91682         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
91683         [! HAVE_DECL_STRTOULL]: Declare strtoull.
91684         Required for some AIX systems.  Reported by Christian Krackowizer.
91685         [TESTING] (main): New function.
91686
91687         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
91688         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
91689         letters.
91690
91691         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
91692         iswprint.
91693
91694         * lib/strverscmp.c (ISDIGIT): Define.
91695         (strverscmp): Use ISDIGIT, not isdigit.
91696
91697 2000-01-19  Jim Meyering  <meyering@lucent.com>
91698
91699         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
91700         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
91701         defines `struct timespec' in <sys/time.h>
91702
91703         * m4/c-bs-a.m4: Remove uses of changequote altogether.
91704         Thanks to Akim for explaining.
91705
91706 2000-01-17  Paul Eggert  <eggert@twinsun.com>
91707
91708         * lib/nanosleep.c (nanosleep):
91709         Don't use SA_INTERRUPT to decide whether to call sigaction, as
91710         POSIX.1 doesn't require SA_INTERRUPT and some systems
91711         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
91712         it's been part of POSIX.1 since day 1 (in 1988).
91713
91714 2000-01-17  Jim Meyering  <meyering@lucent.com>
91715
91716         * lib/interlock: Remove unused file.  Reported by François Pinard.
91717
91718 2000-01-16  Paul Eggert  <eggert@twinsun.com>
91719
91720         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
91721         alert, backslash, formfeed, and vertical tab unnecessarily in
91722         shell quoting style.
91723
91724 2000-01-16  Jim Meyering  <meyering@lucent.com>
91725
91726         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
91727         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
91728         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
91729         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
91730
91731 2000-01-16  Jim Meyering  <meyering@lucent.com>
91732
91733         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
91734         because the latter didn't work.
91735
91736 2000-01-15  Jim Meyering  <meyering@lucent.com>
91737
91738         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
91739         (AC_REPLACE_FUNCS): Add memcpy and memset.
91740         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
91741         Add strpbrk.
91742         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
91743
91744 2000-01-12  Jim Meyering  <meyering@lucent.com>
91745
91746         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
91747         (jm_PREREQ): Use it.
91748         (jm_PREREQ_READUTMP): New macro.
91749         (jm_PREREQ): Use it.
91750
91751 2000-01-11  Paul Eggert  <eggert@twinsun.com>
91752
91753         Quote multibyte characters correctly.
91754         * m4/c-bs-a.m4: New file.
91755         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
91756         (jm_PREREQ): Use it.
91757
91758 2000-01-11  Paul Eggert  <eggert@twinsun.com>
91759
91760         * m4/uintmax_t.m4: Port to autoconf 2.13.
91761
91762 2000-01-08  Jim Meyering  <meyering@ascend.com>
91763
91764         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
91765         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
91766
91767 2000-01-04  Jim Meyering  <meyering@ascend.com>
91768
91769         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
91770         jm_STRUCT_DIRENT_D_TYPE.
91771         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
91772         jm_STRUCT_DIRENT_D_INO.
91773         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
91774         jm_STRUCT_UTIMBUF.
91775         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
91776         renamings.
91777         * m4/utime.m4: Likewise.
91778
91779         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
91780         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
91781
91782 2000-01-03  Paul Eggert  <eggert@twinsun.com>
91783
91784         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
91785         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
91786
91787 2000-01-02  Jim Meyering  <meyering@ascend.com>
91788
91789         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
91790         remember if this is necessary.
91791
91792 1999-12-26  Jim Meyering  <meyering@ascend.com>
91793
91794         * m4/jm-macros.m4: Use it here.
91795         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
91796
91797 1999-12-23  Jim Meyering  <meyering@ascend.com>
91798
91799         * m4/jm-macros.m4: Check for clock_gettime (moved from
91800         fileutils/configure.in)
91801         Check for gettimeofday.
91802
91803 1999-12-20  Jim Meyering  <meyering@ascend.com>
91804
91805         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
91806         autoconf-2.14a-1999-12-20.
91807
91808 1999-12-19  Jim Meyering  <meyering@ascend.com>
91809
91810         * m4/lstat-slash.m4: New file.
91811         * m4/jm-macros.m4: Use the new macro:
91812         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
91813
91814 1999-12-07  Jim Meyering  <meyering@ascend.com>
91815
91816         * m4/perl.m4: Require that File::Compare be available, too.
91817         Too many systems seem to lack it.
91818
91819         * m4/strftime.m4: Add checks for most of the cpp macros tested in
91820         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
91821
91822 1999-11-18  Paul Eggert  <eggert@twinsun.com>
91823
91824         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
91825         problem with the QNX 4.25 shell, which doesn't propagate exit
91826         status of failed commands inside shell assignments.
91827
91828 1999-11-17  Jim Meyering  <meyering@ascend.com>
91829
91830         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
91831
91832 1999-11-07  Jim Meyering  <meyering@ascend.com>
91833
91834         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
91835
91836 1999-11-06  Jim Meyering  <meyering@ascend.com>
91837
91838         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
91839         * m4/jm-macros.m4 (jm_MACROS): Use it here.
91840
91841 1999-11-05  Jim Meyering  <meyering@ascend.com>
91842
91843         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
91844         configure.in of textutils, fileutils, and sh-utils into this one
91845         (shared between those packages) file.
91846         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
91847         AC_STRUCT_ST_BLKSIZE.
91848
91849 1999-11-03  Jim Meyering  <meyering@ascend.com>
91850
91851         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
91852         of AC_CHECK_TYPE checks includes unistd.h.
91853         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
91854         Suggestion from Akim Demaille.
91855
91856 1999-10-30  Jim Meyering  <meyering@ascend.com>
91857
91858         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
91859         m4-quoted string.
91860         * m4/ls-mntd-fs.m4: Likewise.
91861         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
91862         * m4/jm-winsz1.m4: Likewise.
91863
91864         * m4/const.m4: Remove file, since the fix made it into the experimental
91865         version of autoconf.
91866         * m4/mktime.m4: Likewise.
91867
91868         * m4/check-type.m4: Remove file, now that the latest version of
91869         AC_CHECK_TYPE takes a third arg to specify additional #includes.
91870
91871         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
91872         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
91873         AC_CHECK_TYPE.
91874
91875 1999-10-04  Jim Meyering  <meyering@ascend.com>
91876
91877         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
91878
91879 1999-09-22  Paul Eggert  <eggert@twinsun.com>
91880
91881         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
91882         2.95.1 bug with HP-UX 10.20.
91883
91884 1999-09-17  Jim Meyering  <meyering@ascend.com>
91885
91886         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
91887         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
91888         due to missing strdup (against sh-utils-2.0).
91889
91890 1999-08-29  Jim Meyering  <meyering@ascend.com>
91891
91892         * m4/jm-macros.m4: Require jm_BISON.
91893         * m4/bison.m4: New file.
91894
91895 1999-08-17  Paul Eggert  <eggert@twinsun.com>
91896
91897         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
91898         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
91899
91900 1999-08-05  Jim Meyering  <meyering@ascend.com>
91901
91902         * m4/getline.m4: Rename test file from conftestdata to conftest.data
91903         to avoid conflicts with `conftest' on 8+3 filesystems.
91904         Suggestion from Eli Zaretskii.
91905
91906 1999-08-04  Jim Meyering  <meyering@ascend.com>
91907
91908         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
91909         fileutils and sh-utils (textutils's getline test was inadequate).
91910         (AM_FUNC_GETLINE): Run this test.
91911         (AC_CHECK_FUNCS): Check for getdelim.
91912         Reported by Bob Proulx.
91913
91914 1999-08-02  Jim Meyering  <meyering@ascend.com>
91915
91916         * m4/jm-macros.m4: Add a comment.
91917
91918 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91919
91920         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
91921         <inttypes.h> defines strtoumax as a macro (and not as a
91922         function).
91923
91924 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91925
91926         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
91927         that we can shift, multiply and divide unsigned long long
91928         values; Ultrix cc can't do it.
91929
91930 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91931
91932         * m4/mktime.m4: New file, which is a preview of what should appear
91933         in the next public autoconf release.
91934
91935 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91936
91937         * m4/lfs.m4: Remove this file.
91938         * m4/largefile.m4: New file.  It contains the old contents of
91939         lfs.m4, except that all names with prefix AC_LFS have been
91940         changed to use the prefix AC_SYS_LARGEFILE instead, to be
91941         compatible with future autoconf versions.  Also, some minor m4
91942         quoting problems have been fixed.
91943
91944 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91945
91946         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
91947         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
91948         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
91949         and simplify the shell code.
91950
91951 1999-08-01  Jim Meyering  <meyering@ascend.com>
91952
91953         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
91954         m4.
91955
91956 1999-07-20  Jim Meyering  <meyering@ascend.com>
91957
91958         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
91959
91960 1999-07-15  Jim Meyering  <meyering@ascend.com>
91961
91962         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
91963
91964 1999-05-22  Jim Meyering  <meyering@ascend.com>
91965
91966         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
91967
91968 1999-05-20  Jim Meyering  <meyering@ascend.com>
91969
91970         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
91971         Add a colon after each `then' in case $4 is empty.
91972
91973 1999-05-16  Jim Meyering  <meyering@ascend.com>
91974
91975         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
91976
91977 1999-05-10  Jim Meyering  <meyering@ascend.com>
91978
91979         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
91980
91981         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
91982         AC_FUNC_MKTIME.
91983
91984 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
91985
91986         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
91987
91988 1999-05-04  Paul Eggert  <eggert@twinsun.com>
91989
91990         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
91991         not CPPFLAGS, so that linking works correctly in IRIX.
91992
91993 1999-04-30  Paul Eggert  <eggert@twinsun.com>
91994
91995         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
91996
91997 1999-04-20  Paul Eggert  <eggert@twinsun.com>
91998
91999         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
92000         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
92001         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
92002         jm_AC_TYPE_UNSIGNED_LONG_LONG.
92003         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
92004
92005         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
92006
92007 1999-04-20  Jim Meyering  <meyering@ascend.com>
92008
92009         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
92010         AC_REPLACE xstroull if necessary.  From Paul Eggert.
92011         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
92012
92013 1999-04-18  Jim Meyering  <meyering@ascend.com>
92014
92015         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
92016         * m4/jm-macros.m4: Use it.
92017
92018 1999-04-06  Jim Meyering  <meyering@ascend.com>
92019
92020         * m4/strftime.m4: Remove test for %f.
92021
92022 1999-03-29  Jim Meyering  <meyering@ascend.com>
92023
92024         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
92025         superset of the AC_TYPE_* checks in the textutils, fileutils,
92026         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
92027         AC_TYPE_PID_T.
92028
92029 1999-03-28  Jim Meyering  <meyering@ascend.com>
92030
92031         * m4/jm-macros.m4: Define GNU_PACKAGE here.
92032         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
92033         replaced e.g., in the *.sh files of the sh-utils.
92034
92035 1999-03-20  Jim Meyering  <meyering@ascend.com>
92036
92037         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
92038         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
92039         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
92040
92041 1999-03-19  Jim Meyering  <meyering@ascend.com>
92042
92043         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
92044
92045 1999-03-12  Jim Meyering  <meyering@ascend.com>
92046
92047         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
92048
92049 1999-03-07  Jim Meyering  <meyering@ascend.com>
92050
92051         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
92052         declared.
92053
92054 1999-02-17  Jim Meyering  <meyering@ascend.com>
92055
92056         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
92057         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
92058
92059 1999-02-07  Jim Meyering  <meyering@ascend.com>
92060
92061         * m4/group-member.m4: New file -- extracted from sh-utils'
92062         configure.in.
92063
92064         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
92065         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
92066
92067 1999-02-06  Jim Meyering  <meyering@ascend.com>
92068
92069         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
92070         * m4/fnmatch.m4: Likewise.
92071         * m4/getgroups.m4: Likewise.
92072         * m4/lstat.m4: Likewise.
92073         * m4/malloc.m4: Likewise.
92074         * m4/putenv.m4: Likewise.
92075         * m4/realloc.m4: Likewise.
92076         * m4/regex.m4: Likewise.
92077         * m4/stat.m4: Likewise.
92078         * m4/strftime.m4: Likewise.
92079         Suggestion from Alain Magloire.
92080
92081         * m4/chown.m4: Use `.$ac_objext', not `.o'.
92082         * m4/fnmatch.m4: Likewise.
92083         * m4/getgroups.m4: Likewise.
92084         * m4/getline.m4: Likewise.
92085         * m4/lstat.m4: Likewise.
92086         * m4/malloc.m4: Likewise.
92087         * m4/memcmp.m4: Likewise.
92088         * m4/putenv.m4: Likewise.
92089         * m4/realloc.m4: Likewise.
92090         * m4/regex.m4: Likewise.
92091         * m4/stat.m4: Likewise.
92092         * m4/strftime.m4: Likewise.
92093         Suggestion from Alain Magloire.
92094
92095         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
92096         an argument.
92097
92098         * m4/regex.m4: Add a run-time Test for proper operation of
92099         re_compile_pattern.
92100
92101 1999-01-31  Jim Meyering  <meyering@ascend.com>
92102
92103         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
92104
92105 1999-01-30  Jim Meyering  <meyering@ascend.com>
92106
92107         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
92108
92109         * m4/jm-mktime.m4: Make this a wrapper around the official
92110         AM_FUNC_MKTIME rather than my private copy, now that the official one
92111         is up to date.
92112         * m4/mktime.m4: Remove file.
92113
92114         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
92115         * m4/uptime.m4: Likewise.
92116         * m4/uintmax_t.m4: Likewise.
92117
92118 1999-01-28  Jim Meyering  <meyering@ascend.com>
92119
92120         * m4/jm-macros.m4: Use jm_AFS.
92121         * m4/afs.m4: New file (from fileutils' configure.in).
92122
92123         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
92124         * m4/chown.m4: Likewise.
92125         * m4/d-ino.m4: Likewise.
92126         * m4/d-type.m4: Likewise.
92127         * m4/fnmatch.m4: Likewise.
92128         * m4/getgroups.m4: Likewise.
92129         * m4/gettext.m4: Likewise.
92130         * m4/jm-mktime.m4: Likewise.
92131         * m4/jm-winsz2.m4: Likewise.
92132         * m4/lcmessage.m4: Likewise.
92133         * m4/ls-mntd-fs.m4: Likewise.
92134         * m4/malloc.m4: Likewise.
92135         * m4/memcmp.m4: Likewise.
92136         * m4/putenv.m4: Likewise.
92137         * m4/realloc.m4: Likewise.
92138         * m4/st_mtim.m4: Likewise.
92139         * m4/strftime.m4: Likewise.
92140
92141 1999-01-16  Jim Meyering  <meyering@ascend.com>
92142
92143         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
92144         (ARGMATCH_DIE_DECL): Define.
92145
92146 1999-01-12  Jim Meyering  <meyering@ascend.com>
92147
92148         * m4/Makefile.am.in: Rewrite to avoid using fmt.
92149         Reported by Lars Hecking.
92150
92151 1999-01-10  Jim Meyering  <meyering@ascend.com>
92152
92153         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
92154         gross kludge.
92155         * m4/inttypes_h.m4: Likewise.
92156         * m4/lstat.m4: Likewise.
92157         * m4/malloc.m4: Likewise.
92158         * m4/readdir.m4: Likewise.
92159         * m4/realloc.m4: Likewise.
92160         * m4/st_dm_mode.m4: Likewise.
92161         * m4/stat.m4: Likewise.
92162         * m4/utimbuf.m4: Likewise.
92163         * m4/utimes.m4: Likewise.
92164
92165         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
92166         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
92167         comments in config.h.in are meaningful.
92168
92169         * m4/jm-macros.m4: Require autoconf-2.13 here.
92170
92171         * m4/regex.m4: By default, don't use the included regex.c on systems
92172         with glibc 2.  Suggestion from Uli Drepper.
92173
92174 1999-01-02  Jim Meyering  <meyering@ascend.com>
92175
92176         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
92177
92178 1998-12-18  Jim Meyering  <meyering@ascend.com>
92179
92180         * m4/Makefile.am.in (Makefile.am): Simplify rule.
92181         Based on a suggestion from Lars Hecking.
92182
92183 1998-11-16  Paul Eggert  <eggert@twinsun.com>
92184
92185         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
92186
92187 1998-11-16  Jim Meyering  <meyering@ascend.com>
92188
92189         * m4/lfs.m4: Double-quote the `uname...` expression.
92190
92191 1998-11-14  Jim Meyering  <meyering@ascend.com>
92192
92193         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
92194         * m4/stat.m4: Likewise.
92195
92196 1998-11-03  Jim Meyering  <meyering@ascend.com>
92197
92198         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
92199         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
92200
92201 1998-10-18  Jim Meyering  <meyering@ascend.com>
92202
92203         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
92204
92205 1998-10-17  Jim Meyering  <meyering@ascend.com>
92206
92207         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
92208         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
92209         calls for those previously hard-coded headers.  Instead, take a new
92210         parameter.
92211         (jm_CHECK_DECLARATIONS): Reflect interface change.
92212         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
92213         (jm_CHECK_DECL_LOCALTIME_R): New macro.
92214
92215         * m4/mktime.m4: Test for spring-forward gap before long-running test.
92216
92217 1998-10-14  Jim Meyering  <meyering@ascend.com>
92218
92219         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
92220         instead of "TZ=America/Vancouver".  From Paul Eggert.
92221
92222 1998-10-11  Jim Meyering  <meyering@ascend.com>
92223
92224         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
92225         This adds a test for a recently added compatibility fix for mktime.c.
92226         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
92227
92228 1998-09-27  Jim Meyering  <meyering@ascend.com>
92229
92230         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
92231
92232         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
92233         ../configure.in, including a change from Gordon Matzigkeit to allow
92234         cross-compiling for the Hurd.
92235
92236         * m4/glibc.m4: New file/macro to test for the GNU C Library
92237         versions 1 and 2.  From Gordon Matzigkeit.
92238         Indent.
92239
92240 1998-09-21  Jim Meyering  <meyering@ascend.com>
92241
92242         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
92243
92244 1998-08-18  Paul Eggert  <eggert@twinsun.com>
92245
92246         Port nanosecond-resolution times to UnixWare 2.1.2 and
92247         pedantic Solaris 2.6.
92248
92249         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
92250         AC_STRUCT_ST_MTIM.
92251         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
92252         Generate name of ns member, instead of just 1 or undef.
92253         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
92254
92255 1998-08-15  Jim Meyering  <meyering@ascend.com>
92256
92257         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
92258         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
92259         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
92260         instead of jm_TYPE_SSIZE_T.
92261
92262 1998-08-12  Jim Meyering  <meyering@ascend.com>
92263
92264         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
92265
92266 1998-08-02  Jim Meyering  <meyering@ascend.com>
92267
92268         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
92269         in acconfig.h manually.
92270
92271 1998-07-31  Paul Eggert  <eggert@twinsun.com>
92272
92273         * m4/st_mtim.m4: New file.
92274
92275 1998-07-28  Jim Meyering  <meyering@ascend.com>
92276
92277         * m4/utimes.m4: Undef stat.
92278
92279 1998-07-25  Jim Meyering  <meyering@ascend.com>
92280
92281         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
92282         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
92283
92284 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
92285
92286         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
92287         uid and gid actually remain unchanged.
92288
92289 1998-07-07  Jim Meyering  <meyering@ascend.com>
92290
92291         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
92292
92293 1998-07-04  Jim Meyering  <meyering@ascend.com>
92294
92295         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
92296         to prove that this macro can be used in packages without regex.c.
92297
92298 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
92299
92300         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
92301         is to be used.
92302
92303 1998-07-03  Jim Meyering  <meyering@ascend.com>
92304
92305         * m4/gettext.m4: Add -lintl if it's found to be necessary.
92306
92307         * m4/gettext.m4: New file -- from gettext-0.10.35.
92308         * m4/lcmessage.m4: Likewise.
92309         * m4/progtest.m4: Likewise.
92310
92311         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
92312         * m4/jm-macros.m4: Require the new macro.
92313
92314 1998-06-29  Jim Meyering  <meyering@ascend.com>
92315
92316         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
92317         for the definition of NGROUPS (used in a system header included
92318         by sys/mount.h).
92319
92320 1998-06-28  Jim Meyering  <meyering@ascend.com>
92321
92322         * m4/ls-mntd-fs.m4: New file.
92323         * m4/fstypename.m4: New file.
92324
92325         * m4/jm-macros.m4: Require the new macro.
92326         * m4/jm-glibc-io.m4: New file.
92327
92328 1998-05-19  Jim Meyering  <meyering@ascend.com>
92329
92330         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
92331         * m4/lchown.m4: New file.
92332
92333         * m4/Makefile.am.in: New file.
92334         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
92335
92336 1998-05-14  Jim Meyering  <meyering@ascend.com>
92337
92338         * m4/Makefile.am (EXTRA_DIST): Add them.
92339         * m4/jm-macros.m4: New file.
92340         * m4/utimbuf.m4: New file.
92341
92342 1998-05-12  Jim Meyering  <meyering@ascend.com>
92343
92344         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
92345
92346 1998-05-11  Jim Meyering  <meyering@ascend.com>
92347
92348         * m4/isc-posix.m4: New file.
92349
92350 1998-05-10  Jim Meyering  <meyering@ascend.com>
92351
92352         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
92353
92354 1998-05-09  Jim Meyering  <meyering@ascend.com>
92355
92356         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
92357         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
92358         with automake.
92359
92360         * m4/ssize_t.m4: New file.
92361         * m4/mktime.m4: Remove file -- the new automake has this now.
92362
92363 1998-04-26  Jim Meyering  <meyering@ascend.com>
92364
92365         * m4/assert.m4: New file.
92366         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
92367
92368 1998-04-05  Jim Meyering  <meyering@ascend.com>
92369
92370         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
92371         (jm_PREREQ): Use it here.
92372
92373 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
92374
92375         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
92376         in acconfig.h.
92377
92378 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
92379
92380         * m4/prereq.m4: New file.
92381         * m4/error.m4: New file.
92382         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
92383
92384 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
92385
92386         * m4/getline.m4: Don't set am_cv_func_working_getline before the
92387         cache-check for the same variable -- that defeated the purpose of
92388         the test; the test program was never run.  This was a problem only
92389         on systems with losing getline functions -- HP-UX 10.20 is one.
92390         Reported by Bjorn Helgaas.
92391
92392 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
92393
92394         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
92395
92396 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
92397
92398         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
92399
92400         * m4/const.m4: New file.  Use an initializer in this declaration
92401         typedef int charset[2]; const charset x;
92402         Reported by Bob Glickstein.
92403
92404 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
92405
92406         * m4/chown.m4: Fix reversed types on -1 args to chown.
92407         From Kaveh Ghazi.
92408
92409 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
92410
92411         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
92412         Add lseek and memchr.
92413
92414         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
92415         T.E.Dickey <dickey@clark.net> said that some older preprocessors
92416         have a 20-character limit on names.
92417
92418 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
92419
92420         * m4/inttypes_h.m4: New file.
92421         * m4/uintmax_t.m4: New file.
92422         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
92423
92424
92425         -----
92426
92427         Local Variables:
92428         coding: utf-8
92429         End:
92430
92431         Copyright (C) 1997-2012 Free Software Foundation, Inc.
92432
92433         Copying and distribution of this file, with or without
92434         modification, are permitted provided the copyright notice
92435         and this notice are preserved.